1

Я использую код, похожий на этот, для передачи данных изображения 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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .