Предполагая, что нужно поменять местами только красный и зеленый каналы, используйте
colorchannelmixer=rr=0:rg=1:gr=1:gg=0
Я использую код, похожий на этот, для передачи данных изображения 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? Какой будет синтаксис для этого?
Благодарю.
Предполагая, что нужно поменять местами только красный и зеленый каналы, используйте
colorchannelmixer=rr=0:rg=1:gr=1:gg=0