Multi-out media distribution system and method
First Claim
1. A method of delivering media from a media distribution server, the method comprising:
- obtaining, by the media distribution server, a first digital media stream comprising first digital media data corresponding to a piece of media content, said first digital media data being encoded in an original encoding format, according to a first set of encoding parameters, and packaged in an original container format;
obtaining, by the media distribution server, a second digital media stream comprising second digital media data corresponding to said piece of media content, said second digital media data being encoded in said original encoding format according to a second set of encoding parameters that is different from said first set of encoding parameters;
receiving, by the media distribution server, a plurality of requests to deliver said piece of media content respectively to a plurality of remote clients of a plurality of differing client types, each of said plurality of differing client types supporting said original encoding format, but not supporting said original container format; and
for each of said plurality of requests;
determining a container format and delivery protocol supported by the current remote client associated with the current request according to a client type of the current remote client;
determining a media rendering capability of the current remote client according to the client type of the current remote client;
selecting said first digital media stream from a group comprising said first and second digital media streams according to said determined media rendering capability of the current remote client and said first set of encoding parameters;
dynamically re-packaging said first digital media stream into a digital media stream comprising said first digital media data encoded unchanged in said original encoding format and re-packetized according to said determined supported container format and said determined supported delivery protocol; and
providing said dynamically re-packaged digital media stream from the media distribution server for delivery to said current remote client according to said determined supported delivery protocol.
2 Assignments
0 Petitions
Accused Products
Abstract
To deliver a digital media stream to remote clients of differing client types that support the original encoding format of the digital media stream, but that do not support the original container format of the digital media stream, a media distribution server may, for each request that it receives for the digital media stream, dynamically repackage the media stream into a container format and delivery protocol supported by the requesting remote client. The repackaged media stream includes the digital media data of the original digital media stream encoded unchanged in its original encoding format, but the encoded media data is re-packetized according to the container format and delivery protocol determined to be supported by the requesting remote client.
27 Citations
16 Claims
-
1. A method of delivering media from a media distribution server, the method comprising:
-
obtaining, by the media distribution server, a first digital media stream comprising first digital media data corresponding to a piece of media content, said first digital media data being encoded in an original encoding format, according to a first set of encoding parameters, and packaged in an original container format; obtaining, by the media distribution server, a second digital media stream comprising second digital media data corresponding to said piece of media content, said second digital media data being encoded in said original encoding format according to a second set of encoding parameters that is different from said first set of encoding parameters; receiving, by the media distribution server, a plurality of requests to deliver said piece of media content respectively to a plurality of remote clients of a plurality of differing client types, each of said plurality of differing client types supporting said original encoding format, but not supporting said original container format; and for each of said plurality of requests; determining a container format and delivery protocol supported by the current remote client associated with the current request according to a client type of the current remote client; determining a media rendering capability of the current remote client according to the client type of the current remote client; selecting said first digital media stream from a group comprising said first and second digital media streams according to said determined media rendering capability of the current remote client and said first set of encoding parameters; dynamically re-packaging said first digital media stream into a digital media stream comprising said first digital media data encoded unchanged in said original encoding format and re-packetized according to said determined supported container format and said determined supported delivery protocol; and providing said dynamically re-packaged digital media stream from the media distribution server for delivery to said current remote client according to said determined supported delivery protocol. - View Dependent Claims (2, 3, 4)
-
-
5. An apparatus comprising a processor and a memory storing instructions that, when executed by the processor, configure the apparatus to deliver media according to a method comprising:
-
obtaining a first digital media stream comprising first digital media data corresponding to a piece of media content, said first digital media data being encoded in an original encoding format, according to a first set of encoding parameters, and packaged in an original container format; obtaining a second digital media stream comprising second digital media data corresponding to said piece of media content, said second digital media data being encoded in said original encoding format according to a second set of encoding parameters that is different from said first set of encoding parameters; receiving a plurality of requests to deliver said piece of media content respectively to a plurality of remote clients of a plurality of differing client types, each of said plurality of differing client types supporting said original encoding format, but not supporting said original container format; and for each of said plurality of requests; determining a container format and delivery protocol supported by the current remote client associated with the current request according to a client type of the current remote client; determining a media rendering capability of the current remote client according to the client type of the current remote client; selecting said first digital media stream from a group comprising said first and second digital media streams according to said determined media rendering capability of the current remote client and said first set of encoding parameters; dynamically re-packaging said first digital media stream into a digital media stream comprising said first digital media data encoded unchanged in said original encoding format and re-packetized according to said determined supported container format and said determined supported delivery protocol; and providing said dynamically re-packaged digital media stream for delivery to said current remote client according to said determined supported delivery protocol. - View Dependent Claims (6)
-
-
7. A non-transient computer readable storage medium storing instructions that, when executed by a processor, configure the processor to deliver media according to a method comprising:
-
obtaining a first digital media stream comprising first digital media data corresponding to a piece of media content, said first digital media data being encoded in an original encoding format, according to a first set of encoding parameters, and packaged in an original container format; obtaining a second digital media stream comprising second digital media data corresponding to said piece of media content, said second digital media data being encoded in said original encoding format according to a second set of encoding parameters that is different from said first set of encoding parameters; receiving a plurality of requests to deliver said piece of media content respectively to a plurality of remote clients of a plurality of differing client types, each of said plurality of differing client types supporting said original encoding format, but not supporting said original container format; and for each of said plurality of requests; determining a container format and delivery protocol supported by the current remote client associated with the current request according to a client type of the current remote client; determining a media rendering capability of the current remote client according to the client type of the current remote client; selecting said first digital media stream from a group comprising said first and second digital media streams according to said determined media rendering capability of the current remote client and said first set of encoding parameters; dynamically re-packaging said first digital media stream into a digital media stream comprising said first digital media data encoded unchanged in said original encoding format and re-packetized according to said determined supported container format and said determined supported delivery protocol; and providing said dynamically re-packaged digital media stream for delivery to said current remote client according to said determined supported delivery protocol. - View Dependent Claims (8)
-
-
9. A method of delivering media from a media distribution server, the method comprising:
-
receiving, by the media distribution server, an encoded media file from an encoder device said encoded media file comprising first digital media data corresponding to a piece of media content, said first digital media data being encoded in an original encoding format, according to a first set of encoding parameters, and packaged in an original container format; obtaining, by the media distribution server, a second digital media stream comprising second digital media data corresponding to said piece of media content, said second digital media data being encoded in said original encoding format according to a second set of encoding parameters that is different from said first set of encoding parameters; receiving, by the media distribution server, a plurality of requests to deliver said piece of media content respectively to a plurality of remote clients of a plurality of differing client types, each of said plurality of differing client types supporting said original encoding format, but not supporting said original container format; and for each of said plurality of requests; determining a container format and delivery protocol supported by the current remote client associated with the current request according to a client type of the current remote client; determining a media rendering capability of the current remote client according to the client type of the current remote client; selecting said first digital media stream from a group comprising said first and second digital media streams according to said determined media rendering capability of the current remote client and said first set of encoding parameters; obtaining a re-packaged digital media stream comprising said first digital media data encoded unchanged in said original encoding format and re-packetized according to said determined supported container format and said determined supported delivery protocol; and providing said dynamically re-packaged digital media stream from the media distribution server for delivery to said current remote client according to said determined supported delivery protocol. - View Dependent Claims (10, 11, 12)
-
-
13. An apparatus comprising a processor and a memory storing instructions that, when executed by the processor, configure the apparatus to deliver media according to a method comprising:
-
receiving an encoded media file from an encoder device said encoded media file comprising first digital media data corresponding to a piece of media content, said first digital media data being encoded in an original encoding format, according to a first set of encoding parameters, and packaged in an original container format; obtaining a second digital media stream comprising second digital media data corresponding to said piece of media content, said second digital media data being encoded in said original encoding format according to a second set of encoding parameters that is different from said first set of encoding parameters; receiving a plurality of requests to deliver said piece of media content respectively to a plurality of remote clients of a plurality of differing client types, each of said plurality of differing client types supporting said original encoding format, but not supporting said original container format; and for each of said plurality of requests; determining a container format and delivery protocol supported by the current remote client associated with the current request according to a client type of the current remote client; determining a media rendering capability of the current remote client according to the client type of the current remote client; selecting said first digital media stream from a group comprising said first and second digital media streams according to said determined media rendering capability of the current remote client and said first set of encoding parameters; obtaining a re-packaged digital media stream comprising said first digital media data encoded unchanged in said original encoding format and re-packetized according to said determined supported container format and said determined supported delivery protocol; and providing said dynamically re-packaged digital media stream for delivery to said current remote client according to said determined supported delivery protocol. - View Dependent Claims (14)
-
-
15. An non-transient computer readable storage medium storing instructions that, when executed by a processor, configure the processor to deliver media according to a method comprising:
-
receiving an encoded media file from an encoder device said encoded media file comprising first digital media data corresponding to a piece of media content, said first digital media data being encoded in an original encoding format, according to a first set of encoding parameters, and packaged in an original container format; obtaining a second digital media stream comprising second digital media data corresponding to said piece of media content, said second digital media data being encoded in said original encoding format according to a second set of encoding parameters that is different from said first set of encoding parameters; receiving a plurality of requests to deliver said piece of media content respectively to a plurality of remote clients of a plurality of differing client types, each of said plurality of differing client types supporting said original encoding format, but not supporting said original container format; and for each of said plurality of requests; determining a container format and delivery protocol supported by the current remote client associated with the current request according to a client type of the current remote client; determining a media rendering capability of the current remote client according to the client type of the current remote client; selecting said first digital media stream from a group comprising said first and second digital media streams according to said determined media rendering capability of the current remote client and said first set of encoding parameters; obtaining a re-packaged digital media stream comprising said first digital media data encoded unchanged in said original encoding format and re-packetized according to said determined supported container format and said determined supported delivery protocol; and providing said dynamically re-packaged digital media stream for delivery to said current remote client according to said determined supported delivery protocol. - View Dependent Claims (16)
-
Specification