首页 > 其他分享 >RTP报文头中的SSRC和CSRC

RTP报文头中的SSRC和CSRC

时间:2024-03-09 17:11:06浏览次数:32  
标签:SSRC 报文 信源 头中 RTP 标识符 CSRC

以下内容转载自http://www.360doc.com/content/11/1009/15/496343_154624612.shtml

和https://www.cnblogs.com/yoyotl/p/5650101.html

同步信源(SSRC)标识符:占32位,用于标识同步信源。该标识符是随机选择的,参加同一视频会议的两个同步信源不能有相同的SSRC。

·特约信源(CSRC)标识符:每个CSRC标识符占32位,可以有0~15个。每个CSRC标识了包含在该RTP报文有效载荷中的所有特约信源。

这里的同步信源是指产生媒体流的信源,例如麦克风、摄像机、RTP混合器等;它通过RTP报头中的一个32位数字SSRC标识符来标识,而不依赖于网络地址,接收者将根据SSRC标识符来区分不同的信源,进行RTP报文的分组。

特约信源是指当混合器接收到一个或多个同步信源的RTP报文后,经过混合处理产生一个新的组合RTP报文,并把混合器作为组合RTP报文的 SSRC,而将原来所有的SSRC都作为CSRC传送给接收者,使接收者知道组成组合报文的各个SSRC。

若一个RTP包流的源,对由RTP混频器生成的组合流起了作用,则它就是一个作用源。对特定包的生成起作用的源,其SSRC标识符组成的列表,被混频器插入到包的RTP报头中。这个列表叫做CSRC表。

用图表示大概是这样:

 

例如,有三个信号源各发出一路rtp流,RTP1携带的SSRC是SSRC1,RTP2携带的SSRC是SSRC2,RTP3携带SSRC3,这三路RTP流到达混合器时,混合器会将这三路流混合成一路流发出去,它会把这三路流的SSRC记录下来,形成一个列表,叫CSRC表,在发送的混合RTP流中,SSRC域填充的字段是混合器本身的SSRC4,而CSRC字段则会根据该包的负载的源来填入。

例如当前的RTP包的负载是来自SSRC1的,那么在当前RTP包的CSRC字段填入SSRC1。

这样接收者就可以根据CSRC来区分不同的信源;

一般的,混合的RTP流中,每隔一段时间,就会有一个RTP报文包含了完整的CSRC表。例如在发送混合流时的第一个RTP包,它的CSRC域把CSRC表都填入,此时该包的负载可能是无意义或者并不是媒体流;此后的RTP报文中则根据负载的来源来填入CSRC域。

标签:SSRC,报文,信源,头中,RTP,标识符,CSRC
From: https://www.cnblogs.com/cnhk19/p/18062991

相关文章

  • 测试面试题4-HTTP请求头中Content-Type的作用是什么?
    在HTTP请求头中,Content-Type是用来指示请求或响应中实体主体的媒体类型的字段。它告诉服务器或客户端实体主体的数据类型是什么,以便正确解析数据。以下是一些常见的Content-Type类型:text/plain:纯文本格式text/html:HTML格式application/json:JSON格式application/xml:XML......
  • ZLmediakit的TCP主动接收RTP数据
    当我们使用openRtpServer接口的时候,一般都是别人主动向port或者默认端口(默认1000)上推数据;这种属于ZLM的socket被动接收连接(TCP),ZLM的RTPserver作为服务端,监听端口,有别人过来链接之后,握手建立连接,传输数据;如果我们想主动去链接对方,告诉对方给我发数据要怎么处理呢?首先,发送数据端......
  • How to unlock Nissan Altima 2019-2022 Smart Remote 5 Buttons 433MHz Keys with Sm
    Howtounlock Nissan Altima2019-2022Smart Remote 5Buttons433MHzKeyswithSmartPro5000U-Plusfirst,youneedhavea SmartPro5000U-PlusProgrammer,ifyoudonothaveaSmartPro5000U-Plus,youcanbuyonefromchinaobd2.com.https://www.chinaobd2.co......
  • 流媒体通信中RTP/RTCP在项目中的应用
    一概述:本文档描述RTC通信中RTP/RTCP的应用以及当前项目中的使用策略。二RTP/RTCP协议简介2.1协议标准RTP由IETF(http://www.ietf.org/)定义在RFC3550和3551中。RTP被定义为传输音频、视频、模拟数据等实时数据的传输协议,与传统的注的高可靠的数据传输的运输层协议相比,它......
  • crtp 接口声明
    #include<vector>#include<utility>//对于std::move#include<type_traits>#include<iostream>usingnamespacestd;template<typenameT>structA{A&f(){return*this;}//T&f(){returnstatic_cast<T&a......
  • 【Azure APIM】APIM 策略语句如何读取请求头中所携带的Cookie信息并保存为变量
    问题描述需要在APIM策略中对请求所携带的Cookie中的token值进行JWT验证,如果获取Cookie中的值并且作为变量保存,然后在JWT验证中使用呢? 问题解答第一步:获取Cookie中的Token值使用C#语句@(context.Request.Headers.GetValueOrDefault("cookie","").Split(';').Select(x=>x.Trim(......
  • Halcon (基于镜头中心)协同机械手进行自动标定
    流程使用相机捕捉初始标定点位,记录世界坐标在机器人示教器上基于基准点位进行其余8个点位设置,每次x轴偏移+4或Y轴偏移+4对每个点位进行图像获取编写Halcon脚本,获取9幅图像中点位中心的像素坐标,以及对应算出的机械手世界坐标,导入标定demo获取换算关系。在图像中模拟位置进行验证,此......
  • 我是如何解决java.security.cert.CertPathValidatorException异常的
    在rocky8.5上,有个jdk8跑的程序连接windows上SQLServer2012失败了,环境如下:[zcm@rockymicroService]$cat/etc/redhat-releaseRockyLinuxrelease8.5(GreenObsidian)[root@rockysecurity]#java-versionopenjdkversion"1.8.0_302"OpenJDKRuntimeEnvironment(......
  • Smartproxy代理IP,提升效率的绝佳之法
    在过去几周的时间里,我花费了一些时间测试不同的IP代理,以深入了解它们的性能和特点。以下是我整理和评估的几家代理服务商的优缺点,旨在为大家提供详尽而准确的信息。这些测试经验使我更全面地了解了不同代理在实际应用中的表现。通过分享这些经验,我希望能够为大家在选择IP代理时提供......
  • Django四件套在响应头中放入数据的方法
    HttpResponse方法一:returnHttpResponse('ok',headers={'xxx':'xxx'})方法二:obj=HttpResponse('ok')obj['yyy']='yyy'#像字典一样放入,最终会放在http的响应头中returnobj redirect无法直接传headers=传入数据方法:obj=......