Method and apparatus for a virtual online video channel
First Claim
1. A method for playback of a virtual online linear video channel, comprising:
- in response to establishing a connection between a manifest server and a video player, requesting a manifest file from at least one content delivery network;
receiving the manifest file from the at least one content delivery network;
generating a per-user manifest file in the manifest server, wherein the per-user manifest file is generated based on the manifest file and a session identifier generated by the manifest server, wherein the session identifier identifies the connection between the manifest server and the video player;
providing, by the manifest server, the per-user manifest file based on the received manifest file, the per-user manifest file corresponding to a schedule for the virtual online linear video channel, wherein the virtual online linear video channel includes a plurality of video sources and each of the plurality of video sources is selected to distribute a video stream for at least a portion of the schedule, wherein the per-user manifest file identifies the selected video source from which the video stream is distributed at each portion of the schedule, wherein the per-user manifest file identifies a first location of a first playlist for a first live video stream of the plurality of video sources and a second location of a second playlist for a second live video stream of the plurality of video resources, wherein the first live video stream is provided by a first live stream channel, and wherein the second live video stream is provided by a second live stream channel; and
in response to receiving a request to play the virtual online linear video channel from a video player;
generating an encryption key based on the session identifier;
encrypting the per-user manifest file using the encryption key prior to transmitting the per-user manifest file to the video player; and
transmitting the per-user manifest file to the video player, the per-user manifest file identifying the plurality of video sources that provide a plurality of video streams to be retrieved by the video player, the retrieved video streams are to be decoded by the video player to produce the virtual online linear video channel, which is then presented to a user of the video player.
2 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method for providing a virtual online live video channel is disclosed. The virtual video channel is generated without requiring a dedicated content provider and encoder for the channel. A schedule server stores a schedule for the virtual online live video channel, and the schedule may include one or more of live streaming video content, stored video content, and advertising. A video player establishes communication with a manifest server and requests playback of the video channel. The manifest server generates a per-user manifest file corresponding to the schedule of the video channel and delivers the per-user manifest file to the video player. The video player may then retrieve the desired video content from the content delivery network to produce the virtual online video channel.
-
Citations
18 Claims
-
1. A method for playback of a virtual online linear video channel, comprising:
-
in response to establishing a connection between a manifest server and a video player, requesting a manifest file from at least one content delivery network; receiving the manifest file from the at least one content delivery network; generating a per-user manifest file in the manifest server, wherein the per-user manifest file is generated based on the manifest file and a session identifier generated by the manifest server, wherein the session identifier identifies the connection between the manifest server and the video player; providing, by the manifest server, the per-user manifest file based on the received manifest file, the per-user manifest file corresponding to a schedule for the virtual online linear video channel, wherein the virtual online linear video channel includes a plurality of video sources and each of the plurality of video sources is selected to distribute a video stream for at least a portion of the schedule, wherein the per-user manifest file identifies the selected video source from which the video stream is distributed at each portion of the schedule, wherein the per-user manifest file identifies a first location of a first playlist for a first live video stream of the plurality of video sources and a second location of a second playlist for a second live video stream of the plurality of video resources, wherein the first live video stream is provided by a first live stream channel, and wherein the second live video stream is provided by a second live stream channel; and in response to receiving a request to play the virtual online linear video channel from a video player; generating an encryption key based on the session identifier; encrypting the per-user manifest file using the encryption key prior to transmitting the per-user manifest file to the video player; and transmitting the per-user manifest file to the video player, the per-user manifest file identifying the plurality of video sources that provide a plurality of video streams to be retrieved by the video player, the retrieved video streams are to be decoded by the video player to produce the virtual online linear video channel, which is then presented to a user of the video player. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for providing a virtual online linear video channel, comprising:
a channel scheduler operative to; receive a plurality of selections from a user interface, wherein each selection identifies a video source and a time for receiving the video source and wherein the plurality of selections identify at least two video sources, generate a schedule for a video channel corresponding to the plurality of selections, and store the schedule for the virtual online linear video channel; and
a manifest server, operative to;receive a request to play the virtual online linear video channel from a video player, obtain the schedule for the virtual online linear video channel from the channel scheduler, in response to establishing a connection between the manifest server and the video player, request a manifest file from at least one content delivery network; receive the manifest file from the at least one content delivery network; provide, based on the received manifest file, a per-user manifest file corresponding to the schedule, wherein the per-user manifest file identifies a first location of a first playlist for a first live video stream of the at least two video sources and a second location of a second playlist for a second live video stream of the at least two video resources, wherein the first live video stream is provided by a first live stream channel, wherein the second live video stream is provided by a second live stream channel, wherein the per-user manifest file is generated based on the manifest file and a session identifier generated by the manifest server, and wherein the session identifier identifies the connection between the manifest server and the video player; generate an encryption key based on the session identifier; encrypt the per-user manifest file using the encryption key prior to delivering the per-user manifest file to the video player; and deliver the per-user manifest file to the video player, the per-user manifest file identifying the plurality of video sources that provide a plurality of video streams to be retrieved by the video player, the retrieved video streams are to be decoded by the video player to produce the virtual online linear video channel, which is then presented to a user of the video player. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
15. A method for playback of a virtual online linear video channel, comprising:
-
selecting a video channel for playback on a video player; transmitting an indication of the selected video channel to a manifest server from the video player; and receiving at the video player a per-user manifest file from the manifest server, wherein; the per-user manifest file is generated by the manifest server based on a manifest file received from at least one content delivery network to correspond to a schedule of the selected video channel, the manifest file is received by the manifest server in response to establishing a connection between the manifest server and the video player, the schedule for the video channel identifies a plurality of video sources and each of the plurality of video sources is distributed on the video channel for at least a portion of the schedule, the per-user manifest file identifies one of the plurality of video sources from which a video stream will be provided to the video player for each portion of the schedule, the per-user manifest file identifies a first location of a first playlist for a first live video stream of the plurality of video sources and a second location of a second playlist for a second live video stream of the plurality of video resources, wherein the first live video stream is provided by a first live stream channel, wherein the second live video stream is provided by a second live stream channel, wherein the per-user manifest file is generated based on the manifest file and a session identifier generated by the manifest server, and wherein the session identifier identifies the connection between the manifest server and the video player, the per-user manifest file is encrypted using an encryption key, the encryption key generated based on the session identifier, and the per-user manifest file identifies the plurality of video sources that provide a plurality of video streams to be retrieved by the video player, the retrieved video streams are to be decoded by the video player to produce the virtual online linear video channel, which is then presented to a user of the video player. - View Dependent Claims (16, 17, 18)
-
Specification