美文网首页
即时通讯开发之RTP/RTCP实时传输协议

即时通讯开发之RTP/RTCP实时传输协议

作者: 可爱的小云朵 | 来源:发表于2022-12-05 10:30 被阅读0次

RF3550定义了实时传输协议RTP和它的控制协议RTCP。RTP协议是Internet上针对实时流媒体传输的基础协议,该协议详细说明在互联网上传输音视频的标准数据包格式。RTP本身只保证实时数据的传输,并不能提供可靠传输、流量控制和拥塞控制等服务质量保证,这需要RTCP协议提供这些服务。

RTCP协议负责流媒体的传输质量保证,提供流量控制和拥塞控制等服务。在RTP会话期间,各参与者周期性彼此发送RTCP报文。报文中包含各参与者数据发送和接收等统计信息,参与者可以据此动态控制流媒体传输质量。RTP和RTCP配合使用,通过有效反馈使使流媒体传输效率最佳化。

IETF的RFC3550定义了RTP/RTCP协议的基本内容,包括报文格式、传输规则等。除此之外,IETF还定义一系列扩展协议,包括RTP扩展,RTCP报文类型扩展,等等。

RFC3550 - RTP: A Transport Protocol for Real-Time Applications (RTP)

RFC3550协议定义RTP和RTCP协议的最基本内容,包括报文格式及头部扩展、发送和接收规则、RTP Mixer和Translator、协议安全等内容。详细内容都在协议中定义,这里只简述RTP和RTCP报文的基本格式。

RFC3550根据RTCP报文类型定义SR、RR、SDES、BYE和APP五种报文格式。图2显示了SR(Sender Report)的报文格式,包括固定头部、发送端信息和报告块三部分组成:发送端信息携带NTP时间同步和数据发送统计等内容,报告块则包含发送端接收到数据的统计信息。关于RTCP报文格式的详细信息,请继续参考RFC3550。

RFC3550关于RTP档次的定义如下:“档次定义了一系列负载类型和对应的负载格式,也定义了特定于具体应用的RTP扩展和修改。典型地,某个应用仅基于一个档次运行。”

RFC3551(RTP/AVP)在RFC3550的基础上针对RTP档次进行补充形成RTP/APVP档次,被用在具有最小会话控制的音视频会议中,是其它扩展档次的基础。该档次在没有参数协商和成员控制的会话中非常有用。该档次也为音视频定义一系列编码和负载格式。对于具体的流媒体负载格式,IETF也定义一系列协议详细描述,如VP8视频负载格式和H264视频负载格式,等等。

RFC3711(SRTP,也即RTP/SAVP)是RTP/AVP在安全方面进行扩展形成的档次,为RTP/RTCP提供数据加密、消息认证、重放保护等功能。SRTP具有高吞吐量和低数据膨胀等特点,是异构环境下对RTP/RTCP数据的有效保护。即时通讯开发可以咨询蔚可云

RFC4585(RTP/AVPF)是RTP/AVP在及时反馈方面进行扩展形成的档次,使得接收端能够向发送端提供及时反馈,实现短时调整和基于反馈的修复机制。该协议定义早期RTCP报文以实现及时反馈,并定义一系列通用RTCP反馈报文和特定于应用的反馈报文,如NACK、PLI、SLI、RPSI等。

RTC5124(RTP/SAVPF)则是RTP/SAVP和RTP/AVPF的综合。SAVP和AVPF在使用时,需要参与者借助于SDP协议[8]就档次和参数信息达成一致。但是对一个RTP会话来说,这两种档次不能同时被协商。而实际应用中,我们有同时使用这两种档次的需要。因此,RTP/SAVPF档次应运而生,它能够使得RTP会话同时具有安全和及时反馈两方面的特性。

RFC 3550定义五种RTCP报文,类型在报文头部的PT域定义。下图对它们作简单描述。

SR报文用于发送端报告本端的数据发送统计信息和数据接收统计信息,RR报文用于报告本端的数据接收统计信息,SDES报文用于报告本端的描述性信息,BYE在本端离开会话时发送,而APP则是特定于应用的数据。

下面对这些RFC做进一步分析。

RFC5450 - Transmission Time Offsets in RTP Streams:

该协议在定义一种更精细地描述传输时间的方法的基础上,定义一种改进的Jitter报告报文,负载类型为195。

RFC5104 - Codec Control Messages in the RTP Audio-Visual Profile with Feedback (AVPF):

该协议对RFC4585 AVPF档次进一步补充,定义一系列传输层和特定于负载的RTCP报文格式。该系列报文对SR/RR报文的RC域重定义为FMT域,用以区分报文的子类型。

RFC3611 - RTP Control Protocol Extended Reports (RTCP XR):

该协议定义RTCP扩展报告块,负载类型为207。RTCP扩展报告块在SR/RR报告块的基础上传输更多的信息。

相关文章

  • 超越RFC3550 - RTP/RTCP协议族分析

    一 前言 RF3550定义实时传输协议RTP和它的控制协议RTCP。RTP协议是Internet上针对流媒体传输的...

  • iOS WebRTC 杂谈之 带宽预测及REMB码率实时调整

    本文关键词:WebRTC拥塞控制,goog-remb,带宽预测。 一、概念 RTP和RTCP。 实时传输协议RTP...

  • 实时传输协议RTP/RTCP

    一、 简介 目前,在IP网络中实现实时语音、视频通信和应用已经成为网络应用的一个主流技术和发展方向,本文详细介绍I...

  • 音视频学习笔记 - RTP与RTCP

    音视频学习笔记 - RTP与RTCP ​ 实时传输协议(RTP)详细说明了在互联网上传递音频和视频的标准数据包...

  • RTSP/RTP/RTCP

    流媒体之RTSP/RTP/RTCP,RTSP是发起/终结流媒体、RTP是传输流媒体、RTCP是对RTP进行控制,同...

  • 初步了解RTP

    实时传输协议RTP(Real-time Transport Protocol)是一个网络传输协议,RTP协议...

  • WebRTC中RTP/RTCP协议实现分析

    一 前言 RTP/RTCP协议是流媒体通信的基石。RTP协议定义流媒体数据在互联网上传输的数据包格式,而RTCP协...

  • 协议

    rtp协议基于udp,视频数据流传输rtcp协议基于udp,在rtp基础上可控制码率、倍数等rtsp协议基于tcp...

  • WebRTC源码分析之RTP/RTCP(二)

    WebRTC中RTP和RTCP共用一个UDP端口 WebRTC中的RTP和RTCP都使用udp传输,并且RTP和R...

  • RTP 传输的核心思想

    1 RTP 的协议描述 实时传输协议RTP(Real-time Transport Protocol)是一个网络传...

网友评论

      本文标题:即时通讯开发之RTP/RTCP实时传输协议

      本文链接:https://www.haomeiwen.com/subject/udgbfdtx.html