I have a list of raw bitmap in rgba format, captured with an openGL frameBuffer. I want to export them in a video, currently i am using the following command:

ffmpeg -f rawvideo -r 30 -pix_fmt rgba -s 1920x1018 -i - -threads 0 -y -c:v libx264 -pix_fmt yuv420p -b:v 8000K -vf vflip,drawbox=10:20:200:60:red@1:t=fill result.mp4

When I open the output video in different viewers (vlc, windows media player), the resulting color are shifted and appears more green.

For example I draw a solid red rectangle (255, 0, 0) got translated to (255, 24, 0)

I have played with pix_fmt and the format filter with no result.

enter image description here

  • got translated to --> measured, how? – Gyan Mar 18 at 10:02
  • screen capture and paint's color Picker, but it's visible in the video. The player might be the problem i try 2 of them, if you know a way to keep the original pixel value just for testing purposes – Draykoon D Mar 18 at 10:04

In the end I add to use the following options and tell ffmpeg wich colorSpace i am using and how to decode it to display on screen.

ffmpeg -f rawvideo -r 30 -pix_fmt rgba -s 1920x1017 -i - -threads 0 -y -c:v libopenh264 -pix_fmt yuv444p -b:v 8000K -vf vflip,scale=out_color_matrix=bt709 -color_primaries bt709 -color_trc bt709 -colorspace bt709 output.mp4

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.