doc/avtools-common-opts: write a section about stream specifiers.
This commit is contained in:
parent
3a37392efe
commit
99442bfe20
@ -11,6 +11,35 @@ corresponding value to true. They can be set to false by prefixing
|
||||
with "no" the option name, for example using "-nofoo" in the
|
||||
commandline will set to false the boolean option with name "foo".
|
||||
|
||||
@section Stream specifiers
|
||||
Some options are applied per-stream, e.g. bitrate or codec. Stream specifiers
|
||||
are used to precisely specify which stream(s) does a given option belong to.
|
||||
|
||||
A stream specifier is a string generally appended to the option name and
|
||||
separated from it by a colon. E.g. @code{-codec:a:1 ac3} option contains
|
||||
@code{a:1} stream specifer, which matches the second audio stream. Therefore it
|
||||
would select the ac3 codec for the second audio stream.
|
||||
|
||||
A stream specifier can match several stream, the option is then applied to all
|
||||
of them. E.g. the stream specifier in @code{-b:a 128k} matches all audio
|
||||
streams.
|
||||
|
||||
An empty stream specifier matches all streams, for example @code{-codec copy}
|
||||
or @code{-codec: copy} would copy all the streams without reencoding.
|
||||
|
||||
Possible forms of stream specifiers are:
|
||||
@table @option
|
||||
@item @var{stream_index}
|
||||
Matches the stream with this index. E.g. @code{-threads:1 4} would set the
|
||||
thread count for the second stream to 4.
|
||||
@item @var{stream_type}[:@var{stream_index}]
|
||||
@var{stream_type} is one of: 'v' for video, 'a' for audio, 's' for subtitle and
|
||||
'd' for data. If @var{stream_index} is given, then matches stream number
|
||||
@var{stream_index} of this type. Otherwise matches all streams of this type.
|
||||
@item @var{program_id}[:@var{stream_index}]
|
||||
If @var{stream_index} is given, then matches stream number @var{stream_index} in
|
||||
program with id @var{program_id}. Otherwise matches all streams in this program.
|
||||
@end table
|
||||
@section Generic options
|
||||
|
||||
These options are shared amongst the av* tools.
|
||||
@ -117,19 +146,8 @@ muxer:
|
||||
ffmpeg -i input.flac -id3v2_version 3 out.mp3
|
||||
@end example
|
||||
|
||||
You can precisely specify which stream(s) should the codec AVOption apply to by
|
||||
appending a stream specifier of the form
|
||||
@option{[:@var{stream_type}][:@var{stream_index}]} to the option name.
|
||||
@var{stream_type} is 'v' for video, 'a' for audio and 's' for subtitle streams.
|
||||
@var{stream_index} is a global stream index when @var{stream_type} isn't
|
||||
given, otherwise it counts streams of the given type only. As always, the index
|
||||
is zero-based. For example
|
||||
@example
|
||||
-foo -- applies to all applicable streams
|
||||
-foo:v -- applies to all video streams
|
||||
-foo:a:2 -- applies to the third audio stream
|
||||
-foo:0 -- applies to the first stream
|
||||
@end example
|
||||
All codec AVOptions are obviously per-stream, so the chapter on stream
|
||||
specifiers applies to them
|
||||
|
||||
Note -nooption syntax cannot be used for boolean AVOptions, use -option
|
||||
0/-option 1.
|
||||
|
Loading…
x
Reference in New Issue
Block a user