Android7 mediacodec SEI


發現Android7使用mediacodec進行avc編碼,得到的第一個關鍵幀的h264數據中包含SEI這種nal


如果我們不需要,或者加上之後對我們有影響,可以去掉。


private int findNextNalPos(byte[] buf,int pos) {
    for (int i = pos; i < buf.length - 3; i++) {
        if (buf[i] == 0x00 && buf[i + 1] == 0x00 && buf[i + 2] == 0x00
                && buf[i + 3] == 0x01)
            return i;
    }
    return -1;
}





int ret = findNextNalPos(h264buf,4);
while (ret != -1){
    if ((h264buf[ret + 4] & 0x1F) == 5)
        break;
    ret = findNextNalPos(h264buf,ret+4);
}


buf中查找關鍵幀開頭,找到之後拷貝出來就ok了。

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