视频编解码 - RTP 与 RTCP

Posted 为了维护世界和平_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了视频编解码 - RTP 与 RTCP相关的知识,希望对你有一定的参考价值。

目录

RTP 实时传输协议

RTCP协议

将H264 RTP打包


RTP 实时传输协议

        音视频数据传输,先将原始数据经过编码压缩后,将码流打包成一个个RTP包,再将码流传输到接收端。

打包的作用

        接收端要正确地使用这些音视频编码数据,不仅仅需要原始的数据码流,还需要一些额外的信息当前编码标准,H264 H65等

        按照什么速度播放视频?

        RTP告知接收端一些必要的信息。

        网络带宽预测和拥塞控制。

RTP传输的协议UDP,不具有丢包重传和拥塞控制,需要另外实现,要用到RTCP协议

RTCP协议

        实时传输控制协议,辅助RTP协议使用。

        其报文有多种,发送端报告(SR),接收端报告(RR),RTP反馈报告(RTPFB)等。

        每一种报告的有效负荷都是不同的,通过这些报告在接收端和发送端传递当前统计的RTP包的传输情况。使用这些信息来做丢包重传以及预测带宽。

        RTCP协议只是用来传递RTP包的传输统计信息,本身不具有丢包重传和带宽预测的功能,而这些功能需要自己实现。

RFC 3550 - RTP: A Transport Protocol for Real-Time Applications

将H264 RTP打包

1、单NALU封包方式:一个NALU打一个包

        适合单个RTP包小于1500字节的时候,P帧和BZ帧编码比较小,还有SPS,PPS适合采用这种方式。

2、组合封包方式:多个NALU打一个包

3、分片封包方式:一个NALU分开在连续多个RTP包中。大的I帧,P帧,B帧使用分片方式

以上是关于视频编解码 - RTP 与 RTCP的主要内容,如果未能解决你的问题,请参考以下文章

RTP RTCP在音视频传输与同步方面的使用

RTP,RTCP,RTSP等网络协议有何用途和区别

Android IOS WebRTC 音视频开发总结(八十六)-- WebRTC中RTP/RTCP协议实现分析

基于C/S架构的完整RTP/RTCP的H264/H265视频传输方案实现

rtp协议详解/rtcp协议详解

webrtc-RTP/RTSP/RTCP的概念