[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