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

  • Do you want to overlay a red tint on the video? – Gyan May 28 '19 at 6:27
  • Yes exacly. I want to overlay it with blend mode multiply, – mandaputtra May 28 '19 at 7:44
  • If you want a tint, don't use mode multiply, use mode overlay. – Gyan May 28 '19 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 – mandaputtra May 28 '19 at 8:38

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.

| improve this answer | |
  • 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 – mandaputtra May 28 '19 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? – mandaputtra May 28 '19 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 '19 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 – mandaputtra May 28 '19 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. – mandaputtra May 28 '19 at 13:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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