System and method for modifying media streams using metadata
First Claim
Patent Images
1. A method comprising:
- selecting, via a controller, a content server among a plurality of content servers, the content server being geographically close to a mobile device, wherein the controller is configured to perform session management using RTSP (Real Time Streaming Protocol) protocol such that streaming functions, performed by the content server, and session management functions, performed by the controller, are separated, wherein the controller establishes the sessions directly with mobile devices, instead of the content server connecting directly with mobile devices, such that more mobile devices can operate simultaneously while being directly connected with the controller than if the mobile devices were directly connected to the content servers;
establishing, via the controller, 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 using closed captioning contents in the metadata track, 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.
5 Assignments
0 Petitions
Accused Products
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.
-
Citations
20 Claims
-
1. A method comprising:
-
selecting, via a controller, a content server among a plurality of content servers, the content server being geographically close to a mobile device, wherein the controller is configured to perform session management using RTSP (Real Time Streaming Protocol) protocol such that streaming functions, performed by the content server, and session management functions, performed by the controller, are separated, wherein the controller establishes the sessions directly with mobile devices, instead of the content server connecting directly with mobile devices, such that more mobile devices can operate simultaneously while being directly connected with the controller than if the mobile devices were directly connected to the content servers; establishing, via the controller, 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 using closed captioning contents in the metadata track, 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
a database configured to maintain advertising; a controller configured to; select a content server among a plurality of content servers, the content server being geographically close to a mobile device, perform session management using RTSP (Real Time Streaming Protocol) protocol such that streaming functions, performed by the content server, and session management functions, performed by the controller, are separated, wherein the controller establishes the sessions directly with mobile devices, instead of the content server connecting directly with mobile devices, such that more mobile devices can operate simultaneously while being directly connected with the controller than if the mobile devices were directly connected to the content servers; and establish a media streaming session between the content server and the mobile device; the content server connected to the database and the controller, 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 using the metadata content in the metadata track, 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. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable medium comprising instructions to execute a method, the method comprising:
-
selecting, via a controller, a content server among a plurality of content servers, the content server being geographically close to a mobile device, wherein the controller is configured to perform session management using RTSP (Real Time Streaming Protocol) protocol such that streaming functions, performed by the content server, and session management functions, performed by the controller, are separated, wherein the controller establishes the sessions directly with mobile devices, instead of the content server connecting directly with mobile devices, such that more mobile devices can operate simultaneously while being directly connected with the controller than if the mobile devices were directly connected to the content servers; establishing, via the controller, 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 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 using closed captioning contents in the metadata track, 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 (Real Time Transport Protocol) 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. - View Dependent Claims (18, 19, 20)
-
Specification