我需要将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