Re: HLS, DASH, MPD and LMS future version
bpa <bpa.a10vxc-NUepA2SMhDQqspMVqqL2D+4xXEVPTSb/[email protected]>
| Newsgroups | gmane.music.equipment.slimdevices.devel |
|---|---|
| Organization | Logitech Squeezebox Forums |
| Message-ID | <[email protected]> |
This is just background maybe useful in discussion. TECHNICAL SUMMARY HLS is closer in function to HTTP in that it can carry many formats. Currently LMS support HTTP/AAC, HTTP/MP3, HTTP/Streaming MPEG4, HTTP/OGG-Flac etc. HLS supports MP3, AAC, AC3 and MPEG4 but in other carrier formats Packed-MP3, Packed-AAC, MPEG2-TS for MP3, AAC and AC3 and fMPEG-4 (fragmented MPEG-4 like used in DASH). HLS MPEG2 stream can also have video track (typically DVB-S or DVB-T in origin) but use is small. DASH & HLS are chunked HTTP which uses lots of HTTP GET of small "files" typically 3-10 secs duration. Technically have the capability to change bit rate of the stream dynamically to cope with network load (i.e. no "buffering" messages but poorer quality as seen in streaming Video services). Client selects most appropriate services (e.g. bit rate, number of channels) to playback. The client are supposed to report some network stats back to server while playing. They have support for ads to be inserted into the stream. DASH is an ISO standard (with ETSI ) so it is committee run and seems to evolve slowly. It has lots of support docs and reference client implementations. MPD is the top level file of DASH which has list all the "Representations" (i.e. different bitrates) available for the same service. The naming of each segment to be fetched is generated by a formula. Live streams are called "dynamic". I think metadata is mainly in MPEG-4 segments but have little experiences of DASH streams except for BBC. DASH MIME type is -application/dash+xml- HLS is Apple proprietary which is mirrored in a IETF RFC draft standard. It evolves at the speed of Apple to suit Apple. No open reference client implementation so many "poor" server implementations. Many servers are HLS V2 or V3 but newer ones are V7. HLS has M3U8 playlists but they can be Master Playlist and Media Playlists with same syntax but distinguished by content. A HLS stream can be played using either a Master or Media playlist. Master Playlist has "Variants" which functionally are the same as DASH "Representations - each variant will result in one Media Playlist URL. The naming of the segments is detailed in the M3U8 Media Playlist which is either read once for non-live programs so Media Playlist file can be very big. Live HLS stream require the M3U8 Media Playlist to be read repeatedly at about 3xsegment duration intervals to find new segment to play. HLS can support AAC and MP3 metadata in the format of IDV3.2 tags as well as tagging each segment in Media Playlist. Metadata often breaks the Apple standard with proprietary formats (i.e. iHeart streams). Official HLS MIME type is -application/vnd.apple.mpegurl- but sometime badly setup stream use the suffix m3u8 and MIME type -audio/mpegurl- or -audio/x-mpegurl- which means it is ambiguous with normal m3u playlist. WHY USE CHUNKED HTTP & WHICH FORMAT IS MOST POPULAR Chunked HTTP is more efficient for service provider (especially when served through a CDN) - bandwidth can be managed and better support for commercial issues such as ad insertions and time synchronisation. Better user experiences - fewer "rebuffering" events replaced by poorer quality. HLS has most services as it has been incrementally developed and pushed by Apple. Older HTTP/AAC & HTTP/MP3 services easily migrated to HLS with either packed or MPEG2 formats (possibly adapted from DAB/DVB sources). No change in backend. Apple promotes HLS and as Apple is a big content provider, HLS is a near prerequisite to maintain listenership. DASH is available for most browsers but not sure about media players. With HLS V7 and the support of fMPEG4. Server implementation can generate the same set of source files for both HLS and DASH. Whether HLS or DASH is used has little technical difficulty for new content providers (i.e. MPEG4 - no history or MP3 or AAC) in particular video - HLS seems to be playing catch up to support fMPEG4 which was already defined for DASH. Choice of HLS or DASH may depend on commercial terms and also listenership (i.e. what does their favorite media player support) ------------------------------------------------------------------------ bpa's Profile: http://forums.slimdevices.com/member.php?userid=1806 View this thread: http://forums.slimdevices.com/showthread.php?t=114498