On 9/14/2024 7:45 AM, Anton Khirnov wrote:
This extends the syntax for specifying input streams in -map and complex
filtergraph labels, to allow selecting a view by view ID, index, or
position. The corresponding decoder is then set up to decode the
appropriate view and send frames for that view to the correct
filtergraph input(s).
---
  doc/ffmpeg.texi           |  30 ++-
  fftools/cmdutils.c        |   2 +-
  fftools/cmdutils.h        |   2 +
  fftools/ffmpeg.h          |  45 ++++-
  fftools/ffmpeg_dec.c      | 387 +++++++++++++++++++++++++++++++++++++-
  fftools/ffmpeg_demux.c    |  24 ++-
  fftools/ffmpeg_filter.c   |  71 ++++---
  fftools/ffmpeg_mux_init.c |  34 ++--
  fftools/ffmpeg_opt.c      |  70 ++++++-
  9 files changed, 610 insertions(+), 55 deletions(-)

diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
index 842e92ad1a..34007f7ea2 100644
--- a/doc/ffmpeg.texi
+++ b/doc/ffmpeg.texi
@@ -1799,7 +1799,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{[linklabel]} (@emph{output})
+@item -map 
[-]@var{input_file_id}[:@var{stream_specifier}][:@var{view_specifier}][?] | 
@var{[linklabel]} (@emph{output})
Create one or more streams in the output file. This option has two forms for
  specifying the data source(s): the first selects one or more streams from some
@@ -1814,6 +1814,26 @@ only those streams that match the specifier are used 
(see the
  A @code{-} character before the stream identifier creates a "negative" 
mapping.
  It disables matching streams from already created mappings.
+An optional @var{view_specifier} may be given after the stream specifier, which
+for multiview video specifies the view to be used. The view specifier may have
+one of the following formats:
+@table @option
+@item view:@var{view_id}
+select a view by its ID; @var{view_id} may be set to 'all' to use all the views
+interleaved into one stream;
+
+@item vidx:@var{view_idx}
+select a view by its index; i.e. 0 is the base view, 1 is the first non-base
+view, etc.

I tried

./ffmpeg -i ../build/multiview.mov -map 0:v:view:1 -an -sn -f null -

and

./ffmpeg -i ../build/multiview.mov -map 0:v:vidx:1 -an -sn -f null -

with multiview.mov and in both cases both views are output. Am i missing something? I recall this working before. view:0 and vidx:0 work the same as not setting any map (Just the base view is output), which is intended.

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to