問題描述
在給MP4加特效后二次合成編碼時(shí),發(fā)現(xiàn)在某些手機(jī)上二次編碼后的視頻出現(xiàn)嚴(yán)重的模糊鹉勒、花屏問題帆锋,但是原視頻也是同一個(gè)手機(jī)錄制的編碼就沒問題,只是在二次編輯后才會(huì)出現(xiàn)這個(gè)問題
解決方案
最后發(fā)現(xiàn)是由于MediaFormat.KEY_BITRATE_MODE設(shè)置的參數(shù)問題導(dǎo)致的禽额,默認(rèn)錄制視頻時(shí)設(shè)置的參數(shù)值為: MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_VBR是沒問題的窟坐,但是如果錄制編碼成h264后再解碼做二次操作后再次編碼成h264時(shí)就會(huì)在有些手機(jī)上編出來的視頻模糊、花屏绵疲,后來改為: MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_CQ就可以了哲鸳!
關(guān)于MediaFormat.KEY_BITRATE_MODE有3種可選值:
- BITRATE_MODE_CQ: 表示完全不控制碼率,盡最大可能保證圖像質(zhì)量
- BITRATE_MODE_CBR: 表示編碼器會(huì)盡量把輸出碼率控制為設(shè)定值
- BITRATE_MODE_VBR: 表示編碼器會(huì)根據(jù)圖像內(nèi)容的復(fù)雜度(實(shí)際上是幀間變化量的大锌)來動(dòng)態(tài)調(diào)整輸出碼率徙菠,圖像復(fù)雜則碼率高,圖像簡單則碼率低郁岩;