2014-10-16 87 views
0

我們是否可以直接在Android屏幕中從ffmpeg流輸出(AV_PIX_FMT_YUV420P)渲染YUV幀而不轉換爲RGB格式?在Android本機中渲染YUV ffmpeg幀ndk

+0

這個問題是不是一樣的http://stackoverflow.com/questions/26336024/rendering-yuv-format-in-android? – fadden 2014-10-16 17:36:04

+0

@fadden是的,當我試圖直接在屏幕上呈現YUV,我得到了一秒鐘的視頻顯示和應用程序停止,你能幫我如何擺脫這個.. – vgokul129 2014-10-17 05:57:02

回答

2

我最近在Google WebRTC開源項目上有過一些經驗。

它提供了一個完整封裝的視頻通話示例,還包含一個Android演示。

演示所做的是顯示解碼的視頻幀,即I420(YUV420P)像素格式。

看看源代碼:https://code.google.com/p/webrtc/source/browse/trunk/webrtc/modules/video_render/android/video_render_opengles20.cc

+0

上面的鏈接是有用的。謝謝,我我正在尋找與OPENGLES1相同的一些教程,您可以幫助它... – vgokul129 2014-10-17 11:29:40

+0

在Google WebRTC演示中,對於沒有ES 2.0的用戶,使用基於libyuv的YUV - > RGB轉換。其中提供了許多優化,包括NEON SIMD版本。我也同意這種方法,因爲如果ES 2.0不可用,最好依靠CPU而不是GPU。 – 9dan 2014-10-18 18:29:30

+0

https://code.google.com/p/webrtc/source/browse/trunk/src/modules/video_render/main/source/android/video_render_opengles20.cc?r=1988 – 2015-06-10 18:03:40