我需要將h264流從annex-b格式轉換爲AVCC格式。需要將h264流從annex-b格式轉換爲AVCC格式
我試過這個從h264 annex-b轉換到AVCC: 我從附件流中提取了SPS和PPS並創建了附加數據。 然後我在流中查找了0x00 0x00 0x00 0x01(它應該是每個Nal的開始)並繼續尋找另一個0x00 0x00 0x00 0x01(這將是Nal的結尾)然後減去Nal長度,然後將第一個0x00 0x00 0x00 0x01替換爲0x00 0x00 0x00 [NulSize],但似乎這不會產生有效的流。 然後我發現NUL可以用0x00 0x00 0x01開始/結束,所以我有點困惑。
無論如何,我希望有人能夠寫我功能,從annex-b轉換爲AVCC。
謝謝。
已經知道了。 這沒有幫助。 例如,如果我看到0 0 1,然後嘗試隱藏,但大小超過3個字節,我應該怎麼做?我可以在這種情況下只寫3個字節 - 我應該添加字節嗎? – user3592107
您是否閱讀過鏈接?您需要在每個NALU前寫入NALULengthSizeMinusOne + 1個字節。所以,是的。您可能需要插入或刪除字節,具體取決於您在NALULengthSizeMinusOne中設置的內容。 – szatmary
這不是我的意思。 我寫的長度總是4字節。 現在如果我看到0x00 0x00 0x00 0x01 ... 4字節... 0x00 0x00 0x00 0x01 然後我將它轉換爲0x00 0x00 0x00 0x04 ... 4字節.... 0x00 0x00 0x00 0x01 對不對? I.E這是我唯一需要做的事情嗎? – user3592107