RTP/RTCP/RTSP负载H264的一些问题小结
来源:互联网 发布:java权限代码 编辑:程序博客网 时间:2024/04/28 01:35
以下内容都是基于rfc3984,RTP负载H264时的参数配置
1、在TCP传输时,Transport头中的interleaved参数必须设置,比如0-1,或者2-3(海康的流中出现了4,但是没有配置,所以wireshark也无法解析channel=4的rtp interleaved frame)。该参数的第一个值是RTP包标识,第二个参数是RTCP包的标识。在海康流测试中,TCP包没有出现1或3,也就是标准中的RTCP包,不过UDP下是有完整的RTCP包的。TCP传输时,每次先接收4个字节的rtp interleaved frame,其结构定义:第一个字节固定"$" (dollar符),第二个字节channel值取自interleaved参数,区分RTP/RTCP,第三四字节代表后续RTP/RTCP包的长度,所以TCP方式下,应该先接收4字节,首先校验第一字节,其次判断第二字节即后续包类型,最后接收后续包。
2、在UDP传输时,Transport头中没有interleaved参数(只能用于TCP),而用端口代替。客户端setup:Transport增加参数client-port:8000-8001,服务器返回时再增加参数server-port:37800-37801。参数含义类似于TCP,第一个值是接收/发送RTP包的端口,第二个值是接收/发送RTCP包的端口。所以TCP时叫交错传输,UDP时是非交错传输。
3、Transport头只能出现在setup命令中。
4、在Describe命令返回的reply包中,带有负载sdp。
5、sdp参数:流参数a=必须紧跟在对应的m=之后。
6、sdp参数:fmtp中:packetization-mode代表传输模式,有三个取值0Single NAL unit mode 1Single NAL unit mode 2Single NAL unit mode,海康的TCP这里设置是1
- RTP/RTCP/RTSP负载H264的一些问题小结
- RTP RTCP RTSP的联系
- RTP/RTSP/RTCP的区别
- RTP/RTSP/RTCP的区别
- RTP/RTSP/RTCP的区别
- RTP/RTSP/RTCP的区别
- RTP/RTSP/RTCP的区别
- RTP/RTSP/RTCP的区别
- RTP/RTSP/RTCP的区别
- RTP/RTSP/RTCP的区别
- RTP/RTSP/RTCP的区别
- RTP/RTSP/RTCP的区别
- RTP/RTSP/RTCP的区别
- RTP/RTSP/RTCP的区别
- RTP/RTSP/RTCP的区别
- RTP/RTSP/RTCP的区别
- RTP/RTSP/RTCP的区别
- RTP/RTSP/RTCP的区别 .
- Python学习笔记(四)dict和set
- mysql 每日备份
- iOS开发:用 Instruments 来检验你的app
- Bitmap.createBitmap
- JNDI配置数据源
- RTP/RTCP/RTSP负载H264的一些问题小结
- dp基础习题(4.7)
- iOS中self.xxx 和 _xxx 下划线的区别
- X86/X64处理器体系结构及寻址模式
- android SQLiteOpenHelper 和 DatabaseErrorHandler源码解析
- 偏执却管用的10条Java编程技巧
- hdoj 1002 大数(叔)处理 :)
- 【MFC】:MFC中列表的使用
- wp_head()函数