通过linux工具iftop命令查看视频监控平台是否收到监控摄像头的视频流(视频监控平台接收和转发的视频流)

server/2024/9/25 21:27:31/

目录

一、需求描述

二、解决思路

(一)问题分析

(二)解决思路

1、通过抓包的方式

linux%E7%9A%84%E7%BD%91%E7%BB%9C%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7-toc" style="margin-left:80px;">2、通过一些linux网络监视工具

三、需求实现

(一)抓包工具

1、tcpdump

2、Wireshark

3、tcptrace

linux%E7%9A%84%E7%BD%91%E7%BB%9C%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7iftop-toc" style="margin-left:40px;">(二)linux网络监视工具iftop

1、工具介绍

2、一路视频流的情况

(1)web客户端浏览视频

iftop%E6%9F%A5%E7%9C%8B%E6%B5%81%E9%87%8F-toc" style="margin-left:120px;">(2)用iftop查看流量

3、三路视频流的情况

(1)web客户端浏览视频

iftop%E6%9F%A5%E7%9C%8B%E6%B5%81%E9%87%8F-toc" style="margin-left:120px;">(2)用iftop查看流量

四、结论


一、需求描述

        AS-V1000视频监控平台经常要接入成百上千的视频,其中有一些摄像头,对接视频监控平台时也会出现各种问题,比如经常会发现网络摄像机IPC已经正常连上平台了,在平台和设备端都是在线的状态,但是ASV1000的客户端看不到实时视频画面,大部分情况我们发现是它的视频流没有传输到平台的客户端上,导致这个问题。那么我们如何判断摄像机的视频流是否正确传输呢?

二、解决思路

(一)问题分析

       视频流的走向如下图所示,可以看出:

       客户端要看到视频流,要经过两个环节:(2)要从ASV1000上转发到web客户端,(2)同时,设备端也要把视频流上传到ASV1000上。

      因此,要查看这两个环节的视频流是否正确传输

(二)解决思路

1、通过抓包的方式

        在ASV1000上抓摄像头发过来的数据包、以及ASV1000发送到web客户端的数据包,然后对数据包进行分析,看视频流的数据包是否正常?

linux%E7%9A%84%E7%BD%91%E7%BB%9C%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7" style="margin-left:0;text-align:justify;">2、通过一些linux网络监视工具

        查看是否收到摄像头发过来的视频流,以及是否发送视频流到web客户端?

三、需求实现

(一)抓包工具

       Linux系统中有多种抓包工具可供选择,常用的工具如下:

1、tcpdump

        这是一个强大的网络抓包工具,能够捕获网络数据包并将其以文本形式输出,帮助用户更好地分析网络流量。tcpdump支持多种过滤器,用户可以根据需要对网络数据包进行过滤,以便更精确地捕获需要的数据包。

2、Wireshark

        Wireshark是一款跨平台的网络协议分析器,可用于捕获和分析网络流量。它提供了一个直观的图形用户界面,使用户能够轻松地浏览、过滤和解析数据包。Wireshark支持大量的网络协议,并提供了丰富的统计信息和可视化工具。

3、tcptrace

        tcptrace是一个网络分析工具,可以从tcpdump的输出文件中提取有用的信息,如重传、窗口大小变化等,有助于分析网络性能问题。

linux%E7%9A%84%E7%BD%91%E7%BB%9C%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7iftop" style="margin-left:0;text-align:justify;">(二)linux网络监视工具iftop

1、工具介绍

        iftop可以显示带宽使用情况,类似于Linux中的top命令。它可以用来监视通过每个套接字的流量,这对于查找异常流量或识别流量瓶颈非常有用。

        前面有一篇文章介绍,有兴趣可以参考:

Linux网络命令iftop详解,网络流量监控的工具

2、一路视频流的情况

        前端设备(IPC)所在的网络的公网地址为:

                49.84.173.192

        WEB客户端A所在的公网地址为:

                49.64.213.184 

        WEB客户端B所在的公网地址跟IPC在同一个网络。

(1)web客户端浏览视频

        Web客户端A上查看一路视频,天地伟业设备的视频,如下图所示:

