海康设备接入方式 — 萤石协议
文档版本: V1.0
适用范围: 煤矿工业视频监控平台
编写日期: 2026-06-12
1. 概述
萤石协议(Ezviz Protocol)是海康威视为其消费级品牌"萤石"及部分海康设备设计的私有云协议。
核心目标: 零配置、高穿透、远程实时访问。
技术实现: P2P 穿透(直连)+ 云转发(中继)双重保障,设备与客户端通过萤石云平台协调建立媒体通道。
与海康其他协议的关系: 萤石协议是海康在公众互联网场景下的封闭生态方案,与海康 SDK/ISAPI/GB28181 并存但互不互通。
2. 技术原理
2.1 P2P 穿透(直连模式)
利用 STUN(Session Traversal Utilities
海康设备接入方式 — ISUP 协议
文档版本: V1.0
适用范围: 煤矿工业视频监控平台
编写日期: 2026-06-12
1. 概述
ISUP(Intelligent Secure Union Protocol,智能安全联合协议)是海康威视推出的私有安全隧道协议,是 EHome 协议的升级替代版本。
定位: 针对 EHome 在安全性、穿透稳定性、复杂网络适应性等方面的不足进行全面重构,是当前海康推荐的主流设备接入协议。
适用场景: 井下/地面环网中的海康摄像机、NVR 等设备,通过矿用环网网关或 4G/5G 路由器安全注册到上层视频监控平台。
2. 技术原理与架构
2.1 核心架构
ISUP 基于 C/S 架构:
* ISUP 客户端(
海康设备接入方式 — GB/T 28181 国标协议
文档版本: V1.0
适用范围: 煤矿工业视频监控平台
编写日期: 2026-06-12
1. 概述
GB/T 28181《安全防范视频监控联网系统信息传输、交换、控制技术要求》是中国国家标准,规定视频监控设备与平台之间、平台与平台之间的互联互通规范。
核心架构: SIP(Session Initiation Protocol)负责信令控制 + RTP/RTCP 负责媒体传输。
行业地位: 国家强制标准,安防厂商必须支持。公安、能源、交通等行业视频联网的基准协议。
2. 技术原理
2.1 协议分层
层次
协议
作用
信令层
SIP(UDP/TCP,
海康设备接入方式 — EHome 协议
文档版本: V1.0
适用范围: 煤矿工业视频监控平台
编写日期: 2026-06-12
1. 概述
EHome(Enhanced Home)是海康威视自主研发的私有设备接入协议,专为跨 NAT/防火墙场景设计。
核心思想: 设备主动注册 → 平台反向连接。设备作为客户端主动向平台发起 TCP 连接,平台无需知道设备 IP 地址,无需在本地网络开放任何入站端口。
典型用途: 井下防爆摄像机通过 4G/5G 路由器接入地面平台、跨运营商公网接入、移动/临时部署场景。
2. 技术原理与架构
2.1 角色定义
角色
说明
设备
海康前端设备(IPC/NVR/DVR),运行
C++ 插件式开发
简介
插件是你想开发一个好的系统所需要的一种好的架构方式。C++插件是 C++ 编写的动态链接共享对象。一种可复用的、灵活管理(维护、替换或增加、删除)的功能模块儿化组件。基于插件的扩展性,进而实现业务模块儿的独立和解耦,增加可维护性和可扩展性。插件使得第三方开发人员可以为系统做增值工作,也可以使其他开发人员协同开发相互配合,增加新的功能而不破坏现有的核心功能。插件能够促进将关注点分开,保证隐藏实现细节,且可以将测试独立开来,并最具有实践意义。
比如强大的Eclipse的平台实际上就是一个所有功能都由插件提供的骨架。Eclipse IDE自身(包括UI和Java开发环境)仅仅是一系列挂在核心框架上的插件。
插件机制仍需要考虑的一些问题如错误处理,数据类型,版本控制,与框架代码以及应用代码的分离等等。或许,在应用程序框架容器内,可以借助lua脚本来动态的灵活的实现业务。
为什么要用插件机制
我们为什么要用插件架构?
现代软件工程已经从原先的通用程序库逐步过渡到应用程序框架。假设一个场景,以C++开发应用程序为例,我们的架构是基于APP+
chrony
Chrony由两个主要组件组成:
* chronyd:这是一个后台守护进程,负责时间同步任务。
* chronyc:这是一个命令行界面工具,用户可以通过它与chronyd通信,监控和配置时间同步。
Chrony的配置文件位于/etc/chrony.conf。配置文件包括了时间服务器、日志选项、漂移文件等配置。
命令
* 查看当前同步状态:
chronyc tracking
这个命令显示了系统时钟的当前状态,包括偏移量、漂移速率和同步源的信息。
* 查看NTP源状态:
chronyc sources
该命令列出了所有配置的NTP源及其当前状态(如可达性、偏移量等)。
M - 这表示信号源的模式。^表示服务器,=表示对等方,#表示本地连接的参考时钟。
S - 此列指示源的状态。
* "*" 表示chronyd当前同步到的源。
* "+" 表示可接受的信号源,与选定的信号源组合在一起。
* "-" 表示被合并算法排除的可接受源。
* ? 指示已失去连接性或其数据包未通过所有测试的源。
ntp
网络时间协议,英文名称:Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。NTP的目的是在无序的Internet环境中提供精确和健壮的时间服务。
NTP提供准确时间,首先要有准确的时间来源,这一时间应该是国际标准时间UTC。 NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。这样就有了准确而可靠的时间源。时间按NTP服务器的等级传播。按照离外部UTC 源的远近将所有服务器归入不同的Stratum(层)中。Stratum-1在顶层,有外部UTC接入,而Stratum-2则从Stratum-1获取时间,Stratum-3从Stratum-2获取时间,以此类推,但Stratum层的总数限制在15以内。所有这些服务器在逻辑上形成阶梯式的架构相互连接,而Stratum-1的时间服务器是整个系统的基础。计算机主机一般同多个
proxy
综述
随着网络技术与计算机的普及与发展,代理服务成为网上应用较多的形式。代理服务是指内部网络对Internet发出连接请求,需要制定代理服务将原本直接传输至Web服务器的HTTP发送至代理服务器中。换句话来说,代理服务就是网络信息的中转站。代理服务器作为浏览器与Web服务器之间的另一类服务器,配备代理服务器,浏览器无需直接至Web服务器获取网页,只需向代理服务器发出所需的请求,由代理服务器传送给访问者所需的浏览器。
代理服务器(Proxy Server)的功能是代理网络用户去取得网络信息。形象地说,它是网络信息的中转站,是个人网络和Internet服务商之间的中间代理机构,负责转发合法的网络信息,对转发进行控制和登记。
代理服务器作为连接Internet与Intranet的桥梁,在实际应用中发挥着极其重要的作用,它可用于多个目的,最基本的功能是连接,此外还包括安全性、缓存、内容过滤、访问控制管理等功能。更重要的是,代理服务器是Internet链路级网关所提供的一种重要的安全功能,它的工作主要在开放系统互联(OSI)模型的对话层。
详细内容
代理服
openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
在OpenSSL被曝出现严重安全漏洞后,发现多数通过SSL协议加密的网站使用名为OpenSSL的开源软件包。由于这是互联网应用最广泛的安全传输方法,被网银、在线支付、电商网站、门户网站、电子邮件等重要网站广泛使用,所以该漏洞影响范围广大。
OpenSSL有两种运行模式:交互模式和批处理模式。
直接输入openssl回车进入交互模式,输入带命令选项的openssl进入批处理模式。
OpenSSL整个软件包大概可以分成三个主要的功能部分:
* 密码算法库
* SSL协议库
* 应用程序。
OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。
1.对称加密算法
OpenSSL一共提供了8种对称加密算法,其中7种是分组加密算法,仅有的一种流加密算法是RC4。这7种分组加密算法分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持电子密码本模式(EC
x.509证书
X.509 是密码学里公钥证书的格式标准。 X.509 证书己应用在包括TLS/SSL(WWW万维网安全浏览的基石)在内的众多 Internet协议里.同时它也用在很多非在线应用场景里,比如电子签名服务。X.509证书里含有公钥、身份信息(比如网络主机名,组织的名称或个体名称等)和签名信息(可以是证书签发机构CA的签名,也可以是自签名)。对于一份经由可信的证书签发机构签名或者可以通过其它方式验证的证书,证书的拥有者就可以用证书及相应的私钥来创建安全的通信,对文档进行数字签名.
另外除了证书本身功能,X.509还附带了证书吊销列表和用于从最终对证书进行签名的证书签发机构直到最终可信点为止的证书合法性验证算法。
X.509是ITU-T标准化部门基于他们之前的ASN.1定义的一套证书标准。
X.509是一种国际电信联盟(ITU-T)和国际标准化组织(ISO)共同制定的数字证书标准。它是公钥基础设施(PKI)中使用的一种标准,用于在网络环境中验证身份和加密信息。X.509证书包含了以下信息:
1. 版本号:证书的格式版本。
2. 序列号:由证书颁发机
https
简介
HTTPS (全称:Hypertext Transfer Protocol Secure ),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。
HTTPS不是协议,而是通过SSL/TLS协议提供的安全连接进行的HTTP通信。最初,它被用于安全很重要的通信,例如在互联网上传输个人信息和电子支付。 随后,由于公共无线局域网的普及、PRISM的大规模窃听以及中间人攻击的风险增加, 用HTTPS取代单纯的HTTP通信越来越多。
与以纯文本形式发送和接收消息的标准 HTTP 不同,HTTPS 使用SSL/TLS等协议对服务器进行身份验证、加密通信内容和检测篡改。 这样可以防止欺骗、
API Gateway
目录
简介
API gateway 处于客户端与各个微服务之间,它担任了反向代理的角色,将不同的请求路由到相对应的微服务中去。与此同时,它还有以下功能:安全,限流,缓存,日志,监控,重试,熔断等。
API Gateway在当代云原生架构下是不可或缺的一部分,起到了路由、认证、转换、缓存、监控和安全性等多个方面的作用,帮助简化和管理复杂的API调用和后端服务集成。^2
* 路由和转发请求: API Gateway充当了客户端和后端服务之间的代理,接收并路由传入的请求到相应的后端服务。它可以根据请求的特征(如URL、HTTP方法、请求头等)进行路由决策,将请求转发到适当的服务。
* 认证和授权: API Gateway可以集成身份验证和授权机制,以确保只有经过身份验证的用户可以访问受保护的API。它可以处理用户认证、生成和验证访问令牌、执行访问控制策略等。
* 请求转换和协议转换: API Gateway可以根据需要转换请求和响应的格式、协议和数据结构。它可以将请求和响应从一个协议转换为另一个(例如,
网络环境模拟
在解决日常的支持需求中,经常会遇到一些用户反馈一些无法简单复现的bug,有很大一部分的bug是由于用户自身的网络环境波动,或者是本身网络环境就较为恶劣,而服务在面对这种恶劣的网络环境的健壮性不够,导致会出现一些意想不到的bug。而在正常的开发自测过程中很难去营造出这种恶劣的网络环境,使得这些bug较难被提前发现和修复。另外一些服务在恶劣网络环境下虽然不会出现不可用的情况,但是用户体检很差,为了优化这个情况下的用户体验,也需要去在本地模拟这种环境来进行调优。 ^1
所以要去复现这些bug,甚至是去提前发现这些bug,就需要能够在开发环境中模拟出恶劣的网络环境,从而看到在这种恶劣的网络环境下的服务的表现等。当前模拟恶劣网络环境主要可以通过以下这些手段实现:
* 通过应用层或者传输层的代理服务器,通过在代理服务器上设置一些模拟恶劣网络环境的参数,使得通过这些代理服务器的流量都被转化为恶劣网络环境下的流量。如利用Fiddler,Charles等具有代理服务器功能的网络流量分析软件来实现。
* 通过利用一些更底层的驱动层面的服务,通过控制网卡的收包发包的行为,来模拟恶
ICMPLIB
icmplib 是 Python 中 ICMP 协议的全新现代实现。
特征
* 🌳即用型: icmplib 提供即用型函数,例如最受欢迎的函数:ping、multiping和traceroute。详尽的文档也可以帮助您入门。
* 💎现代:这个库使用 Python 3.7+ 提供的最新机制,并且完全面向对象。
* 🚀快速:每个类和函数都经过精心设计和优化,以提供最佳性能。一些函数也是异步的,如async_ping和async_multiping函数。您可以在几秒钟内 ping 遍世界!
* ⚡强大:无需 root 权限即可使用该库,设置 ICMP 数据包的流量类,自定义其有效负载,发送广播请求等等!
* 🔩 Evolutive:ICMPv4使用和套接字轻松构建您自己的类和函数ICMPv6。
* 🔥 IPv6 无缝集成:使用 IPv6 的方式与使用 IPv4 的方式相同。
OAuth2.0 单点登录
OAuth2.0 单点登录有四种授权方式:
* 客户端模式
* 密码模式
* 隐式授权模式
* 授权码模式
详细
客户端模式
指客户端以自己的名义,而不是以用户的名,向“服务提供商”进行认证。严格的说,客户端模式并不属于OAuth框架所要解决的问题。在这种模式中,用户直接向客户端注册,客户端以自己的名义要求“服务提供商”提供服务,其实不存在授权问题。
操作步骤说明:
【步骤1】【步骤2】客户端向授权服务器进行身份认证,并申请访问令牌(access_token)
【步骤3】授权认证服务器验证通过后,向客户端提供访问令牌(access_token)
【步骤4】客户端向资源服务器发出请求资源的请求
【客户端5】【客户端6】服务提供商的资源服务器返回数据给客户端使用
客户端发出的HTTP请求,包含一下参数:
* client_id:客户端ID
* client_secret:客户端密钥
硬件
综述
详细内容
TRS
日常生活中我们见得最多的就是TRS接口,它的接头外观是圆柱体形状,通常有三种尺寸1/4"(6.3mm)、1/8"(3.5mm)、3/32"(2.5mm),我们最常见的是3.5mm尺寸的接头。
2.5mm的TRS接头以前在手机耳机上比较流行,但现在已经不多见了,耳机接口基本被3.5mm接口一统江湖。而6.3mm的接头在很多专业设备和高档耳机上比较常见,但现在有不少高档耳机也逐渐开始改用3.5mm接头。TRS的含义是Tip(signal)、Ring(signal)、Sleeve(ground),分别代表了这种接头的3个触点,我们看到的就是被两段绝缘材料隔离开的三段金属柱。因此,3.5mm接头和6.3mm接头也被人称为“小三芯”和“大三芯”。
TRS接口就是一个圆孔,其内部与接头对应,也有三个触点,
视频压缩
https://my.oschina.net/u/3521704/blog/5139834
多年以来,人们设计出许多不同的算法来压缩视频。视频压缩虽然听起来是一个很现代的词,但其实它从模拟视频开始,已经有很长的历史了。在本篇文章中,我会向大家一一介绍视频压缩史上的里程碑事件,正是这些事件的发生才有了今天的视频压缩。从过去到现在,各类视频压缩方法由最初的概念最终演化成现今的标准。很多压缩标准今天还在使用,人们也一直在继续开发和完善新的标准。
1929:首次出现帧间压缩
帧间压缩是指仅保留一张关键图像,以及后面帧与此图像之间的差异,这张关键图像被称为关键帧(Keyframe)。令人惊讶的是,关于帧间压缩的讨论可以追溯到1929年。英国的R.D. Kell提出将帧间压缩用于模拟视频,这一概念随后便延续下来并应用在今天的数字视频上。
1952:差分脉冲编码调制
下一个视频压缩的里程碑事件发生在1952年。贝尔实验室的B.M. Oliver 和 C.W. Harrison提出可以在视频编码中使用差分脉冲编码调制(DPCM)。在此之前,DPCM一直被用于音
音视频技术以及处理介绍
目录
* 简介
* 什么是音视频
* 音视频技术
* 采集
* 视频采集
* 色域(色彩空间)
* HDR (High Dynamic Range Capture)
* yuv与rgb
* 视频制式(PAL、NTSC、SECAM)
* 音频采集
* 传输
* 编码
* h264与h265
* 常见参数与原理
* 编码方式
* 网络传输协议
* gb28181
* 点播与直播
* 存储
* 渲染
* 延迟
* 处理
* 传统
* 深度学习
* 常用的流媒体处理框架
* 参考文献
简介
什么是音视频
音视频技术其实就是音频技术和视频技术的一个统称,在实际处理中,音视频需要分开处理。
视频:图像,随着时间变化的动态图像
视频的基础是视觉暂留原理
人眼观看物体时,成像于视网膜上,并由视神经输入人脑,感觉到物体的像。但当物体移去时,
srt
https://my.oschina.net/u/3521704/blog/5482884
摘 要: SRT协议(即安全可靠传输协议)是一个新兴的网络传输协议,适用于实时音视频传输。本文将从SRT协议的原理分析入手,尝试定义出一个衡量SRT链路可靠性高低的指标:链路安全冗余量(Secure-Margin),并详细介绍如何依照这个指标来部署一个可靠的SRT传输链路,并分析在不同的直播场景中的参数调整策略。
引 言
音视频的信号传输技术作为广电领域的重点技术之一,保障了传输的安全和质量。传统的信号传输手段也许可以用三句话来概括:天上一颗星,地下一根缆,中间面对面的微波。
“天上一颗星” 指的是卫星传输,优点是灵活安全可靠并且对于直播现场的条件没有特殊要求,但其设备投资和费用非常昂贵。“地下一根缆” 指的是光纤传输,优点是安全可靠并且延时极低,但它很依赖光缆链路的基础建设,灵活性较差。“中间面对面的微波” 最初指的是通视条件下的定向微波,后来又发展出长距离的U波段“大微波”和短距离的2G波段“小微波”。随着5G和互联网技术的飞速发展,通过公共互联网安全可
SIP
SIP(Session initialization Protocol,会话初始协议)是由IETF(Internet Engineering Task Force,因特网工程任务组)制定的多媒体通信协议。它是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话。SIP 是一种源于互联网的IP 语音会话控制协议,具有灵活、易于实现、便于扩展等特点。^1
简介
SIP(Session Initiation Protocol)是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以是Internet多媒体会议、IP电话或多媒体分发。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。
SIP与负责语音质量的资源预留协议(RSVP)互操作。它还与若干个其他协议进行协作,包括负责定位的轻型目录访问协议(LDAP)、负责身份验证的远程身份验证拨入用户服务 (RADIUS) 以及负责实时传输的 RTP 等多个协议。 [2]
rtsp
实时流媒体传输协议(Real-Time Streaming Protocol, RTSP)是一种应用层协议,专为实时流媒体数据传输而设计。RTSP协议主要负责在客户端与服务器之间建立连接、控制媒体流传输的状态(如播放、暂停、停止等),以及调整媒体流参数(如带宽、传输速率等)。
RTSP协议广泛应用于以下场景:
* 视频监控系统:RTSP协议可以实现实时监控画面的传输和播放,满足远程查看和监控的需求。
* 在线教育:RTSP协议支持在线课堂的实时音视频传输,帮助老师和学生进行远程互动教学。
* 远程会议:RTSP协议使得远程会议参与者能够实时分享和观看音视频内容,提高会议效率和参与感。
* 直播娱乐:RTSP协议为直播平台提供了实时音视频传输功能,让观众可以即时观看和互动。
内容
RTSP协议的组成
RTSP协议主要由以下几个部分组成:
* 请求和响应:RTSP协议使用类似于HTTP的请求-响应机制。客户端通过发送请求命令来控制媒体流的播放、暂停和停止等操作,服务器则返回相应的响应消息。
* 方法:RTSP协议定义了一系列方法,用于描
公式
行内与独行
行内公式:将公式插入到本行内,符号:$公式内容$,如:$xyz$
独行公式:将公式插入到新的一行内,并且居中,符号:$$公式内容$$,如:$$xyz$$
上标、下标与组合
上标符号,符号:^,如:$x^4$
下标符号,符号:_,如:$x_1$
组合符号,符号:{},如:${16}{8}O{2+}{2}$
汉字、字体与格式
汉字形式,符号:\mbox{},如:$V_{\mbox{初始}}$
字体控制,符号:\displaystyle,如:$\displaystyle \frac{
Mermaid
通过 mermaid 可以实现以纯文本的方式绘制流程图,序列图,甘特图等。
使用
元数据标识: grammar_mermaid
想要使用该语法,需要在设置>扩展语法 里把mermaid选项打开。或者在每篇文章的元数据里通过 grammar_mermaid 进行控制。系统默认关闭mermaid语法功能
mermaid 提供了流程图,序列图,甘特图等多种图形效果
mermaid的语法为代码块语法的执行功能,语言为 mermaid
```mermaid!
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
### 流程图
因为 mermaid 支持不同图表,所以所有的流程图需要以 graph 开头
#### 图表方向
kubernetes 03
基础
* 创建kubernetes集群
* 部署应用程序
* 应用程序探索
* 应用外部可见
* 应用可扩展
* 应用更新
https://kubernetes.io/zh/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/
创建kubernetes集群
Kubernetes 协调一个高可用计算机集群,每个计算机作为独立单元互相连接工作。 Kubernetes 中的抽象允许您将容器化的应用部署到集群,而无需将它们绑定到某个特定的独立计算机。为了使用这种新的部署模型,应用需要以将应用与单个主机分离的方式打包:它们需要被容器化。与过去的那种应用直接以包的方式深度与主机集成的部署模型相比,容器化应用更灵活、更可用。 Kubernetes 以更高效的方式跨集群自动分发和调度应用容器。 Kubernetes 是一个开源平台,并且可应用于生产环境。
一个 Kubernetes 集群包含两种类型的资源:
* Master 调度整个集群
* Nodes 负
kubernetes 安装
kubernetes 的命令行工具为kubectl,可以在linux,macOS,Windows上安装。
* windows
通过curl安装或者chocolately或者scoop
# 下载
curl -LO "https://dl.k8s.io/release/v1.23.0/bin/windows/amd64/kubectl.exe"
# 校验
curl -LO "https://dl.k8s.io/v1.23.0/bin/windows/amd64/kubectl.exe.sha256"
# 手工校验
CertUtil -hashfile kubectl.exe