X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=doc%2Fmuxers.texi;h=335f093aaa789f16e5ac34af96718e9ee1bf6dc1;hb=6fd300ac6c2c3871736ce0e6df95603255004dc6;hp=a8225fcda297d169b9c569e7d81babdb7bb9f1db;hpb=268ff17cb785c3ae94be0aca31ed8709e149b487;p=ffmpeg diff --git a/doc/muxers.texi b/doc/muxers.texi index a8225fcda29..335f093aaa7 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -1210,7 +1210,17 @@ is the @option{global_header} flag. WebM DASH Manifest muxer. -This muxer implements the WebM DASH Manifest specification to generate the DASH manifest XML. +This muxer implements the WebM DASH Manifest specification to generate the DASH +manifest XML. It also supports manifest generation for DASH live streams. + +For more information see: + +@itemize @bullet +@item +WebM DASH Specification: @url{https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification} +@item +ISO DASH Specification: @url{http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip} +@end itemize @subsection Options @@ -1221,6 +1231,28 @@ This muxer supports the following options: This option has the following syntax: "id=x,streams=a,b,c id=y,streams=d,e" where x and y are the unique identifiers of the adaptation sets and a,b,c,d and e are the indices of the corresponding audio and video streams. Any number of adaptation sets can be added using this option. + +@item live +Set this to 1 to create a live stream DASH Manifest. Default: 0. + +@item chunk_start_index +Start index of the first chunk. This will go in the @samp{startNumber} attribute +of the @samp{SegmentTemplate} element in the manifest. Default: 0. + +@item chunk_duration_ms +Duration of each chunk in milliseconds. This will go in the @samp{duration} +attribute of the @samp{SegmentTemplate} element in the manifest. Default: 1000. + +@item utc_timing_url +URL of the page that will return the UTC timestamp in ISO format. This will go +in the @samp{value} attribute of the @samp{UTCTiming} element in the manifest. +Default: None. + +@item time_shift_buffer_depth +Smallest time (in seconds) shifting buffer for which any Representation is +guaranteed to be available. This will go in the @samp{timeShiftBufferDepth} +attribute of the @samp{MPD} element. Default: 60. + @end table @subsection Example @@ -1236,4 +1268,47 @@ ffmpeg -f webm_dash_manifest -i video1.webm \ manifest.xml @end example +@section webm_chunk + +WebM Live Chunk Muxer. + +This muxer writes out WebM headers and chunks as separate files which can be +consumed by clients that support WebM Live streams via DASH. + +@subsection Options + +This muxer supports the following options: + +@table @option +@item chunk_start_index +Index of the first chunk (defaults to 0). + +@item header +Filename of the header where the initialization data will be written. + +@item audio_chunk_duration +Duration of each audio chunk in milliseconds (defaults to 5000). +@end table + +@subsection Example +@example +ffmpeg -f v4l2 -i /dev/video0 \ + -f alsa -i hw:0 \ + -map 0:0 \ + -c:v libvpx-vp9 \ + -s 640x360 -keyint_min 30 -g 30 \ + -f webm_chunk \ + -header webm_live_video_360.hdr \ + -chunk_start_index 1 \ + webm_live_video_360_%d.chk \ + -map 1:0 \ + -c:a libvorbis \ + -b:a 128k \ + -f webm_chunk \ + -header webm_live_audio_128.hdr \ + -chunk_start_index 1 \ + -audio_chunk_duration 1000 \ + webm_live_audio_128_%d.chk +@end example + @c man end MUXERS