METHOD FOR BROADCASTING DASH/HLS HYBRID MULTIMEDIA STREAMS
20230045170 · 2023-02-09
Inventors
Cpc classification
H04N21/440218
ELECTRICITY
H04N21/4331
ELECTRICITY
H04L67/02
ELECTRICITY
H04N21/8456
ELECTRICITY
H04N21/26258
ELECTRICITY
H04N21/2362
ELECTRICITY
International classification
Abstract
A method for multicasting multimedia content to receivers, the method comprising: receiving, by a multicast middleware (MCMF) from a server (BMS), manifest files to access contents according to different adaptive bitrate streaming communication protocols, one of the manifest files being consistent with the MPEG-DASH protocol and describing media segments of a content, another of the manifest files being a master playlist consistent with the HLS protocol and defining locations where media playlists to access the media segments of the content are available; receiving, by the middleware from the server, the media segments of the content, transmitted in a multicast session, receiving, by the middleware from the server, the playlists, the received playlists referencing the media segments transmitted in the multicast session, and currently received by the middleware; and storing by the middleware the manifest files, the media segments and the playlists, to make them available to receivers (UD, UD1, UD2).
Claims
1. A method for multicasting multimedia content to receivers, the method comprising: receiving, by a multicast middleware from a server, manifest files to access contents according to different adaptive bitrate streaming communication protocols, one of the manifest files being consistent with the MPEG-DASH protocol and describing media segments of a content, another of the manifest files being a master playlist consistent with the HLS protocol and defining locations where media playlists to access the media segments of the content are available; receiving, by the middleware from the server, the media segments of the content, transmitted in a multicast session; receiving, by the middleware from the server, the playlists, the received playlists referencing the media segments transmitted in the multicast session, and currently received by the middleware; and storing by the middleware the received manifest files, the received media segments and the received playlists, to make them available to receivers coupled to the middleware.
2. The method of claim 1, wherein the multicast session is performed according to the FLUTE or ROUTE protocol.
3. The method according to claim 1, wherein the playlists are transmitted to the middleware over HTTP in unicast.
4. The method according to claim 1, wherein the playlists are transmitted to the middleware in the multicast session.
5. The method according to claim 1, wherein the playlists are transmitted to the middleware in a multicast session distinct from the multicast session in which the media segments are transmitted.
6. The method according to claim 1, wherein the media segments of the media content are transmitted to the middleware with a file delivery table, in a FLUTE session according to the FLUTE protocol, the file delivery table including segment attributes referencing a last transmitted media segment in the FLUTE session, the method further comprising generating by the middleware from the segment attributes in the FDT a playlist referencing the last media segments received by the middleware.
7. The method according to claim 6, wherein the FDT references initialization segments of the media content, the initialization segments containing information required to initialize a media decoder of the receivers.
8. The method according to claim 1, further comprising: receiving, by the middleware, metadata fragments announcing a media content divided into media segments, the metadata fragments including a first user service bundle description fragment referencing other metadata fragments including a media presentation description fragment referencing the media segments of the content, and initialization segments containing information required to initialize a media decoder in the receivers; and receiving, by the middleware, a second user service bundle description fragment referencing the same metadata fragment as the first user service bundle description fragment except the media presentation description fragment which is replaced with a reference to the master playlist referencing the media playlists, the media playlists referencing last media segments already received by the middleware, the received metadata fragments being used for announcing to the receivers delivery of the content according to MPEG/DASH and HLS protocols over MBMS service.
9. The method according to claim 1, further comprising: receiving, by the middleware, metadata fragments announcing a media content divided into media segments, the metadata fragments including a user service bundle description fragment referencing other metadata fragments including a media presentation description fragment referencing the media segments of the content and initialization fragments containing information required to initialize a media decoder in the receivers, and a master playlist referencing media playlists and containing information required to initialize a media decoder in the receivers, the media playlists referencing last media segments already transmitted to receivers, the received metadata fragments being used, for announcing to the receivers delivery of the media content according to MPEG/DASH and HLS protocols over MBMS service.
10. The method of claim 8, wherein a structure of the user service bundle description fragment is defined by a XML schema which is extended to reference a MPEG-DASH manifest file and a HLS master playlist.
11. The method of claim 8, wherein the prepared metadata fragments are transmitted to the middleware over an IP network.
12. A non-transitory computer-readable medium carrying one or more sequences of instructions, which, when executed by one or more processors, causes the one or more processors to: receive, by a multicast middleware from a server, manifest files to access contents according to different adaptive bitrate streaming communication protocols, one of the manifest files being consistent with the MPEG-DASH protocol and describing media segments of a content, another of the manifest files being a master playlist consistent with the HLS protocol and defining locations where media playlists to access the media segments of the content are available; receive, by the middleware from the server, the media segments of the content, transmitted in a multicast session; receive, by the middleware from the server, the playlists, the received playlists referencing the media segments transmitted in the multicast session, and currently received by the middleware; and store by the middleware the received manifest files, the received media segments and the received playlists, to make them available to receivers coupled to the middleware.
13. The non-transitory computer-readable medium of claim 12, wherein the instructions, when executed by the one or more processors, causes the one or more processors to implement the middleware in receivers or in a gateway connected to one or more of the receivers.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040] In
[0041] In
[0042] In the example of
[0043] In both the architectures illustrated in
[0044] In addition, the multicast middleware function MCMF can indicate to the application APP, APP1, APP2 that hybrid MPEG-DASH/HLS contents are available in both protocols MPEG-DASH and HLS. When the application APP, APP1, APP2 wants to consume one of these contents using one protocol, it can interact with the multicast middleware function MCMW to initiate the reception of this particular content. The multicast middleware function MCMW then provides to the application APP, APP1, APP2 a local URL to access the manifest file for the requested protocol (the MPD URL for MPEG-DASH, the master playlist URL for HLS).
[0045]
[0046] The number of segment locations in a HLS media playlist HPL is defined by a parameter that may be specified by the content server CS.
[0047] In a first embodiment illustrated in
[0048] In a second embodiment illustrated in
[0049] A playlist expiration is managed as follows: if a playlist update is missed, the user device UD shouldn't keep an old version, and should instead request a new playlist HPL over unicast to the content server CS. As the media playlist is a small file, it is much more sensitive to loss. To increase reception robustness, its rate of FEC (Forward Error Correction) may have to be adjusted, or the playlist HPL could be transmitted several times.
[0050] The media playlist HPL is transmitted as an additional file within the FLUTE session FLS1. When a new segment MSG is generated by the video packager CP in the content server CS, the segment is broadcasted together with the updated media playlist HPL including this segment MSG.
[0051] To avoid keeping in cache an old version of the media playlist HPL by the user device UD, a cache-control directive can be used, including an expiration date (7.2.10.5 3GPP FDT Extensions in 3GPP TS 26.346). MD5 (Media Digest 5) of the media playlist file HPL can be also be indicated in a File Delivery Table (FDT) (7.2.9 Signaling of Parameters with FDT Instances of TS 26.346: Content-MD5 represents a digest of a transport object. A file server providing the transport object as a file indicates the MD5 hash value whenever multiple versions of the file are anticipated for the download session. Other versioning information may be carried (such as a version number, or another cryptographic hash function).
[0052] In a third embodiment illustrated in
[0053] In the first, second and third embodiments (
[0054] In all the previous embodiments, the FLUTE sessions FLS, FLS1, FLS2 are multicast sessions that can alternatively implemented using the ROUTE protocol.
[0055] In a fourth embodiment illustrated in
TABLE-US-00001 .........<file segment #100 .................segment attributes .................<HLS extension > .........<file/>
[0056] The media playlist HPL is reconstructed by the middleware function MCMF of the user device UD or the gateway MCMW based on the received table FDT. An internal parameter of the middleware function MCMF defines the number of the last segments MSG to be listed in the reconstructed media playlist HPL. An expiration date of the reconstructed media playlist HPL can be computed based on the duration of the latest listed segment. If there are some initialization segments IMSG, their references could be carried in the FDT extension <HLS extension>, or retrieved from the MPD, so that they can be included in the reconstructed media playlist HPL.
[0057] A MBMS user service announcement service announces MPEG-DASH content delivered over MBMS to the user devices UD, UD1, UD2, using a service announcement channel (SACH). To this purpose, as shown in
[0058] a session description protocol SDP, describing the FLUTE session where the media segments are delivered,
[0059] a schedule description fragment SCHD, describing the delivery time window for the given content,
[0060] a manifest or media presentation description file MPD of the DASH content,
[0061] initialization segments ISG, containing information required to initialize the media decoder, and
[0062] other fragments such as a security description fragment SECD, a filter description fragment FILD, an associated delivery procedure description fragment ADPD, . . . ).
[0063] Together with the reference to the manifest MPD, the fragment USDB can indicate a media type of the MPD (“application/dash+xml”).
[0064] According to a first embodiment illustrated in
[0065] first prepares its metadata fragments to announce the content as a MPEG-DASH content,
[0066] duplicates the USBD fragment (USBD1 fragment) within the user service announcement, and sets another service identifier,
[0067] changes, in the duplicated fragment USBD1, the reference to the manifest MPD to the uniform resource identifier (URI) of the HLS master playlist HMPL with the appropriate media type,
[0068] keeps the references to the other fragments unchanged, and
[0069] adds the HLS master playlist HMPL as another metadata fragment.
[0070] According to a second embodiment illustrated in
[0071] To announce a hybrid MPEG-DASH/HLS content over an IP network as specified by DVB, the same options are possible: either the full service description is duplicated (
CITATION LIST
[0072] [1] ISO/IEC 23009-1 Dynamic adaptive streaming over HTTP (DASH) [0073] [2] IETF RFC 8216 HTTP Live Streaming [0074] [3] ISO/IEC CD 23000-19 Common Media Application Format [0075] [4] 3GPP TS 26.346 Multimedia Broadcast/Multicast Service (MBMS); Protocols and codecs [0076] [5] IETF RFC 6726—FLUTE—File Delivery over Unidirectional Transport [0077] [6] DVB Document A176 Digital Video Broadcasting (DVB); Adaptive media streaming over IP multicast [0078] [7] ATSC A/331 Signaling, Delivery, Synchronization, and Error Protection