2017-03-15 94 views
3

我沒有運氣讓RGBA像素的h264視頻在iOS上工作(在iOS 10.2上測試過)可能嗎? Apple文檔沒有多說:https://developer.apple.com/library/content/documentation/Miscellaneous/Conceptual/iPhoneOSTechOverview/MediaLayer/MediaLayer.htmliOS - 可以播放RBGA視頻嗎?

我沒有太多有趣的代碼可以共享,因爲它只是說AVPlayer不顯示RGBA像素的視頻。

+0

你可以添加一些代碼顯示你的嘗試? –

+0

我很確定它只支持h264中的yuv420。 – szatmary

+0

這也是我的印象。但我無法找到好的資源來確認它。你是否知道其他支持透明度的h264以及適用於iOS的編解碼器? – Guig

回答

3

這是不可能的H264解碼成正是 'RGBA' 但是:使用kCVPixelBufferPixelFormatTypeKey

VTDecompressionSessionCreate還允許kCVPixelFormatType_32BGRA: 一個AVPlayerItemVideoOutput可以設置爲: kCVPixelFormatType_32BGRA

然後渲染時我調酒的像素是這樣的:gl_FragColor.bgra = texture2D(SamplerRGB, v_textureCoordinate);

因此,答案是肯定的,但你必須做的渲染和調酒。

/A

(編輯添加鏈接代碼。):

這裏是蘋果一個真正偉大的項目,將讓你去.. Real-time Video Processing Using AVPlayerItemVideoOutput

只要將它從YUV改變到RGB並繞過着色器的'colorConversionMatrix'部分。

祝你好運!

+0

聽起來不錯。你能分享一些代碼,你如何設置播放器/輸出並傳遞給着色器? – Guig

+0

感謝您的編輯。我會看看並嘗試讓它工作 – Guig