lavf: Add WebM DASH Manifest Muxer
authorVignesh Venkatasubramanian <vigneshv@google.com>
Mon, 14 Jul 2014 16:52:23 +0000 (09:52 -0700)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 15 Jul 2014 21:58:36 +0000 (23:58 +0200)
commit3e73d1429045cc2985772391e1f36a034650880d
tree4d33a005fb868c77b222053e7eabdbcd4f71228b
parent5a206569468ae390b0b3c81ba7cc421a0454a19c
lavf: Add WebM DASH Manifest Muxer

This patch adds the ability to generate WebM DASH manifest XML using
ffmpeg. A sample command line would be as follows:

ffmpeg \
  -f webm_dash_manifest -i video1.webm \
  -f webm_dash_manifest -i video2.webm \
  -f webm_dash_manifest -i audio1.webm \
  -f webm_dash_manifest -i audio2.webm \
  -map 0 -map 1 -map 2 -map 3 \
  -c copy \
  -f webm_dash_manifest \
  -adaptation_sets “id=0,streams=0,1 id=1,streams=2,3” \
  manifest.xml

It works by exporting necessary fields as metadata tags in matroskadec
and use those values to write the appropriate XML fields as per the WebM
DASH Specification [1]. Some ideas are adopted from webm-tools project
[2].

[1]
https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification
[2]
https://chromium.googlesource.com/webm/webm-tools/+/master/webm_dash_manifest/

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Changelog
RELEASE_NOTES
doc/muxers.texi
libavformat/Makefile
libavformat/allformats.c
libavformat/version.h
libavformat/webmdashenc.c [new file with mode: 0644]