我没有运气获得带有RGBA像素的h264视频在iOS上运行(在iOS 10.2上测试)是否可能? Apple文档并没有多说这些:https://developer.apple.com/library/content/documentation/Miscellaneous/Conceptual/iPhoneOSTechOverview/MediaLayer/MediaLayer.html
我没有太多有趣的代码可供分享,因为AVPlayer并没有显示RGBA像素的视频。
答案 0 :(得分:3)
无法将H264解码为完全' RGBA'然而: 可以使用 kCVPixelBufferPixelFormatTypeKey
将 AVPlayerItemVideoOutput 设置为: kCVPixelFormatType_32BGRA和
VTDecompressionSessionCreate 还允许: kCVPixelFormatType_32BGRA 。
然后在渲染时我会像这样调整像素:gl_FragColor.bgra = texture2D(SamplerRGB, v_textureCoordinate);
所以答案是肯定的,但你必须做渲染和混合。
/ A
(编辑。添加了代码链接):
这是Apple推出的一个非常棒的项目,可以帮助您实现目标.. Real-time Video Processing Using AVPlayerItemVideoOutput
只需将它从YUV更改为RGB并绕过' colorConversionMatrix'着色器的一部分。
祝你好运!