Take the 2-minute tour ×
Video Production Stack Exchange is a question and answer site for engineers, producers, editors, and enthusiasts spanning the fields of video, and media creation. It's 100% free, no registration required.

I am trying to use FFmpeg to overlay one video on top of the other using an additive blend. One video is the actual video I want to transcode, the other is a ~10 second long video I want to put into one corner, sort of an animated watermark. The watermark video is some white animated stuff with a black background.

So far, I have tried something along these lines:

$ /d/ffmpeg/ffmpeg.exe -i actualvideo.mkv -i myoverlay.mp4 \
-filter_complex "[1:0] setsar=sar=1 [1sared]; [0:0][1sared] blend=all_mode='addition':repeatlast=1" \
test.mkv

The setsar seemed necessary as otherwise it would complain:

[Parsed_blend_0 @ 00000000043e0e40] First input link top parameters (size 1280x720, SAR 1:1) do not match the corresponding second input link bottom parameters (1280x720, SAR 0:1)

With the setsar there's no complaint, but the output video looks.. mostly pink. Both videos look fine when viewed on their own before I feed them into FFmpeg.

Any ideas? Am I doing something wrong?

share|improve this question

1 Answer 1

up vote 2 down vote accepted

I found a helpful post on stackoverflow that addresses this issue: http://stackoverflow.com/a/21400416/377875

Apparently, it's a problem with color space. Something like this works:

ffmpeg -i "$1" -i "$2" \
-filter_complex "[1:0] setsar=sar=1,format=rgba [1sared]; [0:0]format=rgba [0rgbd]; [0rgbd][1sared]blend=all_mode='addition':repeatlast=1:all_opacity=1,format=yuva422p10le" \
-c:v libx264 -preset slow -tune film -crf 19 \
-c:a aac -strict -2 -ac 2 -b:a 256k \
-pix_fmt yuv420p "$3"

(substitute $1 with your actual video, $2 with your overlay, and $3 with the output file name)

Regards,
Manny

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.