MPEG DASH

„Dynamic Adaptive Streaming over HTTP (DASH), also known as MPEG-DASH, is an adaptive bitrate streaming technique that enables high quality streaming of media content over the Internet delivered from conventional HTTP web servers“ https://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP

Standard

http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip

Software support

FFmpeg

dash: DASH muxer, kann nur MP4 muxen, ist mit den AdaptatioSets auch wenig flexibel

wird in der Dokumentation nicht erwähnt

Datei: dashenc.c

webm_chunk und webm_dash_manifest

Manifest Erzeugung und Chunking sind getrennt

Manifest wird nicht aktualisiert, wenn dann nur über externen Prozess

Datei: webm_chunk.c und webmdashenc.c

Patches für ffmpeg WebM DASH Support basierend auf libav-Patches: (Stand 02.03.2017)

Patch gegen Git Tag "n2.8.10"

Patch gegen Branch "release/3.2" (HEAD: 83269fd1)

Patch gegen Git master (HEAD: 39afd048)

alle Branches auch im public-Git: https://stash.fem.tu-ilmenau.de/scm/broadcast/ffmpeg.git (Git-Web)

Libav

bisher Webm DASH support (webm_chunk/webm_dash_manifest nur in ffmpeg)

dashenc etwas älter, etwas weniger Patches als bei ffmpeg

Originalautor vom Muxer is hier aktiv, mit dessen Hilfe wurden die Patches verbessert

Patches wurden am 27. bzw. 30.01.2017 in den Master-Branch aufgenommen

Verbesserungen einreichen

Upstream (libav):

Flexibilität bzgl. AdaptationSets ähnlich/besser wie bei webmdashenc

MP4 und Webm mit einem Muxer möglich

:

weitere Features aus dem Standard hinzufügen

Subtitles

rausfinden ob/wie man zur Laufzeit Subtitles in ffmpeg reinbekommt

Reporting