如何解决gstreamer rtsp h264 depayloader中的字节流和打包流有什么区别
在gstreamer rtp h264 depayloader中,将检查输入流是字节流还是打包流。 谁能告诉我这两种格式有什么区别? 同样,对于字节流,codec_data不会写入大写。知道为什么会这样吗?解决方法
H264(NAL)字节流
主要用于直接发送到单台PC上的解码器,而不通过网络传输。它具有简单的格式规则:
每帧均以相同的3字节起始码
0x000001
开头
字节流必须以“序列参数集”帧开始,然后是“图像参数集”帧,然后可以跟随其他帧(I,P,B)
其中的所有帧都是整帧-如果IDR帧的大小为10MB,则从其“ 0”开始代码到下一帧的“ 0”开始代码将为10MB。
H264打包流
它仅用于在有限的MTU网络上通过TCP传输。每个网络都有可以通过TCP一次发送的MTU(最大传输单元)。通常大约是1500个字节。因此,如果要通过TCP发送10 MB IDR帧,则必须将其拆开,以便各部分适合MTU。以这种方式采用的H264流称为打包流。
为了解码此流,您必须在接收端重建整个帧,然后通常需要从中生成H264 NAL字节流,以便可以将其发送到解码器...
打包规则可在此处找到:http://www.rfc-editor.org/rfc/rfc3984.txt
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。