本人对RTP、RTCP、RTSP这三个协议的实现的宏观理解

 公司要求实现一个视频流媒体传输的平滑功能:
    视频服务器向客户端传输实时视频流的时候,由于I帧的大小可能比P帧大几倍,(一般来说每50帧就会出现一个I帧),
这样当从传输P帧转到传输I帧是,那一刻的码率突然间增大,这样会造成网络堵塞。流平滑处理就是要解决这个问题。
在解决这个问题的过程中一般会用到RTP、RTCP、RSTP这三个协议,网上对这三个东西的文档实在太多了,而且介绍这
三个东西的时候总是交叉介绍,比较难理解,下面是本人对这三个协议的宏观理解:

以传输视频流为例:
RTP:  为传输视频流提供时间信息(时间信息大概是指某一个视频数据包的发出时间和收到时间之类),还有提供这些视频
      包传输的同步(就是说控制视频包发送的前后时间顺序)
     
RTCP:根据网络状况(例如网络抖动和网络拥塞等)和客户端状况(例如客户端的视频缓冲区存储情况)来控制视频流传输的速率。

RSTP:控制视频流传输的动作,这个不好解析。举个例子,像PPSTREAM这种软件,你在软件上点击了"播放"以后,该软件就
      通过RSTP协议把动作发送给服务器,服务器收到该动作以后就开始传输视频流。
     
这三个协议之间的某个关系:
    RTP协议把RTP头加入视频流数据(下称RTP视频流)然后通过UDP协议发送出去;RTCP协议控制RTP视频流的发送速率,
其实RTCP就是传递一些帧号、时间戳之类的内容,接收到这些内容的哪一方从这些内容来判断网络状况,修改发送码流的速率,从而达到控制的目的;RSTP 协议控制RTP视频流的发送动作(开始、暂停、停止等等)
     

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值