System and method for selective insertion of content into streaming media
First Claim
1. A method for server side insertion of content into streaming media including the steps ofproviding a streaming server;
- associating an insertion plugin with the streaming server;
generating a command which includes indicia for locating content desired by a user and indicia for locating a source for content to be inserted; and
removing and replacing by the insertion plugin, in response to a signal associated with the content desired by the user, packets of content to be inserted for packets of the content desired by the user without requiring a re-buffering between the packets of content to be inserted and the content desired by the user; and
adjusting the time of at least one packet of content to be inserted to match the time of at least one substituted packet of content desired by the user,wherein the substituting step is carried out an edge server.
17 Assignments
0 Petitions
Accused Products
Abstract
Method and system for server side insertion of rich content into a media stream uses an insertion plugin to redirect users'"'"' requests for streaming media through a server, and operates on either live broadcasts or on demand playlists. The live broadcast identifies impending local interrupt breaks and seamlessly inserts content chosen to match user attributes. The on demand implementation broadcasts a playlist of encoded content including predetermined file content and additional rich content inserted based on user attributes as selected by a decision engine. The insertion of content can be performed on already encoded media. In one embodiment, time matching is performed to avoid rebuffering.
-
Citations
13 Claims
-
1. A method for server side insertion of content into streaming media including the steps of
providing a streaming server; -
associating an insertion plugin with the streaming server; generating a command which includes indicia for locating content desired by a user and indicia for locating a source for content to be inserted; and removing and replacing by the insertion plugin, in response to a signal associated with the content desired by the user, packets of content to be inserted for packets of the content desired by the user without requiring a re-buffering between the packets of content to be inserted and the content desired by the user; and adjusting the time of at least one packet of content to be inserted to match the time of at least one substituted packet of content desired by the user, wherein the substituting step is carried out an edge server. - View Dependent Claims (2, 7, 8, 9, 13)
-
-
3. A method for matching the timing of content inserted into a data stream with breaks in the data stream comprising:
-
prefetching the content to be inserted into the data stream; storing the prefetched content on a local server; identifying a starting point for a break in the data stream; establishing an offset between the starting point of the break and an initial packet of the prefetched content, the offset being subtracted from a timestamp associated with the initial packet of the prefetched content; removing from the data stream packets corresponding to a length of the break; inserting the prefetched packets into the data stream to replace the removed packets without requiring a re-buffering between the prefetched packets and the data stream; and adjusting the time of at least one inserted packet to match the time of at least one removed packet, wherein the establishing and inserting steps are carried out at an edge server. - View Dependent Claims (4, 5, 6)
-
-
10. A system for inserting content into streaming media comprising
a streaming server for receiving content in the form of streaming media and passing it to a client; -
an insertion plugin associated with the streaming server for redirecting the streaming media and capable of recognizing an impending break in a media stream, wherein the insertion plugin is located at a server side; a source of content to be inserted proximate to the streaming server; a decision server responsive to the impending break in the media stream for directing the insertion of content from the source of content to be inserted into the media stream for substantially the duration of the break, wherein data packets of the content received from the streaming server that corresponds to a length of the break are removed and are replaced by the content to be inserted by the insertion plugin without requiring a re-buffering between the media stream and the content to be inserted; and a schedule engine providing an interface between the insertion plugin and the decision server for making a request to the decision server, receiving and parsing a playlist file from the decision server, and downloading content associated with the playlist file. - View Dependent Claims (11, 12)
-
Specification