我查看了RFC,没有任何东西可以解释为什么会发生以下情况(尽管解码器仍然可以生成原始电影)。
我使用VSSH.264编码器传输了H.264/AVC nals,字节流看起来像这样的E5 46 0E 4F FF A0 23...
当我在RTP广播/RTSP接收器之后的接收器端读取电影数据时,我得到额外的未知数据,但总是在相同的位置,8个字节被添加到起始码前缀(0x00000001)之前,2个字节被添加到起始码前缀之后它看起来像这样。
XX 00 00 00 01 XX XX,然后我查看Wireshark,我可以看到RTP将字节添加到数据有效负载。
为什么会这样?为什么?为什么解码器似乎能很好地处理这些额外的字节?!
发布于 2011-09-28 16:11:46
正如我在另一篇文章Changing NALU h.264/avc, for RTP encupsulation中提到的,H.264是通过RFC3984中定义的RTP传输的。这特别定义了如何准确地将大的NAL单元分解成适合较小消息大小的较小部分,例如UDP数据报大小。也就是说,碎片化。
Receiver对数据进行解包并恢复NALU,然后使用这些额外信息来完成此工作。
因此,您实际上需要的是将您拥有的原始数据与RFC 3984格式进行比较。此外,Wireshark已经通过将流量分解为可读项目为您做了部分工作。
https://stackoverflow.com/questions/7580069
复制相似问题