diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi index bc30ba3d7545c7353824f221b7ac82b0aabe5cb2..46d39998c61e85db2fbe32fefda80679b5aa210f 100644 --- a/doc/ffmpeg.texi +++ b/doc/ffmpeg.texi @@ -622,11 +622,43 @@ Synchronize read on input. @section Advanced options @table @option -@item -map @var{input_stream_id}[:@var{sync_stream_id}] -Set stream mapping from input streams to output streams. -Just enumerate the input streams in the order you want them in the output. -@var{sync_stream_id} if specified sets the input stream to sync -against. +@item -map @var{input_file_id}.@var{input_stream_id}[:@var{sync_file_id}.@var{sync_stream_id}] + +Designate an input stream as a source for the output file. Each input +stream is identified by the input file index @var{input_file_id} and +the input stream index @var{input_stream_id} within the input +file. Both indexes start at 0. If specified, +@var{sync_file_id}.@var{sync_stream_id} sets which input stream +is used as a presentation sync reference. + +The @code{-map} options must be specified just after the output file. +If any @code{-map} options are used, the number of @code{-map} options +on the command line must match the number of streams in the output +file. The first @code{-map} option on the command line specifies the +source for output stream 0, the second @code{-map} option specifies +the source for output stream 1, etc. + +For example, if you have two audio streams in the first input file, +these streams are identified by "0.0" and "0.1". You can use +@code{-map} to select which stream to place in an output file. For +example: +@example +ffmpeg -i INPUT out.wav -map 0.1 +@end example +will map the input stream in @file{INPUT} identified by "0.1" to +the (single) output stream in @file{out.wav}. + +For example, to select the stream with index 2 from input file +@file{a.mov} (specified by the identifier "0.2"), and stream with +index 6 from input @file{b.mov} (specified by the identifier "1.6"), +and copy them to the output file @file{out.mov}: +@example +ffmpeg -i a.mov -i b.mov -vcodec copy -acodec copy out.mov -map 0.2 -map 1.6 +@end example + +To add more streams to the output file, you can use the +@code{-newaudio}, @code{-newvideo}, @code{-newsubtitle} options. + @item -map_meta_data @var{outfile}[,@var{metadata}]:@var{infile}[,@var{metadata}] Deprecated, use @var{-map_metadata} instead.