視頻以YUV色彩空間進行編碼。 Android API僅支持RGB開箱即用。 Android視頻播放器作爲VPlayer或MX Player的流行程度如何解決此問題?流行的Android視頻播放器中的視頻呈現方法
回答
2級通用的解決方案:
- 使用純軟件算法,可將YUV - > RGB。
- 使用3D着色器硬件來完成YUV→RGB轉換。
另外,問題是否這是最佳方法(即,這意味着您正在解碼軟件中的視頻) - 你應該這樣做嗎?硬件能否處理它(並同時顯示)?
他們大多使用的ffmpeg到音頻/視頻解碼:
https://sites.google.com/site/mxvpen/ffmpeg
https://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20compile%20FFmpeg%20for%20Android
FFMPEG提供轉換YUV-> RGB throgh sws_scale功能,但速度很慢。 – ildaronline
MX播放器使用,我也用它在一個應用程序,它爲我工作得很好! – thiagolr
你有類似的高清視頻播放框架像MX播放器? – ildaronline
在OpenCV中,你可以做到這一點
cv::Mat myuv(height + height/2, width, CV_8UC1, (unsigned char *) mem);
cv::Mat bgr(width, height, CV_8UC3);
cv::cvtColor(myuv, bgr, CV_YUV420sp2RGB, 3);
- 1. Android的視頻流式播放器
- 2. 如何在YouTube視頻播放器中播放YouTube視頻中的視頻android
- 3. 的Android視頻播放器
- 4. 視頻播放器播放視頻
- 5. 如何從Android的YouTube視頻視頻播放視頻視頻?
- 6. Android:實時流視頻URL播放器
- 7. 如何播放RTMP視頻流中的視頻url在Android
- 8. 在Brightcove視頻播放器中播放第三方視頻
- 9. Android視頻播放器視頻流(目前正在使用ExoPlayer)
- 10. PyQt5 - 無法播放流中的視頻
- 11. 在視頻播放中播放視頻
- 12. Android: - 視頻播放器
- 13. Android多視頻播放器
- 14. Android Brightcove視頻播放器
- 15. Android:無法播放視頻
- 16. 如何從android中的庫中播放視頻播放器中的視頻?
- 17. 用於檢測第三方視頻播放的Android服務視頻播放器
- 18. Android的實時視頻流不播放
- 19. Avplayer視頻播放方法
- 20. android視頻播放
- 21. Android視頻播放?
- 22. Android播放視頻
- 23. 視頻停止播放視頻播放:(布爾)動畫方法
- 24. 在iphone中播放視頻播放器中的視頻播放器
- 25. 支持HTTP視頻流的Xamarin視頻播放器
- 26. Android中的視頻播放器問題
- 27. android中的浮動視頻播放器?
- 28. Android中的視頻播放器問題
- 29. 播放視頻流在iPhone
- 30. 是否有任何可以播放視頻byteArray流的flex視頻播放器?
_USE 3D渲染硬件做重型轉換YUV - > RGB._ 我用glTexSubImage2D使用着色器嘗試過。它甚至比軟件YUV-> RGB轉換慢。當屏幕的某些部分來自一個畫面而另一個畫面來自另一個畫面時(也許是由於延遲),我在高清視頻中看到了人爲因素。我聽說glTexSubImage2D本身不是很慢,因爲它使用從RAM複製紋理數據到GPU內存(但我可能是錯的)。 – ildaronline
_使用純軟件算法來轉換YUV - > RGB._ 這個原理使用CPU,這對我來說是不可察覺的,因爲我也同時使用ffmpeg來解碼來自視頻的幀。 – ildaronline
你使用什麼樣的硬件?這可能會影響速度。 –