WebRTC Android H264 硬解碼支持更多的機型


webrtc更新日期 2017.11.01

WebRTC默認支持使用了高通,英特爾和三星CPU等國際大廠的機型,很多小眾的機型或者新生的CPU沒有開啟支持,需要我們手動添加

修改方法:WebRTC通過MediaCodec來支持硬編碼,我們需要修改的核心文件為以下兩個

./src/webrtc/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
./src/webrtc/sdk/android/api/org/webrtc/MediaCodecVideoDecoder.java

改動后的代碼

private static final String[] supportedH264HwCodecPrefixes = {
    "OMX.qcom.", "OMX.Intel.", "OMX.Exynos."
    ,"OMX.Nvidia.H264."     /*Nexus 7(2012), Nexus 9, Tegra 3, Tegra K1*/
    ,"OMX.ittiam.video."    /*Xiaomi Mi 1s*/
    ,"OMX.SEC.avc."         /*Exynos 3110, Nexus S*/
    ,"OMX.IMG.MSVDX."       /*Huawei Honor 6, Kirin 920*/
    ,"OMX.k3.video."        /*Huawei Honor 3C, Kirin 910*/
    ,"OMX.hisi."            /*Huawei Premium Phones, Kirin 950*/
    ,"OMX.TI.DUCATI1."      /*Galaxy Nexus, Ti OMAP4460*/
    ,"OMX.MTK.VIDEO."       /*no sense*/
    ,"OMX.LG.decoder."      /*no sense*/
    //,"OMX.rk.video_decoder."/*Youku TVBox. our service doesn't need this */
    //,"OMX.amlogic.avc"      /*MiBox1, 1s, 2. our service doesn't need this */
};

 

參考文章

1、RTC8:Webrt中H264編碼相關問題

2、Android 源碼導讀:視頻硬編碼實現分析

3、ijkPlayer 的 IjkMediaCodecInfo.java


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM