ffmpeg | branch: master | Rodger Combs <rodger.co...@gmail.com> | Tue Sep 26 
14:13:54 2017 -0300| [3eb1d05ef719cbb0793f6bd82d7227f9093f6fc3] | committer: 
James Almer

Merge commit 'c5c663541739cb813a2a5668ee8339b535b35d7d'

* commit 'c5c663541739cb813a2a5668ee8339b535b35d7d':
  doc: add dash muxer

Merged-by: Rodger Combs <rodger.co...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3eb1d05ef719cbb0793f6bd82d7227f9093f6fc3
---

 doc/muxers.texi | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/doc/muxers.texi b/doc/muxers.texi
index 36769b8c1a..38d93919e7 100644
--- a/doc/muxers.texi
+++ b/doc/muxers.texi
@@ -194,6 +194,68 @@ Used to facilitate seeking; particularly for HTTP pseudo 
streaming.
 @end table
 @end table
 
+@anchor{dash}
+@section dash
+
+Dynamic Adaptive Streaming over HTTP (DASH) muxer that creates segments
+and manifest files according to the MPEG-DASH standard ISO/IEC 23009-1:2014.
+
+For more information see:
+
+@itemize @bullet
+@item
+ISO DASH Specification: 
@url{http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip}
+@item
+WebM DASH Specification: 
@url{https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification}
+@end itemize
+
+It creates a MPD manifest file and segment files for each stream.
+
+The segment filename might contain pre-defined identifiers used with 
SegmentTemplate
+as defined in section 5.3.9.4.4 of the standard. Available identifiers are 
"$RepresentationID$",
+"$Number$", "$Bandwidth$" and "$Time$".
+
+@example
+ffmpeg -re -i <input> -map 0 -map 0 -c:a libfdk_aac -c:v libx264
+-b:v:0 800k -b:v:1 300k -s:v:1 320x170 -profile:v:1 baseline
+-profile:v:0 main -bf 1 -keyint_min 120 -g 120 -sc_threshold 0
+-b_strategy 0 -ar:a:1 22050 -use_timeline 1 -use_template 1
+-window_size 5 -adaptation_sets "id=0,streams=v id=1,streams=a"
+-f dash /path/to/out.mpd
+@end example
+
+@table @option
+@item -min_seg_duration @var{microseconds}
+Set the segment length in microseconds.
+@item -window_size @var{size}
+Set the maximum number of segments kept in the manifest.
+@item -extra_window_size @var{size}
+Set the maximum number of segments kept outside of the manifest before 
removing from disk.
+@item -remove_at_exit @var{remove}
+Enable (1) or disable (0) removal of all segments when finished.
+@item -use_template @var{template}
+Enable (1) or disable (0) use of SegmentTemplate instead of SegmentList.
+@item -use_timeline @var{timeline}
+Enable (1) or disable (0) use of SegmentTimeline in SegmentTemplate.
+@item -single_file @var{single_file}
+Enable (1) or disable (0) storing all segments in one file, accessed using 
byte ranges.
+@item -single_file_name @var{file_name}
+DASH-templated name to be used for baseURL. Implies @var{single_file} set to 
"1".
+@item -init_seg_name @var{init_name}
+DASH-templated name to used for the initialization segment. Default is 
"init-stream$RepresentationID$.m4s"
+@item -media_seg_name @var{segment_name}
+DASH-templated name to used for the media segments. Default is 
"chunk-stream$RepresentationID$-$Number%05d$.m4s"
+@item -utc_timing_url @var{utc_url}
+URL of the page that will return the UTC timestamp in ISO format. Example: 
"https://time.akamai.com/?iso";
+@item -adaptation_sets @var{adaptation_sets}
+Assign streams to AdaptationSets. Syntax is "id=x,streams=a,b,c 
id=y,streams=d,e" with x and y being the IDs
+of the adaptation sets and a,b,c,d and e are the indices of the mapped streams.
+
+To map all video (or audio) streams to an AdaptationSet, "v" (or "a") can be 
used as stream identifier instead of IDs.
+
+When no assignment is defined, this defaults to an AdaptationSet for each 
stream.
+@end table
+
 @anchor{framecrc}
 @section framecrc
 


======================================================================

