RTP发送方和RTP接收方处理流程示例说明

RTP发送方和RTP接收方处理流程示例说明

简单来说,在SIP网络环境中,用户一般都通过一端的SIP终端通过媒体服务器对对端发送RTP流。一方是RTP发送方,另外一方是RTP接收方。

RTP发送方和RTP接收方处理流程示例说明

RTP发送方和RTP接收方处理流程示例说明

发送方首先捕获未压缩的媒体流数据,存储为buffer, 然后经过解码器处理,根据解码器算法不同,输出为压缩的frame 帧数。压缩的frame进行打包处理,如果数据包比较大的话,进行分包处理,以RTP数据包的形式发送到通道coder,进行错误纠正处理或者数据包重新排列流程,最后通过网络发送到对端网络中。另外,发送方同时要针对媒体流生成一个周期性的报告,包括了同步数据,接收方会根据这个报告调整其接收策略。

对端网络则执行相反的处理流程,但是更加复杂,这里仅做简单重点说明。对端网络收到数据包以后,验证数据的有效性,然后插入到输入队列中等待下一步处理。通道coder然后进行丢包修正处理。数据包插入到buffer中。

buffer中的数据通过时间戳重新排序。最后一个数据包收到以后,移除网络引起的各种无效数据。
frame数据重新进行修复,通过解码器解码,修正时钟,确保接收方和发送方数据时钟一致。
根据媒体格式和接收方终端的支持能力,通过mix对数据接收方以混音或者单个语音的方式发送。

评论已关闭。