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(八)——视频丢包(卡顿、花屏、绿屏)排查相关推荐

  1. LiveGBS国标GB/T28181国标视频平台报警消息查询配置报警订阅

    LiveGBS国标GB/T28181国标视频平台报警消息查询配置报警订阅 1.报警信息查询 2.配置开启报警订阅 2.1.国标设备编辑 2.2.配置订阅周期 2.3.选择开启报警订阅 3.配置摄像头报 ...

  2. 如何将海康大华宇视硬件NVR的通道都注册接入到GB/T28181国标视频直播流媒体平台

    如何将海康大华宇视硬件NVR的通道都注册接入到GB/T28181国标视频直播流媒体平台 1.硬件NVR配置GB28181平台接入 1.1.大华硬件NVR 1.1.1.国标28181接入 1.1.2.注 ...

  3. 通过LiveGBS国标GB/T28181协议视频平台将内外网设备统一集中管理

    GB/T28181协议视频平台将内外网设备统一集中管理 1.关于内外网设备如何接入 2.内网|外网设备接入 3.告知设备服务端的收流IP 3.1.默认收流IP配置 3.2.自定义收流IP 4.搭建GB ...

  4. Dolby fMP4视频seek后卡顿问题分析

    最近在做Dolby认证时遇到了一个fMP4视频seek后卡顿的问题,最终定位到是ffmpeg对于异常片源的容错做的不是很好.由于该问题涉及到大量ffmpeg原生代码流程的分析,整体分析的时间会比较长, ...

  5. Systrace 流畅性实战 2 :案例分析: MIUI 桌面滑动卡顿分析

    当我们说 流畅度 的时候,我们说的是什么?不同的人对流畅性(卡顿掉帧)有不同的理解,对卡顿阈值也有不同的感知,所以有必要在开始这个系列文章之前,先把涉及到的内容说清楚,防止出现不同的理解,也方便大家带 ...

  6. vue项目中,在安卓手机上swiper轮播切换时视频与图片出现卡顿切换问题

    vue项目中,在安卓手机上swiper轮播切换时视频与图片出现卡顿切换问题 做项目的时候发现一个问题,swiper视频与图片轮播切换时在ios上切换很流畅,但是安卓手机就很卡顿,想办法解决了半天,百度 ...

  7. 音视频直播开发问题分析总结 -- 花屏绿屏

    直播时有时会遇到花屏或绿屏的现象,都有那些原因会导致这种现象呢? 梳理了部分原因: 视频直播花屏&绿屏 原因 花屏 花屏主要分为整个画面都花屏或局部花屏两种情况. 全屏花屏 正常花屏 本文福利 ...

  8. 结合实战,浅析GB/T28181(五)——录像下载

    1 简介 依据GB/T28181规定,视音频文件下载,主要由三部分组成:基于SIP(rfc3261)的Invite方法实现视音频文件下载会话链路的建立:基于SIP的Message实现视音频文件下载完成 ...

  9. 结合实战,浅析GB/T28181(三)——实况点播

    目录 1 简介 2 点播流程 3 信令抓包 4 实战对接常见问题 4.1 Invite请求,收到4XX回应 4.2 Invite请求,收到5XX回应 4.3 摄像机在线,点播无视频图像 4.4 卡顿. ...

最新文章

  1. 企业微信 接收消息服务器,接收消息与事件
  2. python 表格格式输出_利用python对excel中一列的时间数据更改格式操作
  3. 如何在自己的信息管理系统里集成第三方权限控制组件 - 设计一个漂亮的WEB界面...
  4. Redis性能监控指标汇总
  5. 无功功率控制模式matlab,第9章_MATLAB在风力发电技术中的应用仿真.ppt
  6. 计算机应用基础本科常见问题讨论,《计算机应用基础》(本科)2017年6月期末考试指导.pdf...
  7. PHP 实现图片验证码
  8. mycli一个非常有趣的bug
  9. 以下()不是python的数值运算操作符_python运算符与数据类型
  10. 基于Redis的用户发微博
  11. 如何使用内联onclick属性停止事件传播?
  12. Mybatis的xml映射文件,sql的模糊查询的实现(两种方式)占位符拼接,concat关键字
  13. 基于SpringCloud Alibaba实现的论坛
  14. word中插入pdf图片(矢量图、高清图)
  15. JAVA 的成员变量和局部变量
  16. 自定义view之刻度尺
  17. contest14 CF160div2 oooxx oooxx ooooo
  18. 修改opencv3.4 VideoCapture dshow模块以支持圆刚cv710等需要配置CrossBar的采集卡
  19. Python OCR工具pytesseract详解
  20. Clickhouse第三讲-数据库引擎

热门文章

  1. iphone itouch 实用插件
  2. 看周公的一篇文章,其中总结的几句话很有意义,记录一下
  3. Zhon库:Python文本处理利器!详细攻略带你玩转!
  4. 苹果5s现在还能用吗_现在还适合买苹果吗?iPhone 11上手体验
  5. Redis数据库总结
  6. 闲谈Future模式-订蛋糕
  7. python安装pylad报错_用python画出某“毒王”的动态路线图
  8. php date函数季度天数,php 日期_PHP的日期 date 函数
  9. MATLAB R2019b激活学生版的问题解决经历
  10. 法律条文怎么翻译效果好