System and method for modifying media streams using metadata
AssigneeTiVo Inc.
InventorTodd Stiers
Life of this patent
Estimating the term…
Abstract
Real-time metadata tracks recorded to media streams allow search and analysis operations in a variety of contexts. Search queries can be performed using information in real-time metadata tracks such as closed captioning, sub-title, statistical tracks, miscellaneous data tracks. Media streams can also be augmented with additional tracks. The metadata tracks not only allow efficient searching and indexing, but also allow insertion of content specific advertising during appropriate portions of a media stream based on the content of the metadata tracks.
Claims20
A method comprising:
- selecting, a content server among a plurality of content servers, the content server being geographically close to a mobile device;
- establishing, a media streaming session between the content server and the mobile device;
- obtaining device information from the mobile device by the content server;
- streaming a media stream from the content server to the mobile device using RTP (Real Time Transport Protocol) protocol, the media stream including a video track, an audio track, and a metadata track;
- analyzing metadata content of the media stream;
- indexing metadata content in the metadata track to allow for later retrieval of the metadata content and corresponding video content in the video track, wherein the indexing is performed via entering the metadata content into a search engine;
- selecting targeted advertising for the media stream, wherein the advertising is maintained in a database;
- modifying, by the content server, the media stream using the device information to include selected advertising, wherein modifying includes:
- maintaining a current sequence number for the media stream,
- removing RTP packets with sequence numbers subsequent to the current sequence number from the media stream,
- inserting new RTP packets with modified sequence numbers subsequent to the current sequence number, the new RTP packets corresponding to the selected advertising being inserted into the media stream;
- updating sequence numbers of original RTP packets of the media stream that are transmitted to the device after transmitting the inserted new RTP packets, the modified sequence numbers of the original RTP packets being subsequent to the updated sequence numbers of the new RTP packets;
- and
- transmitting the modified media stream to the mobile device.
A system comprising:
- a database configured to maintain advertising;
- a content server connected to the database, the content server being geographically close to a mobile device, the content server configured to:
- obtain device information from the mobile device;
- stream a media stream to the mobile device using RTP (Real Time Transport Protocol) protocol, the media stream including a video track, an audio track, and a metadata track;
- analyze metadata content of the media stream;
- index metadata content in the metadata track to allow for later retrieval of the metadata content and corresponding video content in the video track, wherein the indexing is performed via entering the metadata content into a search engine;
- select targeted advertising for the media stream, wherein the advertising is maintained in a database;
- modify the media stream using the device information to include selected advertising, wherein modifying includes:
- maintaining a current sequence number for the media stream,
- removing RTP packets with sequence numbers subsequent to the current sequence number from the media stream,
- inserting new RTP packets with modified sequence numbers subsequent to the current sequence number, the new RTP packets corresponding to the selected advertising being inserted into the media stream;
- updating sequence numbers of original RTP packets of the media stream that are transmitted to the device after transmitting the inserted new RTP packets, the modified sequence numbers of the original RTP packets being subsequent to the updated sequence numbers of the new RTP packets;
- and
- transmit the modified media stream to the mobile device.
A non-transitory computer readable medium comprising instructions to execute a method, the method comprising:
- selecting, a content server among a plurality of content servers, the content server being geographically close to a mobile device;
- establishing, a media streaming session between the content server and the mobile device;
- obtaining device information from the mobile device by the content server;
- streaming a media stream from the content server to the mobile device using RTP (Real Time Transport Protocol) protocol, the media stream including a video track, an audio track, and a metadata track;
- analyzing metadata content of the media stream;
- indexing metadata content in the metadata track to allow for later retrieval of the metadata content and corresponding video content in the video track, wherein the indexing is performed via entering the metadata content into a search engine;
- selecting targeted advertising for the media stream, wherein the advertising is maintained in a database;
- modifying, by the content server, the media stream using the device information to include selected advertising, wherein modifying includes:
- maintaining a current sequence number for the media stream,
- removing RTP packets with sequence numbers subsequent to the current sequence number from the media stream,
- inserting new RTP packets with modified sequence numbers subsequent to the current sequence number, the new RTP packets corresponding to the selected advertising being inserted into the media stream;
- updating sequence numbers of original RTP packets of the media stream that are transmitted to the device after transmitting the inserted new RTP packets, the modified sequence numbers of the original RTP packets being subsequent to the updated sequence numbers of the new RTP packets;
- and
- transmitting the modified media stream to the mobile device.
Dependencies are inferred from the claim text.