Каналы красного и зеленого цвета поменялись местами в видео ffmpeg

885
vpvp

Я использую код, похожий на этот, для передачи данных изображения OpenGL напрямую в ffmpeg. Я использую этот вызов readpixels:

qglReadPixels( 0, 0, glConfig.vidWidth, glConfig.vidHeight, GL_RGB, GL_UNSIGNED_BYTE, 0 );

однако я должен использовать GL_RGB вместо GL_RGBA. В командной строке ffmpeg я изменяю RGBA на RGB24 соответственно. Однако цветовые каналы выходного видео перепутаны (красный поменяется на зеленый). Кажется, я не могу найти какие-либо цветовые форматы GRB, так есть ли способ заменить красный и зеленый каналы в ffmpeg, используя colorchannelmixer?

редактировать: это будет включать установку RR на 0, RG на 1, GG на 0, GR на 1? Какой будет синтаксис для этого?

Благодарю.

1

1 ответ на вопрос

2
Gyan

Предполагая, что нужно поменять местами только красный и зеленый каналы, используйте

colorchannelmixer=rr=0:rg=1:gr=1:gg=0 

Похожие вопросы