实时传输协议 (RTP)收发流程概览-1

因为现在主流的IP网络部署使用SIP协议比较多,因此RTP和SIP应用相对比较紧密。很多时候,我们花费大量时间讨论SIP协议和传输等问题,没有太多关注RTP流的处理。这里,我们单纯脱离具体应用场景,和读者讨论RTP的一些基本概念。

RTP提供了与信号协议和应用无关的通用媒体传输层。在我们更详细地了解RTP及其系统设计之前,我们应该了解RTP发送方和接收方的基本工作流程。以下是两个IETF和ITU的规范,帮助我们进一步了解RTP。

实时传输协议 (RTP)收发流程概览-1

RTP发送方的处理流程

发送方负责捕获和转换视听数据以进行传输,以及生成RTP数据包。它还可以通过响应接收器反馈来调整传输的媒体流来参与纠错和拥塞控制。发送过程如图所示:

实时传输协议 (RTP)收发流程概览-1

未压缩的媒体数据(音频或视频)被捕获到缓冲区中,并从中生成压缩帧。根据所使用的压缩算法,可以以多种方式对帧进行编码,并且编码帧可以取决于较早和较晚的数据。

压缩帧被加载到RTP数据包中,准备发送。如果帧很大,它们可能会被分成几个RTP数据包;如果它们很小,多个帧可能会捆绑到一个RTP数据包中。根据所使用的纠错方案,信道编码器可用于生成纠错数据包或在传输之前对数据包重新排序。

在发送RTP数据包之后,与这些数据包相对应的缓冲媒体流数据最终被释放。发送方不能丢弃这些数据,这些数据可能是用来进行数据纠错的或编码过程中需要这些数据。此要求可能意味着发送方必须在发送相应的数据包后将数据缓冲一段时间,具体取决于所使用的编解码器和纠错方案。

发送方负责为其生成的媒体流生成定期状态报告,包括唇音同步所需的报告。它还接收来自其他参与方的接收质量反馈,并可以使用该信息来调整其传输。

RTP 接收方处理流程

接收方负责从网络收集RTP数据包、纠正任何丢失数据、恢复定时、解压缩的媒体流,并且将结果呈现给用户。它还发送接收质量反馈,允许发送者调整到接收者的传输,并且它维护会话参与者的数据库。显示了一个RTP接收方的接收过程;

实时传输协议 (RTP)收发流程概览-1

接收过程的第一步是从网络收集数据包,验证它们的正确性,并将它们插入到特定的发送方的输入队列中。从输入队列收集到的数据包并将其传递到可选的通道编码例程以纠正丢失补偿。在通道编码器之后,数据包被插入到指定到源地址的播放缓冲区中。播放缓冲区按时间戳进行排序,将数据包插入缓冲区的过程中会纠正传输过程中引起的排序。数据包保留在播放缓冲区中,直到接收到完整的帧,并且它们会被额外缓冲以消除由网络引起的数据包间时序的变化。计算要添加的延迟量是RTP实现设计中最关键的步骤之一。每个数据包都标有相应帧所需的播放时间。

达到播放时间后,数据包将被分组以形成完整的帧,并且修复任何损坏的或丢失的帧。在进行必要的修复之后,将对帧进行解码(根据所使用的编解码器,可能需要在修复丢失的帧之前对媒体进行解码)。此时,发送方和接收方的时钟速率可能存在明显差异。这种差异表现为RTP媒体时钟值和播放时钟的一个漂移。接收方必须补偿这种时钟偏差,以避免播放中出现空白间隙。

最后,将媒体数据播放给用户。根据媒体格式和输出设备,可以单独播放每个流,例如,呈现多个视频流,每个视频流都在自己的窗口中,或者可能需要将所有源的媒体混合到单个流中进行播放,例如,组合多个音频源以通过单组扬声器进行播放。

从这个简短的概述中可以明显看出,发送方的处理流程相对比较简单,但是RTP接收方的操作很复杂,从流程来讲,接收方的流程比发送方的操作更复杂。在传输过程中存在很多的不可预测的因素会影响接收方的数据接收。这种额外的复杂性主要是由于IP网络的存在很多动态的可变因素:大部分的复杂性因素来自于补偿数据包丢失处理,以及恢复受抖动影响的数据流的时序。

作者:james.zhu
来源:SIP实验室
原文:https://mp.weixin.qq.com/s/ito6d_ehnlZldjqX-v6ySw

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

  • 实时传输协议RTP简况及实现概述

    RTP是由IETF的音频/视频传输工作组开发的,后来被国际电联作为其H.323系列建议的一部分而采用,并被其他各种标准组织采用。RTP的第一个版本是在1996年1月完成的,在完成之…

    2023年4月18日
  • RTP流媒体协议解析

    视频流媒体行业正在蓬勃发展,先进技术在重塑通信和娱乐系统格局方面发挥着举足轻重的作用。实时传输协议(RTP)就是这样一种技术。 RTP 是互联网工程任务组(Internet Eng…

    2023年8月24日
  • 流媒体传输技术rtp

    WebRTC作为一个实时音视频传输技术,实时性是RTC技术的主要评判标准。在整个实时音视频系统中,对实时性影响最大的就是传输层。当今通信技术众多,但是都离不开两个基础的协议,即TC…

    2023年2月5日
  • RTP技术概念中的转换器和混音器

    RTP处理的中间节点,除了普通的终端系统外,RTP还支持可以在会话中对媒体流进行操作的中间设备。RTP定义了两类中间设备:转换器和混音器。 转换器是一种中间设备系统,它在操作RTP…

    2024年4月5日
  • RTP 时间戳的定义和应用

    时间戳单位:时间戳计算的单位不是秒之类的单位,而是由采样频率所代替的单位,这样做的目的就是 为了是时间戳单位更为精准。比如说一个音频的采样频率为8000Hz,那么我们可以把时间戳单…

    2023年4月17日
  • 音视频网络简介及RTP协议起源

    使用包网络(如互联网)传输语音和视频的想法并不新鲜。分组网络上的语音实验可以追溯到20世纪70年代早期。关于这个主题的第一个RFC—网络语音协议-从1977年起。视频出现的较晚,但…

    2023年4月18日

发表回复

登录后才能评论