0

multiply should result in a darker image according to this website. However every multiply options with input that I'm using resulted in darker green videos instead of layering it with colour that I use for layering.

Many people refer that as format issue and resolved by using format=rgba options, however in my case there I'm still stuck.

FFMPEG command :

ffmpeg -i red.jpg -i car.mp4 -y -filter_complex [0][1]scale2ref[a][b];[a]setdar=1/1[c];[b]setdar=1/1[d];[c][d]blend=all_mode=multiply:all_opacity=1[out];[out]eq=contrast=2:brightness=0.5[ckv] -map [ckv] output.mp4

with format=rgba

ffmpeg -i red.jpg -i car.mp4 -y -filter_complex [0][1]scale2ref[a][b];[a]setdar=1/1[c];[b]setdar=1/1,format=rgba[d];[c][d]blend=all_mode=multiply:all_opacity=1[out];[out]eq=contrast=2:brightness=0.5[ckv] -map [ckv] output.mp4

assets in case someone want to try it. - Images - Videos

FFMPEG version 4.1

4
  • Do you want to overlay a red tint on the video?
    – Gyan
    May 28, 2019 at 6:27
  • Yes exacly. I want to overlay it with blend mode multiply, May 28, 2019 at 7:44
  • If you want a tint, don't use mode multiply, use mode overlay.
    – Gyan
    May 28, 2019 at 8:02
  • Shame on me, I just wanna try to replicate photoshop effect with multiply, so multiply on photoshop doesn't have the same effect in FFmpeg? HTML Canvas behave same like photoshop does May 28, 2019 at 8:38

1 Answer 1

1

Your command is wrong, if you enable debug log messages, you would notice that yuv formats are still being used. You need to put format=rgba filter to all inputs and outputs of blend filter to make it work as you want.

5
  • I'm sorry but I'm new to FFmpeg, I tried as you said but the video isn't playable. ffmpeg -i red.jpg -i car.mp4 -y -filter_complex [0][1]scale2ref[a][b];[a]setdar=1/1,format=rgba[c];[b]setdar=1/1,format=rgba[d];[c][d]blend=all_mode=multiply:all_opacity=1[out];[out]eq=contrast=2:brightness=0.5,format=rgba[ckv] -map [ckv] output.mp4 May 28, 2019 at 9:55
  • ffmpeg -i .\car.mp4 -filter_complex "format=rgba" output3.mp4 -loglevel debug Even i tried this the video arent playable, and still resulting on yuv If I'm not mistaken the yuv is coded y,u,v intra: 53.8% 1.8% 1.7% inter: 19.1% 0.5% 0.5% on the end of conversion right? May 28, 2019 at 9:56
  • If you set format as rgba, then ffmpeg will convert to yuv444p for the sake of x264. Add -pix_fmt yuv420p as well.
    – Gyan
    May 28, 2019 at 10:31
  • thanks @Gyan and @Paul, got it working with blend modes multiply ffmpeg -i .\red.jpg -i .\car.mp4 -filter_complex "[0][1]scale2ref[a][b];[a]setdar=16/9,format=rgba[c];[b]setdar=16/9,format=rgba[d];[c][d]blend=all_mode=multiply:all_opacity=1,format=rgba[out];[out]eq=contrast=2:brightness=0.5[ckv]" -map "[ckv]" -pix_fmt yuv420p output3.mp4 May 28, 2019 at 13:37
  • So this is happening if using an image with one colour only. when using coloured images. Everything fine. should be noted thanks. May 28, 2019 at 13:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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