summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorLou Logan <lou@lrcd.com>2017-02-13 15:26:43 -0900
committerLou Logan <lou@lrcd.com>2017-02-13 15:26:43 -0900
commit1c049d5ffe08b3af36844cdbe7a5950879122b8b (patch)
tree90c7f2c97fb604c46c92a64162674a51288f8a86 /doc
parentc1a5fca06f75cc0e7b9b2808fecaa0c1b424da50 (diff)
doc/ffmpeg: document trailing "?" in map option
This feature was added in 2375a85c36c4941042e6ee58a31d6560bde91d37. Signed-off-by: Lou Logan <lou@lrcd.com>
Diffstat (limited to 'doc')
-rw-r--r--doc/ffmpeg.texi14
1 files changed, 13 insertions, 1 deletions
diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
index 11b527da43..8b08e2209c 100644
--- a/doc/ffmpeg.texi
+++ b/doc/ffmpeg.texi
@@ -871,7 +871,7 @@ Set the size of the canvas used to render subtitles.
@section Advanced options
@table @option
-@item -map [-]@var{input_file_id}[:@var{stream_specifier}][,@var{sync_file_id}[:@var{stream_specifier}]] | @var{[linklabel]} (@emph{output})
+@item -map [-]@var{input_file_id}[:@var{stream_specifier}][?][,@var{sync_file_id}[:@var{stream_specifier}]] | @var{[linklabel]} (@emph{output})
Designate one or more input streams as a source for the output file. Each input
stream is identified by the input file index @var{input_file_id} and
@@ -887,6 +887,11 @@ the source for output stream 1, etc.
A @code{-} character before the stream identifier creates a "negative" mapping.
It disables matching streams from already created mappings.
+A trailing @code{?} after the stream index will allow the map to be
+optional: if the map matches no streams the map will be ignored instead
+of failing. Note the map will still fail if an invalid input file index
+is used; such as if the map refers to a non-existant input.
+
An alternative @var{[linklabel]} form will map outputs from complex filter
graphs (see the @option{-filter_complex} option) to the output file.
@var{linklabel} must correspond to a defined output link label in the graph.
@@ -924,6 +929,13 @@ To map all the streams except the second audio, use negative mappings
ffmpeg -i INPUT -map 0 -map -0:a:1 OUTPUT
@end example
+To map the video and audio streams from the first input, and using the
+trailing @code{?}, ignore the audio mapping if no audio streams exist in
+the first input:
+@example
+ffmpeg -i INPUT -map 0:v -map 0:a? OUTPUT
+@end example
+
To pick the English audio stream:
@example
ffmpeg -i INPUT -map 0:m:language:eng OUTPUT