I am processing video with ffmpeg. I am trying to add image overlays at certain times. I have command something like this:

ffmpeg -i video.mp4 -i img_a.png -i img_xx.png -i some_third_image.png -i yy_img.png 
-filter_complex overlay=185:H-h-85:enable=between(t\\,0.1\\,0.3),overlay=285:H-h-415:enable=between(t\\,0.3\\,0.7),overlay=185:H-h-35:enable=between(t\\,0.7\\,1.0),overlay=45:H-h-515:enable=between(t\\,1.1\\,1.6) 
-c:v libx264 -crf 20 -preset veryfast vid0.mp4

As I am forming/passing parameters to ffmpeg dynamically (programatically), there can be really very very long parameters list. So large, I can even recieve message about too long parameter list (based on operating system). I would like to avoid this. I would like to know how to write code with ffmpeg so there would be less parameters passed to ffmpeg? For example, instead:

-i img_a.png -i img_xx.png -i some_third_image.png -i yy_img.png

can it be something like:

-i "img_a.png,img_xx.png,some_third_image.png,yy_img.png"

And if it can, how can those images be processed by ffmpeg (suppose also by filter_complex overlay) ? Please provide example if you can.

  • You could try use -filter_complex_script option and pass parameters as txt file. – Paul B. Mahol Apr 19 at 11:48

Your Answer

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.