最全RTP协议与RTCP协议简介_rtp和rtcp协议,Flutter最新开源框架

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

RTCP 与 RTP 联合工作:RTP 进行实际数据的传输;RTCP 负责将控制包送至参与通信的每个人,并针对 RTP 正在提供的服务质量做出反馈。

RTP 及 RTCP 在网络协议层中的位置,如下图1-1所示:

RTP 为数据提供了具有实时特性的端到端传送服务,例如在组播或单播网络服务下的交互式视频音频或模拟数据。RTP 本身并不为按顺序传送数据包提供可靠的传送机制,也不提供如流量控制、拥塞控制等服务质量(QoS)保证,这些服务质量的保证由 RTCP 来提供。

RTP 采用“有序传送”方式传输数据,允许数据接收方重组发送方的包序列,同时序列号也可用于决定包的位置。

2 主要功能

RTP 用于实时数据的传输,该协议提供的信息包括:时间戳(用于同步)、序列号(用于丢包和重排序检测)、以及负载格式(用于说明数据的编码格式);

RTCP 用于QoS反馈和同步媒体流。相对于 RTP 来说,RTCP 所占的带宽非常小,通常只有5%。

对于实时多媒体流应用来说,及时传送信息是首要目标,为达到这个目标可以忍受少量丢包问题。例如,在音频传输过程中出现了一次丢包,可能会损失音频数据中的一秒内容,不过这个问题很容易通过合适的隐藏算法掩盖过去,从而不被人注意。由于 TCP 更注重网络传输的可靠性而不是及时性,所以在 RTP 应用中很少使用 TCP,大部分 RTP 的实现都是基于 UDP 的。RTP 和 RTCP 使用的UDP端口范围是“1024至65535”。形成会话的端口由其他协议(例如 RTSP 或 SIP)来协商。

每一个多媒体流都会建立一个RTP会话,一个RTP会话使用两个端口地址(以下称为“UDP端口对”):一个给 RTP、一个给 RTCP。RTP 使用偶数端口号接收发送数据,相应的 RTCP 则使用相邻的下一位奇数端口号。RTP 的会话过程如下:

  1. RTP 从上层接收流媒体信息码流(如 H.263),封装成RTP数据包;RTCP 从上层接收控制信息,封装成RTCP控制包;
  2. RTP 将RTP数据包发往UDP端口对中的偶数端口;RTCP 将RTCP控制包发往UDP端口对中的下一位奇数端口。

3 常见问题

  1. 接收端如何重组接收到的乱序数据包?

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618668825)**

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值