Suppose I import three videos:

-i 'video0.mov'
-i 'video1.mov'
-i 'video2.mov'

Then I open a filter_complex. I can send the videos filters by referring to their number, which ffmpeg documentation calls "file_index": [0], [1], and [2].

This is fine, but suppose I come back later and remove everything related to video1.mov and the line that imports it. Now [1] refers to video3.mov and there is no [2] at all.

In the filtergraph I can apply a label by sending the video to a labeled output, ie:

[0] copy [video0]

but I have to be able to address the original file_index first.

I'm trying to do irritatingly complicated things with scripts, which include things like "import a png and overlay it, or not, based on a boolean setting". Once you have more than one import line that may or may not happen, labeling becomes an issue.

Is there any way to apply a label to an input at the time of import, so I never have to use file_index and won't break anything if the number or order of imports changes?

New contributor
Robert is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • Not possible. Feel free to open an enhancement ticket at trac.ffmpeg.org. See 'Submitting a bug report'
    – Gyan
    Aug 6 at 4:27
  • @Gyan Will do, thank you.
    – Robert
    Aug 6 at 7:31


Your Answer

Robert is a new contributor. Be nice, and check out our Code of Conduct.

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.