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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.