结合实战,浅析GB/T28181(十)——媒体流保活

news2024/11/25 11:36:57

1 问题现象

在实际项目对接过程中,我们有时会碰到这样的问题:视频正在播放着,突然停止了。然后ping一下,也能ping通!下级平台或上级平台看起来也在线,看起来不是网络的问题。这到底咋回事呢?一时摸不着头脑,懵逼了。不要急,我们一起来看看今天要讨论的主题——媒体流保活。

2 规范定义

先看看GB28181-2016(附录M)和GB28181-2022(附录K),对媒体流保活的规范定义,宏观上确立一个概念。

两版规范对媒体流保活机制的规定没变。看完规范定义后,您可能有个新的问题:这与《结合实战,浅析GB/T 28181(一)——注册保活》一文中描述的保活,是一样的吗?

不一样。

前者是28181设备或下级平台,与本地28181平台之间的SIP信令保活,用来检测对方信令链接是否在线;

后者是28181设备或下级平台,与本地28181平台流媒体服务器之间的媒体流保活,用来检测对方媒体链路是否掉线。

请注意:信令链路与媒体流链路保活是不同的,二者从字面意思上容易混淆。

了解了它们的不同,那么在28181监控平台中,通过什么方法来实现媒体流保活呢?

3 RTCP保活

在28181视频传输过程中,我们通常基于RTP实时传输视音频流,但RTP并不保证服务质量,服务质量由RTP的姊妹协议——RTCP来提供。RTP会话期间,每个会话参与者周期性地向所有其他参与者发送RTCP控制信息包,即Sender Report和Receiver Report,这些数据包中不封装视音频流数据。RTCP基于UDP来传送数据。UDP是无链接不可靠的,所以通信双方无法及时判断对方何时掉线。关于RTP/RTCP以及RTSP的详细定义和说明,您可自行查阅网上资料,本文不再过多描述。下面举例说明RTCP数据包是怎么工作的。

当上级平台向下级平台播放了某路摄像机实时视频后,假定其对应的媒体流链路如下所示:

摄像机发流地址

本地媒体收流地址

本地媒体发流地址

上级媒体收流地址

192.168.1.100:10020

192.168.1.195:17306

192.168.1.195:43010

192.168.1.10:20054

用wireshark抓取该链路对应的正常RTCP包如下:

由抓包分析总结,下级平台与上级平台媒体流保活有以下特点:

  1. 下级平台媒体服务周期性向上级平台媒体服务发送RTCP保活请求,比如抓包截图中有3组请求应答RTCP,时间间隔是40秒;
  2. 上级平台媒体服务收到下级平台媒体服务RTCP保活请求后,向下级平台发送请求回应消息;
  3. 下级平台媒体服务发流地址是192.168.1.195:43010,发流端口43010,那么该媒体链路对应的RTCP发送端口是发流端口号加1,即43011;
  4. 上级平台媒体服务收流地址是192.168.1.10:20054,收流端口20054,那么该媒体链路对应的RTCP接收端口是收流端口号加1,即20055。

4 小结

知道了RTCP保活工作过程和特点后,当再遇到正在播放的视频突然停止时,我们就多了一个排查思路:通过Wireshark抓包,查看媒体链路的RTCP保活包是否正常。

实际项目对接时,上级平台和下级平台一般都需要开启各自的流媒体保活功能。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/456724.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实验室电磁铁EM4S的技术参数

锦正茂科技自主研发的电磁铁,可以通过更换电磁铁极头在一定范围内改善磁场的大小和磁场的均匀度 ,并且可以通过调整极头间距改变磁场的大小,该种类型的电磁铁能够很好的与客户设计的磁场平台兼容。主要用于磁滞现象研究、磁化系数测量、霍尔效…

公派访问学者签证申请需提交的材料

公派访问学者签证申请需提交的材料: 1、《公派留学人员基本情况表》。 2、留学基金委出具的《同意派出函》复印件一份(特殊项目除外)。 3、录取文件复印件一份。(如您是改派国别、延期派出、缩短在外留学期限等,还要提交留学基金委出具的相关文件复印件一份)。 4…

dtype = torch.float32到底有什么用

dtype torch.float32到底有什么用 解决:RuntimeError: expected scalar type Long but found Float 先看一个例子 要计算 z x0 w1x1 w2x2 其中w [-0.2,0.15,0.15] 于是你开始尝试 其中torch.mv用于矩阵*向量 此时你发现他需要你提供float格式的数据 你查看发…

(一)MYSQL实战——用户权限控制管理

