關於MediaCode播放H265/hevc的總結

H.265 High Profile 可實現低於1.5Mbps的傳輸帶寬下,實現1080p全高清視頻傳輸。

H.265/HEVC的編碼架構大致上和H.264/AVC的架構相似,主要也包含,幀內預測(intra prediction)、幀間預測(inter prediction)、轉換 (transform)、量化(quantization)、去區塊濾波器(deblocking filter)、熵編碼(entropy coding)等模塊,但在HEVC編碼架構中,整體被分爲了三個基本單位,分別是:編碼單位(coding unit,CU)、預測單位(predict unit,PU) 和轉換單位(transform unit,TU )。

比起H.264/AVC,H.265/HEVC提供了更多不同的工具來降低碼率,以編碼單位來說,H.264中每個宏塊(macroblock/MB)大小都是固定的16x16像素,而H.265的編碼單位可以選擇從最小的8x8到最大的64x64

除了在編解碼效率上的提升外,在對網絡的適應性方面H.265也有顯著提升,可很好運行在Internet等複雜網絡條件下。

H.265是ITU-T VCEG 繼H.264之後所制定的新的視頻編碼標準。H.265標準圍繞着現有的視頻編碼標準H.264,保留原來的某些技術,同時對一些相關的技術加以改進。新技術使用先進的技術用以改善碼流、編碼質量、延時和算法複雜度之間的關係,達到最優化設置。具體的研究內容包括:提高壓縮效率、提高魯棒性和錯誤恢復能力、減少實時的時延、減少信道獲取時間和隨機接入時延、降低複雜度等。H264由於算法優化,可以低於1Mbps的速度實現標清數字圖像傳送;H265則可以實現利用1~2Mbps的傳輸速度傳送720P(分辨率1280*720)普通高清音視頻傳送

說了這麼多那麼我們來看一下具體的程序代碼怎麼實現。

在Android端我們使用MediaCodec的異步實現流程即可實現播放。

具體步驟:1.獲取自己所需要播放的數據

2.拷貝我的資源:地址:https://download.csdn.net/download/qq_29247839/11461698

3.實例化view

3.運用輸出流

 ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        int readSize = 0;
        try {
            readSize = bytes.length;
            byteArrayOutputStream.write(bytes,0, readSize);
            byteArrayOutputStream.close();
            mSurfaceView.onReceived(byteArrayOutputStream.toByteArray());//調用方法
            SystemClock.sleep(50);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (byteArrayOutputStream != null) {
                try {
                    byteArrayOutputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章