You just need to create a filterchain consisting of your additional filters:
ffmpeg -i Upside_Down.mov -r 1 -i overlays_%d.png -c:v libx264 -c:a copy -filter_complex "[0:v][1:v]overlay,vflip,hflip,format=yuv420p[out]" -map "[out]" -map 0:a output.mkv
I like to explicitly label the filter input and output link labels so you know exactly what is going on instead of relying on possibly unknown defaults.
[0:v]
refers to the video stream(s) of the first input (Upside_Down.mov
), and[1:v]
refers to the video stream(s) of the second input (overlays_%d.png
).I added
-c:a copy
to stream copy the audio instead of re-encoding it, but I'm unsure ifUpside_Down.mov
contains audio. This is one reason why you should always include the completeffmpeg
console output from your command.Since changing the pixel format can be performed via filtering I changed from
-pix_fmt
to theformat
video filter so any potential conversion can occur exactly when you want it to. I did the same with-r
and thefps
video filter (but I'm not sure why you potentially change the frame rate: the console output would have been useful).Also see: How to flip a video 180° (vertical/upside down) with FFmpeg?