Get rid of the
movie source filter and use
-filter_complex (used for filtering with multiple inputs) instead of
-vf (used for filtering with one input). Now you can simply list your inputs as usual, and then tell each of your filters which inputs you want them to work with.
Since you only have two inputs you can simply do:
ffmpeg.exe -i x:\test1\video.mov -i x:\test2\overlay.mov -filter_complex overlay x:\test3\video_overlay.mov
This would be the same as:
ffmpeg.exe -i x:\test1\video.mov -i x:\test2\overlay.mov -filter_complex "[0:0][1:0]overlay[out]" x:\test3\video_overlay.mov
For me, this is the only version working at all setups (double-escaped colon does not work in git bash under windows):
While @LordNeckbeard’s solution is the one I would personally use (because I find it more readable), the problem may well be with those backward-slashes. Try using
FFmpeg is primarily developed for *nix systems, where
\ is used as an escape character rather than a separator; and furthermore, ffmpeg’s filterchains/filtergraphs are a special case, hence needing to be quoted.