Google你能把Android的多媒體搞得再爛一些嗎

微巖發表於2017-03-09

搞了幾年Android多媒體了,最感受就是Android的多媒體真的非常爛!
@Google,你做的再爛一點嗎?

最近在搞Android視訊編碼,真是快被折騰瘋了,最早用FFmpeg x264編碼,雖然做了很多優化,但是效率還是一個問題;最後採用硬編碼去搞,在解決了一系列的問題後算是跑通了,但是最後發現畫面質量low的讓我懷疑是不是我眼瞎!!!
同樣的位元率,在Android編出來的和IOS沒法比,差好幾個量級,完全不是一個時代的東西,和FFmpeg設定SuperFast編出來的效果有的一拼了。我當時就想,壞了!!估計又掉谷歌的坑裡了,最後發現果然如此,谷歌還真沒讓人失望(#‵′)凸!!
Android硬編碼採用的是H264,通過檢視錄製的視訊,發現採用的全是H264 Baseline,Baseline這是哪個年代的玩意了,這特麼不是坑爹嗎!在往上還有MainProfile,HighProfile,更別提HighProfile還有多個版本了。

在相同配置情況下,Highprofile(HP)可以比Mainprofile(MP)節省10%的碼流量,比MPEG-2 MP節省60%的碼流量,具有更好的編碼效能。

上面是大家比較認可的一組資料,其中壓根就沒有提到Baseline,我目前的測試情況是:
IOS視訊引數為720P,FPS = 30,GopSize = 30,BitRate = 1.65Mb/s
Android平臺採用除BitRate之外的相同引數,硬編碼要達到同等級的畫面質量位元率差不多需要3Mb/s(目前只是初步分析,還未採用專業的視訊畫質評測工具進行分析)這意味什麼…………這意味著:如果要達到相同畫質的話,Android錄製的視訊檔案幾乎是IOS的兩倍!!!
面對這種結果我接受不了,老闆更接受不了,只能調研下Android到底能不能設定MediaCodec Profile。
首先看的是Android原生攝像機,太扯淡了……
先看720P的視訊:
這裡寫圖片描述

位元率約為11.6Mb/s

再看看4k的:
這裡寫圖片描述
位元率約40Mb/s
這裡解釋下位元率,我們看到的檔案大小都是按照位元組計算的,比如1GB,1MB,1KB,位元組和位元的換算是1:8,即把位元率除以8等於每秒視訊需要的儲存空間。
幾個例子吧:以前我們看到的720P的電影大小約為2G,時長約為2個小時,每秒大小0.57MB,位元率約為4.5Mb/s。如果按照Google那玩意編碼,同樣的電影其大小差不多得5個G!!!而且還不能保證達到原有的效果!!!

調研了半天發現Google MediaCodecInfo API有設定Level和Profile的介面:

MediaCodecInfo.CodecProfileLevel

這裡寫圖片描述

我有些懷疑……………………
繼續查,發現這個功能在API 16上就是一假的,壓根不能用只能用Baseline,在Android M上才實現:

KEY_LEVEL was added in Android 6.0 (API 23)

但是還有問題:

There are additional issues with profile selection. E.g. PROFILE is set to baseline profile for AVC as of Android 6.0 even if specified. This is planned to be fixed in the future.

不論是過去還是現在,多媒體是手機上非常重要的一個功能,只是Google做的太爛了,看看現今比較流行的多媒體應用(Snapchat,Instagram,映客,陌陌,快手等等),IOS的效果要遠遠好於Android,這並不是說Android開發人員能力的問題,Android平臺相當一部分多媒體功能的實現還是依賴於FFmpeg,但是FFmpeg的效率始終是個問題。相比於IOS的AVFoundation來說,在Android平臺往往需要花費數倍的投入,而且最終效果可能還不急IOS,對於Android開發人員來說實在是個悲哀,因為老闆只看最終結果,而結果卻是Android投入更多,開發時間更長,效果卻最次。

Google自從5.0之後就開始狂發版本,但是有個卵用,7.0引入和分屏功能看似很炫,但是又有何用,真正使用者需要的比如許可權控制,效能優化,續航,穩定性等等這些又在哪裡?其PPT簡直就是在扯淡,和當年畝產萬斤簡直有著異曲同工之妙!!

截至3月6日,在過去7天的時間內對訪問Google Play的所有裝置進行統計彙總:[1]
這裡寫圖片描述

參考文獻
[1] Android三月版本分佈圖出爐:Nougat環比增加133%

相關文章