其他分享
首页 > 其他分享> > RTP SDP RTCP

RTP SDP RTCP

作者:互联网

翻译自:https://www.kurento.org/blog/rtp-i-intro-rtp-and-sdp 

The Real-time Transport Protocol -- RTP

FFmpeg and GStreamer 是两个工具可操作rtp,也提供可编程。

rtp已经成为事实的标准用于webRTC或者其他工具传输音视频。原理是一个rtp会话包含一堆参与者,即peer。发送peer吧媒体拆开成chunks,即rtp packets,用udp发送给接收者peer。反之,接收者重新组合。

rtp packet包括固定长的头,可为空的源列表,负载数据payload。

 

(Bitmap)
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X|  CC   |M|     PT      |       sequence number         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           timestamp                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           synchronization source (SSRC) identifier            |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
|            contributing source (CSRC) identifiers             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          payload  ...                         |
|                               +-------------------------------+
|                               | RTP padding   | RTP pad count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

rtp几十年前制定,现在很多属性已经不用。挑重点:

PT (Payload Type)

除了以前标准定义的,现在一般用自己动态定义的,范围为 [96-127]。比如chrome 96是video VP8, pt 98是vp9,102是h264.

sequence number

随机数开头,然后递增,来确定包的顺序。

timestamp

 

也是随机数开头,按时钟类型(clock rate)增长,通过相对增量确定改播放的时刻。

SSRC (Synchronization Source)

随机串,每个视频音频在rtp会话中唯一。通过这个识别自己属于哪个媒体。

RTP Control Protocol -- RTCP

由于缺失了tcp的保障,rtp的udp传输需要rtcp去控制。发送方提供RTP和RTCP Sender Reports,接收方接收。rtcp发送比rtp少,基本1秒;而rtp更快。

另外还提供 RTCP Feedback (RTCP-FB)

这些RTP的功能有没有实现,需要看下面的描述协议sdp。

Session Description Protocol -- SDP

在会话前需要确定网络相关和媒体相关信息。sdp是文本型松散格式结构。偏向介绍WebRTC的SDP Offer/Answer 模型。

sdp对于发送方描述了想要什么类型接收者;接收者回应了想让发送者以什么格式发送。

a=行用了添加属性。

标签:SDP,sender,+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+,pac
来源: https://www.cnblogs.com/bigben0123/p/14229018.html