【问题标题】:iOS - is it possible to play RBGA videos?iOS - 可以播放 RBGA 视频吗?
【发布时间】:2017-03-15 22:29:04
【问题描述】:

我没有运气让带有 RGBA 像素的 h264 视频在 iOS 上运行(在 iOS 10.2 上测试)有可能吗? Apple 文档对此并没有多说:https://developer.apple.com/library/content/documentation/Miscellaneous/Conceptual/iPhoneOSTechOverview/MediaLayer/MediaLayer.html

我没有太多有趣的代码可以分享,因为只是 AVPlayer 不显示带有 RGBA 像素的视频。

【问题讨论】:

  • 你能添加一些代码来显示你的尝试吗?
  • 我很确定它只支持 h264 中的 yuv420。
  • 这也是我的印象。但我找不到好的资源来确认它。你知道除 h264 之外的支持透明度并适用于 iOS 的编解码器吗?
  • 啊,不——你必须在 ios 上滚动你自己的透明度。可以完全更换播放器,或者看看AVVideoCompositionRenderContext(后者没试过)

标签: ios video avfoundation


【解决方案1】:

但是,无法将 H264 准确解码为“RGBA”: AVPlayerItemVideoOutput 可以设置为:kCVPixelFormatType_32BGRA 使用 kCVPixelBufferPixelFormatTypeKey

和

VTDecompressionSessionCreate 还允许:kCVPixelFormatType_32BGRA。

然后在渲染时我像这样调整像素:gl_FragColor.bgra = texture2D(SamplerRGB, v_textureCoordinate);

所以答案是肯定的,但你必须进行渲染和调配。

/A

(编辑。添加代码链接):

这是 Apple 的一个非常棒的项目,可以让你继续前进。Real-time Video Processing Using AVPlayerItemVideoOutput

只需将其从 YUV 更改为 RGB 并绕过着色器的“colorConversionMatrix”部分。

祝你好运!

【讨论】:

  • 听起来不错。您能否分享一些代码来说明您如何设置播放器/输出并将其传递给着色器?
  • 感谢您的编辑。我会看看并尝试让它工作
猜你喜欢
  • 1970-01-01
  • 2020-03-04
  • 1970-01-01
  • 1970-01-01
  • 2011-10-29
  • 1970-01-01
  • 1970-01-01
  • 2019-09-17
  • 1970-01-01
相关资源
最近更新 更多