我發現MediaPlayer
不能播放由H.264 Main Profile
編碼的視頻,我試圖ExoPlayer
和Vitamio
但它們都沒有解決我的問題。最後我發現最好的解決方案是將視頻轉換爲H.264 Baseline Profile
。 FFmpeg
差不多是9MB,對我的項目來說太重了,所以我不喜歡用它通過命令將視頻轉換成該配置文件。我的朋友建議在服務器端轉換視頻,但我們都知道它的性能不佳。我該怎麼辦?這個問題的最佳解決方案是什麼?Android的 - 最好的解決方案轉換記錄標準H.264 Main Profile視頻,H.264 Baseline Profile的
2
A
回答
6
Android在技術上只支持H.264 Baseline,但許多較新的(通常是高端設備)也會播放H.264 Main Profile。例如,Nexus 4,5,6,7和10都可以。所以,你有幾個選擇......你可以使用H.264 Main,不關心那些不支持它的舊設備,或者你在服務器端進行轉換。在設備上進行轉換是個不錯的主意。如果它不支持H.264 Baseline,那麼可能是出於性能原因,並在設備上進行轉換,然後解碼將會破壞CPU。值得注意的是,ExoPlayer將使用與MediaPlayer相同的設備編解碼器,因爲它只是MediaCodec的包裝。 Vitamio是ffmpeg的一個包裝,它可能提供一個帶有自定義ffmpeg版本的H.264 Main編解碼器,但是如果它不在首位,性能可能是一個問題。
相關問題
- 1. H.264視頻編碼
- 2. Flowplayer H.264視頻編碼
- 3. Java - h.264視頻編碼
- 4. 如何將視頻從H.264轉換爲H.265
- 5. H.264流標頭
- 6. H.264到MPEG2轉換
- 7. MPEG2TS容器中的H.264視頻
- 8. 將H.264轉換爲H.263的Android手機
- 9. Firefox中的H.264
- 10. 十進制到H.264的base64轉換
- 11. H.264視頻格式(YUV420p vs YUV420sp)
- 12. 將Raspivid的Netcat H.264視頻轉換爲OpenCV
- 13. h.264 udp流解碼
- 14. h.264和mpeg標題
- 15. 使用FFmpeg編碼H.264 CBR視頻
- 16. FFMPEG H.264到JPEG實時視頻
- 17. 驗證視頻編碼爲H.264
- 18. iOS流媒體直播h.264視頻
- 19. Android H.263或H.264文件?
- 20. h.264字節流解析
- 21. 解碼H.264沒有流
- 22. h.264解析訓練
- 23. H.264編解碼器
- 24. H.264保存在Android
- 25. Chrome中的H.264 H.264播放 - 音頻聽起來像撒旦
- 26. 將VP8 RTP視頻流轉換爲H.264
- 27. H.264視頻幀數據轉換爲UIImage
- 28. 將.mkv轉換爲h.264 FFmpeg
- 29. Openmax on Android for H.264解碼器?
- 30. WPF GUI中的H.264流
我們已經在服務器端轉換視頻,但我們懷疑它的性能。我們認爲像Instagram這樣的應用以另一種方式處理這個問題。我們正在努力解決這個問題近兩個月!如果你對這個問題及其解決方案有更多的瞭解,或者你親身經歷過這個問題,請與我們社區分享,包括我。 – Alireza
支持大多數Android設備需要提供H.264 Baseline。從主或高轉換需要解碼和編碼以去除B幀以達到基線。在設備上這樣做是不實際的,因爲解碼可能首先不被支持。對於擁有這些資源的公司,我懷疑他們會緩存多種格式和比特率的服務器端,然後根據設備支持的功能和網絡質量,通過分段的MP4(或類似的)動態地提供它們。 – Kaleb