[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 

Is this behaviour intended?

In the section on filtergraph syntax @ 

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."


     "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

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 @ 

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

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.


More information about the ffmpeg-devel mailing list