summaryrefslogtreecommitdiff
path: root/libavformat/allformats.c
diff options
context:
space:
mode:
authorVignesh Venkatasubramanian <vigneshv@google.com>2014-07-14 09:52:23 -0700
committerMichael Niedermayer <michaelni@gmx.at>2014-07-15 23:58:36 +0200
commit3e73d1429045cc2985772391e1f36a034650880d (patch)
tree4d33a005fb868c77b222053e7eabdbcd4f71228b /libavformat/allformats.c
parent5a206569468ae390b0b3c81ba7cc421a0454a19c (diff)
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>
Diffstat (limited to 'libavformat/allformats.c')
-rw-r--r--libavformat/allformats.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libavformat/allformats.c b/libavformat/allformats.c
index 3e00cae3fb..00de817775 100644
--- a/libavformat/allformats.c
+++ b/libavformat/allformats.c
@@ -307,6 +307,7 @@ void av_register_all(void)
REGISTER_MUXDEMUX(WAV, wav);
REGISTER_DEMUXER (WC3, wc3);
REGISTER_MUXER (WEBM, webm);
+ REGISTER_MUXDEMUX(WEBM_DASH_MANIFEST, webm_dash_manifest);
REGISTER_MUXDEMUX(WEBVTT, webvtt);
REGISTER_DEMUXER (WSAUD, wsaud);
REGISTER_DEMUXER (WSVQA, wsvqa);