音视频RTP数据包封装
对于语音通信而言,语音码率较低,添加适当冗余是对抗网络丢包的常见方式。冗余方式有多种,包括 RED , FEC 等都是冗余的一种,如果冗余份数较多,可以采取交织的方式实现。 RFC 3350 是RTP的基础标准协议, RFC 2198 是冗余数据RTP封装的标准协议, RFC 5109 是添加FEC数据的RTP封装标准协议。 RTP格式(RFC 3350) 文档地址: RTP: A Transport Protocol for Real-Time Applications RTP(Real-time Transport Protocol, 实时传输协议)是互联网上常见的处理媒体数据流的网络协议,包括单播和多播等多种场景下的网络环境中媒体数据的传输。RTP是一种应用层协议,一般使用UDP作为底层协议实现数据传输,但并不强制底层协议的选择。RTP不提供任何机制来保证实时的传输和服务质量保证,而是由底层的服务来完成。也就是说,它不保证可靠传输和按序传输,不假定下层网络是否可靠,不限制按照顺序传送数据包。 RTP一般与RTCP同时出现,端口号相邻。一般而言,RTP负责传输数据,RTCP用于传输控制信息,比如提供数据传输质量的反馈。RTCP为每个RTP源提供一个固定的识别符 CNAME 。当SSRC因重启或者冲突发生改变时,可以更加 CNAME 跟踪参与者;或者用 CNAME