前言 mysql作为目前最流行的关系型数据库,被广泛使用在各种系统服务中,本节内容主要是关于mysql数据库在生产环境中用户、权限等相关内容的设置说明,便于我们更好的使用和管理我们的数据库。 正文 SQL的分类 ①数据查询语言(Da…

SpringBoot日志

日志有什么用? 日志最主要的用途就是排查和定位错误,除此之外,日志还可以将错误信息具体化,比如时间、位置等。 如何打印日志 使用Logger类 使用方法: Logger log LoggerFactory.getLogger(类名/类名…

MVCC实现原理

MVCC实现原理 主要依赖隐藏字段undo logundolog生成的记录链 Read View可见性规则三个全局属性具体的比较规则 MVCC的整体处理流程RC、RR级别下的InnoDB快照读有什么不同 主要依赖 mvcc的实现原理主要依赖于记录中的三个隐藏字段(对用户来说是不可见的)…

【Spring Cloud Alibaba】8.路由网关(Gateway)

文章目录 简介什么是 Spring Cloud Gateway功能介绍工作流程 开始搭建创建项目修改POM文件添加启动类添加配置文件启动项目测试 网关全局过滤创建全局过滤器测试 结尾 简介 接下来对服务消费者添加路由网关来实现统一访问接口,本操作先要完成之前的步骤&#xff0c…

API 自动化测试难点总结与分享

笔者是 API 管理工具的项目参与者之一,在日常工作中会经常遇到 API 自动化测试难点,我决定总结分享给大家: API 自动化测试的难点包括: 接口的参数组合较多,需要覆盖各种可能的情况。 接口的状态和数据关联较多&#…

DJ4-1 存储器的层次结构

目录 4.1.1 存储器的层次结构 1. 主存储器(内存,主存,可执行存储器) 2. 寄存器 3. 高速缓存 4. 磁盘缓存 存储器层次结构的特点 4.1.2 存储器管理的目的和功能 1. 主存储器的分配和管理 2. 提高主存储器的利用率 3. 扩…

基于ArcGIS Pro、Python、USLE、INVEST模型等多技术融合的生态系统服务构建生态安全格局

近年来,由于社会经济的快速发展和人口增长,社会活动对环境的压力不断增大,人地矛盾加剧。虽然全球各国在生态环境的建设和保护上已取得不少成果,但还是未从根本上转变生态环境的恶化趋势;生态破坏、环境退化、生物多样…

OceanMind海睿思入选“2023爱分析·智能制造最佳实践案例”

近日,中国领先的产业数字化研究与咨询机构 爱分析 发布了《2023爱分析智能制造最佳实践案例》,该奖项旨在肯定智能制造领域领先企业的数字化创新应用和最佳实践。 中新赛克海睿思凭借为星宇股份构建的“星宇车灯数据智能解决方案”入选智能制造最佳实践…

AWR1642毫米波雷达实测行人、自行车和汽车等目标

本文编辑 | 调皮哥的小助理 AWR1642因为最大中频带宽 固定只有5MHz,最大中频带宽是发射信号与回波信号混频之后得到的最大中频频率,即代表着最大的回波延迟时间。 因此根据雷达方程和目标最大探测距离公式,如下所示: 复采样&…

一文谈谈文心一言对比ChatGPT4.0的差距

对于想体验文心一言的朋友,可以进行申请尝试,快速入口 如果想体验ChatGPT的朋友,可以自行fq注册;但是由于现在限制注册并且不稳定,对于不会用梯子不想注册的朋友可以使用这个进行访问,快速入口 关于ChatG…

CTF之SSRF常见绕过

1.绕过localhost和127.0.0.1 当程序中限制了我们使用localhost和127.0.0.1时,便可以利用进制转换来绕过 http://0x7F.0.0.1 //16进制 http://0177.0.0.1 //8进制 http://2130706433 //10进制整数格式 http://0x7F000001 16进制整数格式 http://127.1 //省略模式 h…

【算法】C程序的运行速度测试

C语言程序的运行速度测试 代码随想录上提到了一点,即我们应该学会估计一个时间复杂度较高的算法,在机器上的运行速度。 如果题目给出的数据量级在高复杂度的算法中会超时,那就应该放弃使用这个代码,而想其他时间复杂度更优的解法…

QMS-云质说质量 - 9 我和我的客户投诉(1) - 逢年过节要祈祷

云质QMS原创 转载请注明来源 作者:王洪石 逢年过节都要祈祷 在某外资汽车零部件企业工作的那些年,无论在质量部还是项目部,都是成天和客户打交道,也经常面对各种各样的客户投诉。 尤其是当质量经理的那些年,每年都要被…

docker搭建简单elk日志系统5(logstash管道配置文件logstash.conf)

1.查看logstash管道配置文件logstash.conf cd ~/elk/logstash/pipeline/ cat logstash.conf默认的配置文件输入是beat; beat表示ELK Stack中的核心组件Beats; Beats指轻量型数据采集器,是一些列beat的合称;目前官网上的beat有: …

sql注入 Quine注入解析

前言 quine注入,即查询的结果是查询的语句 首先看看如下sql语句会返回什么 select replace(".",char(46),".");返回了一个点 匹配字符串".“中ascii码为46的字符并替换为”.“,也就是将”.“转换为”."并返回 继续看下面这个sql语句 selec…

状态机编程

//定义的枚举 typedef enum { KEY_UP 1, //按键按下 Edge_Lead2, //前沿抖动 KEY_DOWN 3, //按键松开 Edge_Back4, //后沿抖动 } KEY_Status; 主函数: #include "stm32f4xx.h" #include "led.h" #include "delay.h" #include "…

QMS-云质说质量 - 8 颠覆你的认知,中小型企业数字化转型更容易成功

数字化转型,不但不遥远,而且似乎离我们每个人的生活还非常近。尤其是近几年,出于政府号召与扶持,市场竞争以及企业自身发展需要等各方面原因,越来越多的企业已经开始或者正在准备进行数字化转型。即使是规模一两百人的…