[FFmpeg-devel] [RFC] On behaviour of unlabelled outputs in filtergraphs.

Gyan Doshi gyandoshi at gmail.com
Wed May 9 12:15:34 EEST 2018


In the open ticket 7089, I reported that (terminal) filters with 
unlabelled output pads are automatically forwarded to the first output 
file and ordered before any expressly mapped streams. There's no warning 
issued.

Is this behaviour intended?


In the section on filtergraph syntax @ 
https://ffmpeg.org/ffmpeg-filters.html#Filtergraph-syntax-1,

it says,

     "If an output pad is not labelled, it is linked by default to the
      first unlabelled input pad of the next filter in the filterchain."

and

     "In a complete filterchain all the unlabelled filter input and
      output pads must be connected. A filtergraph is considered valid
      if all the filter input and output pads of all the filterchains are
      connected."

There's no mention of unlabelled output pads being sent to an output file.

-----

If the present behaviour does not constitute a bug I'll modify the docs. 
However, I believe it should be considered a bug.

In the section on Stream Selection @ 
https://ffmpeg.org/ffmpeg.html#Stream-selection,

it says,

     "By default, ffmpeg includes only one stream of each type (video,
      audio, subtitle) present in the input files and adds them to each
      output file. It picks the "best" of each ... For full manual
      control, use the -map option, which disables the defaults just
      described."

So, in the absence of any map directives, only one stream at most of 
each of the three stream types should be included, and these should be 
the 'best' streams from among the inputs. But all unlabelled output pads 
are included, however many they are, and none of them may be the 'best' 
stream since the stream(s) being filtered may not have been selected on 
the same criterion.

And in the presence of the map option, by automatically including 
streams, "full manual control" is not true.


Regards,
Gyan


More information about the ffmpeg-devel mailing list