iftop%E6%9F%A5%E7%9C%8B%E6%B5%81%E9%87%8F" style="margin-left:0;text-align:justify;">(2)用iftop查看流量
[root@ecs-52a1 vidisit]#
[root@ecs-52a1 vidisit]# iftop
interface: eth0
IP address is: 192.168.0.138
MAC address is: fa:16:3e:2f:45:48
[root@ecs-52a1 vidisit]#

        如下图可以看出:

        设备上传1路视频流,到监控平台的流量大概为3.7Mb左右。

        平台到web客户端A(49.64.213.184)的流量为2Mb左右

3、三路视频流的情况

(1)web客户端浏览视频

        原来web客户端A继续浏览视频,另外在Web客户端B上查看同样的视频,同时看2路,如下图所示:

(2)用iftop查看流量
[root@ecs-52a1 vidisit]#
[root@ecs-52a1 vidisit]# iftop
interface: eth0
IP address is: 192.168.0.138
MAC address is: fa:16:3e:2f:45:48
[root@ecs-52a1 vidisit]#

        如下图可以看出:

        设备上传1路视频流,到监控平台的流量仍然保持在3.7Mb左右。

        平台到web客户端A(49.64.213.184)的流量仍然保持在2Mb左右

        平台到web客户端B(49.84.173.192)的流量为4Mb左右

        

        说明:由于看的同一个设备的视频,虽然多个客户同时看,视频流是平台进行转发的;是根据客户端查看的视频进行对应的转发。

四、结论

        通过linux的工具iftop命令,可以很方便的查看到 摄像机的视频流是否正确传输,既能够看到摄像机传到AS-V1000视频监控平台视频流量,也可以看到视频监控平台发送到web客户端的视频流量。


若想了解更多,文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨



http://www.ppmy.cn/server/5402.html

相关文章

Golang网络编程

Golang网络编程 网络编程简介网络编程协议网络分层模型TCP/IP协议什么是DNS套接字(Socket)客户端服务器模型TCP/UDP的区别HTTP协议会话sessionCookiehttpsHTTP请求格式HTTP响应格式http头信息http请求头信息http响应头信息HTTP状态码http内容类型和内容…

Linux c++ onvif客户端开发(7):struct soap包装类

本文是Linux c onvif客户端开发系列文章之一: Linux c onvif客户端开发(1): 根据wsdl生成cpp源文件Linux c onvif客户端开发(2): 获取摄像头H264/H265 RTSP地址Linux c onvif客户端开发(3): 扫描设备Linux c onvif客户端开发(4): 扫描某个设备是否支持onvifLinux c…

flutter书架形式格口的动态创建(行、列数,是否全选的配置)

根据传入的行列数创建不同格口数量的书架 左图:5行3列、右图:3行3列 代码 import package:jade/bean/experienceStation/ExpCellSpecsBean.dart; import package:jade/configs/PathConfig.dart; import package:jade/utils/DialogUtils.dart; import p…

安全开发实战(1)--Cdn

目录 安全开发专栏 CDN介绍 1.信息收集阶段 1.1判断CDN是否存在 1.1.1, One 1.1.2,Two(改进) 1.1.3,进行整合 增加输入功能 1.1.4 批量读取监测存储(进行测试) 问题1: 问题2: 解决方案: 1.1.4 基本编写完成 命令框中: cdn存在.txt 总结 这里我是根据整个渗透测…

HttpServletResponse HttpServletRequest

HttpServletResponse 和 HttpServletRequest 是 Java Servlet API 中的两个核心接口,它们分别代表了 HTTP 响应和 HTTP 请求。在基于 Java 的 Web 应用中,特别是使用 Servlet 技术时,这两个接口被广泛应用。 HttpServletRequest HttpServle…

机器学习系统的设计

1.混淆矩阵 混淆矩阵作用就是看一看在测试集样本集中: 真实值是 正例 的样本中,被分类为 正例 的样本数量有多少,这部分样本叫做真正例(TP,True Positive),预测为真,实际为真真实值…

webpack or vite? vuex or pinia?

2022.2.18, 新建一个vue3的项目,过程如下: 目录结构如下: 当还在犹豫选择webpack还是vite,vuex或者pinia的时候,尤大大已经给出了默认选择,vite && pinia。

Git基本使用

找一个文件夹 git init 代码仓库,里面的内容千万不要动 新建一个文件,如test.txt git add test.txt //git add . //all 暂存区 git commit -m "新增了一个点赞" 最常用的流程: 修改一个文件 git add git commit git log //查…