diff --cc doc/muxers.texi
index 36769b8c1a,62cd8d025b..38d93919e7
--- a/doc/muxers.texi
+++ b/doc/muxers.texi
@@@ -160,40 -48,73 +160,102 @@@ specifying the audio and video codec an
  compute the CRC of the input audio converted to PCM unsigned 8-bit
  and the input video converted to MPEG-2 video, use the command:
  @example
 -avconv -i INPUT -c:a pcm_u8 -c:v mpeg2video -f crc -
 +ffmpeg -i INPUT -c:a pcm_u8 -c:v mpeg2video -f crc -
  @end example
  
 -See also the @ref{framecrc} muxer.
 +@section flv
 +
 +Adobe Flash Video Format muxer.
 +
 +This muxer accepts the following options:
 +
 +@table @option
 +
 +@item flvflags @var{flags}
 +Possible values:
 +
 +@table @samp
 +
 +@item aac_seq_header_detect
 +Place AAC sequence header based on audio stream data.
 +
 +@item no_sequence_end
 +Disable sequence end tag.
 +
 +@item no_metadata
 +Disable metadata tag.
 +
 +@item no_duration_filesize
 +Disable duration and filesize in metadata when they are equal to zero
 +at the end of stream. (Be used to non-seekable living stream).
 +
 +@item add_keyframe_index
 +Used to facilitate seeking; particularly for HTTP pseudo streaming.
 +@end table
 +@end table
  
+ @anchor{dash}
+ @section dash
+ 
+ Dynamic Adaptive Streaming over HTTP (DASH) muxer that creates segments
+ and manifest files according to the MPEG-DASH standard ISO/IEC 23009-1:2014.
+ 
+ For more information see:
+ 
+ @itemize @bullet
+ @item
+ ISO DASH Specification: 
@url{http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip}
+ @item
+ WebM DASH Specification: 
@url{https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification}
+ @end itemize
+ 
+ It creates a MPD manifest file and segment files for each stream.
+ 
+ The segment filename might contain pre-defined identifiers used with 
SegmentTemplate
+ as defined in section 5.3.9.4.4 of the standard. Available identifiers are 
"$RepresentationID$",
+ "$Number$", "$Bandwidth$" and "$Time$".
+ 
+ @example
 -avconv -re -i <input> -map 0 -map 0 -c:a libfdk_aac -c:v libx264
++ffmpeg -re -i <input> -map 0 -map 0 -c:a libfdk_aac -c:v libx264
+ -b:v:0 800k -b:v:1 300k -s:v:1 320x170 -profile:v:1 baseline
+ -profile:v:0 main -bf 1 -keyint_min 120 -g 120 -sc_threshold 0
+ -b_strategy 0 -ar:a:1 22050 -use_timeline 1 -use_template 1
+ -window_size 5 -adaptation_sets "id=0,streams=v id=1,streams=a"
+ -f dash /path/to/out.mpd
+ @end example
+ 
+ @table @option
+ @item -min_seg_duration @var{microseconds}
+ Set the segment length in microseconds.
+ @item -window_size @var{size}
+ Set the maximum number of segments kept in the manifest.
+ @item -extra_window_size @var{size}
+ Set the maximum number of segments kept outside of the manifest before 
removing from disk.
+ @item -remove_at_exit @var{remove}
+ Enable (1) or disable (0) removal of all segments when finished.
+ @item -use_template @var{template}
+ Enable (1) or disable (0) use of SegmentTemplate instead of SegmentList.
+ @item -use_timeline @var{timeline}
+ Enable (1) or disable (0) use of SegmentTimeline in SegmentTemplate.
+ @item -single_file @var{single_file}
+ Enable (1) or disable (0) storing all segments in one file, accessed using 
byte ranges.
+ @item -single_file_name @var{file_name}
+ DASH-templated name to be used for baseURL. Implies @var{single_file} set to 
"1".
+ @item -init_seg_name @var{init_name}
+ DASH-templated name to used for the initialization segment. Default is 
"init-stream$RepresentationID$.m4s"
+ @item -media_seg_name @var{segment_name}
+ DASH-templated name to used for the media segments. Default is 
"chunk-stream$RepresentationID$-$Number%05d$.m4s"
+ @item -utc_timing_url @var{utc_url}
+ URL of the page that will return the UTC timestamp in ISO format. Example: 
"https://time.akamai.com/?iso";
+ @item -adaptation_sets @var{adaptation_sets}
+ Assign streams to AdaptationSets. Syntax is "id=x,streams=a,b,c 
id=y,streams=d,e" with x and y being the IDs
+ of the adaptation sets and a,b,c,d and e are the indices of the mapped 
streams.
+ 
+ To map all video (or audio) streams to an AdaptationSet, "v" (or "a") can be 
used as stream identifier instead of IDs.
+ 
+ When no assignment is defined, this defaults to an AdaptationSet for each 
stream.
+ @end table
+ 
  @anchor{framecrc}
  @section framecrc
  

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

Reply via email to