结合实战,浅析GB/T28181(八)——视频丢包(卡顿、花屏、绿屏)排查
1 问题现象
在视频专网(局域网)中,通过GB/T 28181视频平台接入大量的网络摄像机,比如上百、上千,甚至上万台。当系统同一时刻实况点播并发的视频路数较多时,常常会在客户端或电视墙监视器上,出现视频卡顿、花屏、绿屏等现象。
是视频平台软件媒体转发性能跟不上,支撑不起当前的系统压力;还是网络带宽出现瓶颈、负载过高引起丢包;抑或是服务器/客户机配置不够,媒体转发或解码时,机器资源(CPU占用率、内存等)即将耗尽?面对用户一脸的疑惑和这一个个问号,此情此景,该如何是好?
客户端播放花屏截图
客户端播放卡顿截图
客户端播放绿屏截图
电视墙播放紫色条纹幻影截图
如果您碰到了这些问题,或类似的问题,先别急。其实这些问题,大部分情况下,都是由于网络丢包引起的。可能您会问,我使用ping命令ping过摄像机,ping过NVR,ping过下级平台了,ping的时候,没有延迟,更没有超时,怎么可能会是网络丢包呢?
Ping命令,一定程度上可以帮我们来调查网络是否连通,是否有延迟,是否有超时,但是面对视频流大并发传输这种应用场景,ping命令从准确率上来说,是不够的。那么我们用什么工具来排查是否网络丢包呢?大名鼎鼎的Wireshark,此时便可以派上用场了。下面跟我一起看一下用Wireshark怎么来分析和定位网络是否存在丢包。
2 排查思路
复现问题,进行排查:比如在客户端播放问题摄像机视频;
1,先确保前端摄像机设置的视频参数是合适的,视频参数主要包括:编码格式、分辨率、码率。结合项目实践经验,以下是比较合理的参数设置,供参考
海康摄像机
大华摄像机
宇视摄像机
2,确认该摄像机,在平台是直连接入的,还是NVR或下级平台推上来的。如果是直连接入,在平台服务器上抓SIP信令包,用摄像机IP地址过滤;如果是NVR或下级平台推上来的,用NVR或下级平台IP地址过滤SIP信令抓包;
3,客户端点击播放问题摄像机;
4,在平台服务器上,用IP地址过滤,抓信令(SIP)包,获取接收视频流的媒体服务IP和端口号;
5,在媒体服务器上,选中媒体服务IP对应的网卡,用收流端口号过滤视频流包;
6,查看媒体流是否有丢包。如果有丢包,联系现场人员或下级平台厂家,排查网络;如果没丢包,则要转换排查方向了。
3 抓包分析
比如摄像机是下级平台推上来的,那么在平台服务器上,抓取与下级平台的SIP信令包。并用下级平台的IP地址进行过滤。如下图所示,抓取实况点播INVITE信令交互包,从其SDP中,可以获取平台媒体服务的收流IP地址和端口号,比如收流端口是37610。
接着在媒体服务器上,对收流IP地址对应的网卡进行抓包,用端口37610过滤(抓取的是下级平台发给本级平台媒体服务的视频流RTP包)。
接下来将UDP包解码为RTP包:
接下来对RTP进行流分析
由截图得知,在时长54.6秒的抓包中,共抓取6274个数据包,其中丢包2518个,乱序包724个,丢包率达到了40.13%,相当高了。这么高的丢包率,一般在客户端展现的视频就是花屏、绿屏。丢包率低一些的,展现为卡顿、拖影。一般丢包率高于1%时,客户端和电视墙上播放的视频质量,就会受到影响了。
4 丢包外的思考
使用Wireshark基本可以判断和确定网络是否存在丢包。可如果网络不存在丢包,那怎么办呢?那就要从以下几方面着手分析和排查咯:
1、媒体服务器的网卡带宽是否满载。怎么排查?比如媒体服务程序的收流IP和发流IP配置在同一块网卡上,该网卡为千兆网卡,即1Gbps。如果收流流量与发流流量峰值之和,已接近或超过1G,那么就要考虑给媒体服务器添加网卡分摊流量了;
2、单台媒体服务器最大转发视频路数能达到多少?如果视频并发路数已超过单台服务器的路数,那么就要考虑给媒体服务器扩容,添加媒体服务器;
3、客户机的硬件配置是否合适?比如在客户端进行多画面高清视频播放,16画面、25画面、甚至36画面等,这个场景播放非常耗费客户机的CPU、内存和显卡资源,如果配置跟不上,也会引起视频卡顿、花屏、绿屏;
4、客户端播放库的排查,播放库软解能力评估与测试。
※※如果您还有其它方面的补充或建议,欢迎留言进行交流和讨论。原创不易,感谢您的耐心阅读和支持!
结合实战,浅析GB/T28181(八)——视频丢包(卡顿、花屏、绿屏)排查相关推荐
- LiveGBS国标GB/T28181国标视频平台报警消息查询配置报警订阅
LiveGBS国标GB/T28181国标视频平台报警消息查询配置报警订阅 1.报警信息查询 2.配置开启报警订阅 2.1.国标设备编辑 2.2.配置订阅周期 2.3.选择开启报警订阅 3.配置摄像头报 ...
- 如何将海康大华宇视硬件NVR的通道都注册接入到GB/T28181国标视频直播流媒体平台
如何将海康大华宇视硬件NVR的通道都注册接入到GB/T28181国标视频直播流媒体平台 1.硬件NVR配置GB28181平台接入 1.1.大华硬件NVR 1.1.1.国标28181接入 1.1.2.注 ...
- 通过LiveGBS国标GB/T28181协议视频平台将内外网设备统一集中管理
GB/T28181协议视频平台将内外网设备统一集中管理 1.关于内外网设备如何接入 2.内网|外网设备接入 3.告知设备服务端的收流IP 3.1.默认收流IP配置 3.2.自定义收流IP 4.搭建GB ...
- Dolby fMP4视频seek后卡顿问题分析
最近在做Dolby认证时遇到了一个fMP4视频seek后卡顿的问题,最终定位到是ffmpeg对于异常片源的容错做的不是很好.由于该问题涉及到大量ffmpeg原生代码流程的分析,整体分析的时间会比较长, ...
- Systrace 流畅性实战 2 :案例分析: MIUI 桌面滑动卡顿分析
当我们说 流畅度 的时候,我们说的是什么?不同的人对流畅性(卡顿掉帧)有不同的理解,对卡顿阈值也有不同的感知,所以有必要在开始这个系列文章之前,先把涉及到的内容说清楚,防止出现不同的理解,也方便大家带 ...
- vue项目中,在安卓手机上swiper轮播切换时视频与图片出现卡顿切换问题
vue项目中,在安卓手机上swiper轮播切换时视频与图片出现卡顿切换问题 做项目的时候发现一个问题,swiper视频与图片轮播切换时在ios上切换很流畅,但是安卓手机就很卡顿,想办法解决了半天,百度 ...
- 音视频直播开发问题分析总结 -- 花屏绿屏
直播时有时会遇到花屏或绿屏的现象,都有那些原因会导致这种现象呢? 梳理了部分原因: 视频直播花屏&绿屏 原因 花屏 花屏主要分为整个画面都花屏或局部花屏两种情况. 全屏花屏 正常花屏 本文福利 ...
- 结合实战,浅析GB/T28181(五)——录像下载
1 简介 依据GB/T28181规定,视音频文件下载,主要由三部分组成:基于SIP(rfc3261)的Invite方法实现视音频文件下载会话链路的建立:基于SIP的Message实现视音频文件下载完成 ...
- 结合实战,浅析GB/T28181(三)——实况点播
目录 1 简介 2 点播流程 3 信令抓包 4 实战对接常见问题 4.1 Invite请求,收到4XX回应 4.2 Invite请求,收到5XX回应 4.3 摄像机在线,点播无视频图像 4.4 卡顿. ...
最新文章
- 企业微信 接收消息服务器,接收消息与事件
- python 表格格式输出_利用python对excel中一列的时间数据更改格式操作
- 如何在自己的信息管理系统里集成第三方权限控制组件 - 设计一个漂亮的WEB界面...
- Redis性能监控指标汇总
- 无功功率控制模式matlab,第9章_MATLAB在风力发电技术中的应用仿真.ppt
- 计算机应用基础本科常见问题讨论,《计算机应用基础》(本科)2017年6月期末考试指导.pdf...
- PHP 实现图片验证码
- mycli一个非常有趣的bug
- 以下()不是python的数值运算操作符_python运算符与数据类型
- 基于Redis的用户发微博
- 如何使用内联onclick属性停止事件传播?
- Mybatis的xml映射文件,sql的模糊查询的实现(两种方式)占位符拼接,concat关键字
- 基于SpringCloud Alibaba实现的论坛
- word中插入pdf图片(矢量图、高清图)
- JAVA 的成员变量和局部变量
- 自定义view之刻度尺
- contest14 CF160div2 oooxx oooxx ooooo
- 修改opencv3.4 VideoCapture dshow模块以支持圆刚cv710等需要配置CrossBar的采集卡
- Python OCR工具pytesseract详解
- Clickhouse第三讲-数据库引擎
热门文章
- iphone itouch 实用插件
- 看周公的一篇文章,其中总结的几句话很有意义,记录一下
- Zhon库:Python文本处理利器!详细攻略带你玩转!
- 苹果5s现在还能用吗_现在还适合买苹果吗?iPhone 11上手体验
- Redis数据库总结
- 闲谈Future模式-订蛋糕
- python安装pylad报错_用python画出某“毒王”的动态路线图
- php date函数季度天数,php 日期_PHP的日期 date 函数
- MATLAB R2019b激活学生版的问题解决经历
- 法律条文怎么翻译效果好