summaryrefslogtreecommitdiff
path: root/doc/fftools-common-opts.texi
diff options
context:
space:
mode:
authorMarton Balint <cus@passwd.hu>2019-02-05 00:16:36 +0100
committerMarton Balint <cus@passwd.hu>2019-02-13 23:21:53 +0100
commitdbfd042983eed8586d4048795c00af820f5b6b1f (patch)
tree244bb5167f25cadaf26f0a8813b8516f9e66a391 /doc/fftools-common-opts.texi
parentb35843e3913df57da3a6bb0ce80a4f2b75d374b4 (diff)
downloadffmpeg-dbfd042983eed8586d4048795c00af820f5b6b1f.tar.gz
avformat/utils: parse some stream specifiers recursively
This removes lots of code duplication and also allows more complex specifiers, for example you can use p:204:a:m:language:eng to select the English language audio stream from program 204. Signed-off-by: Marton Balint <cus@passwd.hu>
Diffstat (limited to 'doc/fftools-common-opts.texi')
-rw-r--r--doc/fftools-common-opts.texi30
1 files changed, 12 insertions, 18 deletions
diff --git a/doc/fftools-common-opts.texi b/doc/fftools-common-opts.texi
index 84705c0b68..43c1f4d2d6 100644
--- a/doc/fftools-common-opts.texi
+++ b/doc/fftools-common-opts.texi
@@ -34,27 +34,21 @@ 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}]
+thread count for the second stream to 4. If @var{stream_index} is used as an
+additional stream specifier (see below), then it selects stream number
+@var{stream_index} from the matching streams.
+@item @var{stream_type}[:@var{additional_stream_specifier}]
@var{stream_type} is one of following: 'v' or 'V' for video, 'a' for audio, 's'
for subtitle, 'd' for data, and 't' for attachments. 'v' matches all video
streams, 'V' only matches video streams which are not attached pictures, video
-thumbnails or cover arts. If @var{stream_index} is given, then it matches
-stream number @var{stream_index} of this type. Otherwise, it matches all
-streams of this type.
-@item p:@var{program_id}[:@var{stream_index}] or p:@var{program_id}[:@var{stream_type}[:@var{stream_index}]] or
-p:@var{program_id}:m:@var{key}[:@var{value}]
-In first version, if @var{stream_index} is given, then it matches the stream with number @var{stream_index}
-in the program with the id @var{program_id}. Otherwise, it matches all streams in the
-program. In the second version, @var{stream_type} is one of following: 'v' for video, 'a' for audio, 's'
-for subtitle, 'd' for data. If @var{stream_index} is also given, then it matches
-stream number @var{stream_index} of this type in the program with the id @var{program_id}.
-Otherwise, if only @var{stream_type} is given, it matches all
-streams of this type in the program with the id @var{program_id}.
-In the third version matches streams in the program with the id @var{program_id} with the metadata
-tag @var{key} having the specified value. If
-@var{value} is not given, matches streams that contain the given tag with any
-value.
+thumbnails or cover arts. If @var{additional_stream_specifier} is used, then
+it matches streams which both have this type and match the
+@var{additional_stream_specifier}. Otherwise, it matches all streams of the
+specified type.
+@item p:@var{program_id}[:@var{additional_stream_specifier}]
+Matches streams which are in the program with the id @var{program_id}. If
+@var{additional_stream_specifier} is used, then it matches streams which both
+are part of the program and match the @var{additional_stream_specifier}.
@item #@var{stream_id} or i:@var{stream_id}
Match the stream by stream id (e.g. PID in MPEG-TS container).