1

I am attempting to encode "ProRes 4444" movies with ffmpeg. Some research led me to the "prores_ks" encoder, which is the only one of ffmpeg's prores encoders that supports "4444".

I used this command to test it out (input excluded):

-c:v prores_ks -f mov -profile:v 4444 test.mov

This produces a ProRes 4444 movie. However, the colors appear darker than the original input. After some research I came upon this option:

-vf colormatrix=bt601:bt709

Adding this filter seems to fix the problem. However, the file size is for some reason considerably bigger. Also, I do not like the idea that a filter has to be performed during this encoding, as I want the highest possible quality. Does anyone know of a way to overcome this "color shift" without a video filter?

6
  • 1
    colormatrix filter operates in 8bit only, and you shouldn't use it anyway.
    – user12174
    Commented Feb 19, 2016 at 9:50
  • Also what are input properties, like what colorspace?
    – user12174
    Commented Feb 19, 2016 at 17:47
  • The input is a PNG sequence. Commented Feb 29, 2016 at 22:31
  • What bit depth, could you upload one image somewhere?
    – user12174
    Commented Mar 1, 2016 at 8:44
  • I've tried both 8 and 16 bit, out of After Effects. Here's a PNG and a MOV made with ffmpeg, using command ffmpeg -r 24 -i colorbars_8bit.png -c:v prores_ks -profile:v 4444 colorbars_prores_ks.mov: file.io/SeKH8I Commented Mar 1, 2016 at 17:15

1 Answer 1

1

I believe the problem lies in how FFMPEG does the RGB->YUV conversion by default. This option specifies the use of the bt709 color space for the conversion, instead of the default of bt601. This fixes it for me - though please let me know if I'm doing something bad here!

-vf scale=out_color_matrix=bt709
1
  • 709 is default for HD, 601 for SD.
    – Gyan
    Commented Mar 24, 2016 at 16:28

Your Answer

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

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