我正在使用类似的代码这将 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
假设只需要交换红色和绿色通道,使用
colorchannelmixer=rr=0:rg=1:gr=1:gg=0