美畅物联丨GB/T 28181系列之TCP/UDP被动模式和TCP主动模式

GB/T 28181《安全防范视频监控联网系统信息传输、交换、控制技术要求》作为我国安防领域的重要标准,为视频监控系统的建设提供了全面的技术指导和规范。该标准详细规定了视频监控系统的信息传输、交换和控制技术要求,在视频流传输方面,GB/T 28181支持多种传输模式,其中包括TCP/UDP被动模式和TCP主动模式。今天我们就讨论下这几种传输模式的工作原理(通过SDP数据包来帮助理解)、应用场景及各自的优势。

一、TCP/UDP被动模式(Passive Mode)

TCP(Transmission Control Protocol)即传输控制协议,是一种复杂、缓慢但可靠的传输协议。

UDP(User Datagram Protocol)即用户数据包协议,是一种简单、快速但可靠度较低的传输协议。在GB/T 28181中,UDP模式主要用于流媒体传输。

TCP/UDP被动模式下,前端设备,诸如高清摄像头,主动跨越网络界限,向位于外网的监控中心服务器发起连接请求。这一模式尤其适用于前端设备部署于安全内网,而监控中心位于开放外网的场景,有效解决了跨网数据传输的难题。

1、工作原理:

(1)平台端作为服务器监听TCP端口,等待设备端的连接请求。

(2)设备端通过SIP信令向平台端发送INVITE请求,并在SDP中指定TCP传输方式和端口号,同时携带a=setup:passive参数表示采用被动模式。

(3)平台接收到INVITE请求后,解析SDP信息,确认采用TCP被动模式,并继续监听TCP端口。

(4)设备端主动向平台发起TCP连接请求,平台被动接收请求并建立连接。前端设备向平台发送高清视频流,确保视频画面的实时性与清晰度。

(5)平台端不仅作为数据的接收者,更通过这一连接向前端设备发送控制指令,实现了监控系统的远程操控与即时响应。

2、SIP会话流程

(1)INVITE请求

设备端通过SIP信令向平台端发送INVITE请求,开始会话。SDP中m指定使用TCP传输,如果把m里面的TCP改成UDP,即指定使用UDP传输。

INVITE sip:34020000002000000001@192.168.1.100 SIP/2.0
Via: SIP/2.0/TCP 192.168.1.2:5060;branch=z9hG4bK776sgdkse
From: <sip:34020000001320000001@192.168.1.2>;tag=5678
To: <sip:34020000002000000001@192.168.1.100>
Call-ID: 123456789@192.168.1.2
CSeq: 1 INVITE
Contact: <sip:34020000001320000001@192.168.1.2>
Content-Type: application/SDP
Content-Length: 160v=0
o=34020000001320000001 0 0 IN IP4 192.168.1.2
s=Play
c=IN IP4 192.168.1.2
t=0 0
m=video 6000 TCP/RTP/AVP 96
a=rtpmap:96 H264/90000
a=setup:passive
a=connection:new

(2)200 OK响应

设备端准备好推送视频流,它发送一个200 OK响应,包括会话描述。

SIP/2.0 200 OK
Via: SIP/2.0/TCP 192.168.1.2:5060;branch=z9hG4bK776sgdkse
From: <sip:34020000001320000001@192.168.1.2>;tag=5678
To: <sip:34020000002000000001@192.168.1.100>;tag=1234
Call-ID: 123456789@192.168.1.2
CSeq: 1 INVITE
Content-Type: application/SDP
Content-Length: 160v=0
o=34020000002000000001 0 0 IN IP4 192.168.1.100
s=Play
c=IN IP4 192.168.1.100
t=0 0
m=video 6000 TCP/RTP/AVP 96
a=rtpmap:96 H264/90000
a=setup:active
a=connection:new

(3)ACK请求

平台端确认发送ACK请求,确认200 OK响应,正式建立会话。

ACK sip:34020000002000000001@192.168.1.100 SIP/2.0
Via: SIP/2.0/TCP 192.168.1.2:5060;branch=z9hG4bK776sgdkse
From: <sip:34020000001320000001@192.168.1.2>;tag=5678
To: <sip:34020000002000000001@192.168.1.100>;tag=1234
Call-ID: 123456789@192.168.1.2
CSeq: 1 ACK

3、应用场景及优势

TCP/UDP被动模式适用于前端设备(如摄像头、编解码器等)主动连接到监控中心或服务器的场景。

(1)前端设备位于内网:当前端设备处于企业或组织的内部网络中,而监控中心或服务器位于外网时,前端设备需要主动穿越NAT(网络地址转换)或防火墙,与服务器建立连接。此时,TCP/UDP被动模式能够确保数据的安全、可靠传输。

(2)需要高可靠性和顺序性的数据传输:TCP协议以其面向连接的特性,提供了数据传输的可靠性和顺序性。在需要确保视频流不丢失、不乱序的场景中,TCP/UDP被动模式是理想的选择。

(3)网络环境相对稳定:在网络环境相对稳定、不易出现大规模网络波动或中断的情况下,TCP/UDP被动模式能够保持连接的稳定性,确保视频监控系统的持续运行。

二、TCP主动模式(Acvite Mode)

TCP主动模式与TCP/UDP被动模式不同,在TCP主动模式下,平台端主动向前端设备发起连接。适用于前端设备具有公网IP或网络环境允许入站连接。

1、工作原理

(1)设备端通过SDP协议告知平台端其监听的TCP端口情况。

(2)平台端根据前端设备的IP地址和端口,主动尝试建立TCP连接。

(3)连接建立后,平台端开始接收来自设备端的视频数据。

(4)平台也可以通过这个连接向设备端发送控制命令。

2、SIP会话流程

(1)INVITE请求

平台端向设备端发送INVITE请求,开始会话。SDP中m指定使用TCP传输,a=setup:acvite指定使用主动模式。

INVITE sip:34020000002000000001@192.168.1.100 SIP/2.0
Via: SIP/2.0/TCP 192.168.1.2:5060;branch=z9hG4bK776sgdkse
From: <sip:34020000001320000001@192.168.1.2>;tag=5678
To: <sip:34020000002000000001@192.168.1.100>
Call-ID: 123456789@192.168.1.2
CSeq: 1 INVITE
Contact: <sip:34020000001320000001@192.168.1.2>
Content-Type: application/sdp
Content-Length: 160v=0
o=34020000001320000001 0 0 IN IP4 192.168.1.2
s=Play
c=IN IP4 192.168.1.2
t=0 0
m=video 6000 TCP/RTP/AVP 96
a=rtpmap:96 H264/90000
a=setup:acvite
a=connection:new

(2)200 OK响应

设备端准备好TCP端口,等待平台端主动连接,它发送一个200 OK响应,包括会话描述。

1.SIP/2.0 200 OK
Via: SIP/2.0/TCP 192.168.1.2:5060;branch=z9hG4bK776sgdkse
From: <sip:34020000001320000001@192.168.1.2>;tag=5678
To: <sip:34020000002000000001@192.168.1.100>;tag=1234
Call-ID: 123456789@192.168.1.2
CSeq: 1 INVITE
Content-Type: application/sdp
Content-Length: 160v=0
o=34020000002000000001 0 0 IN IP4 192.168.1.100
s=Play
c=IN IP4 192.168.1.100
t=0 0
m=video 6000 TCP/RTP/AVP 96
a=rtpmap:96 H264/90000
a=setup:passive
a=connection:new

(3)ACK请求

平台端发送ACK请求,确认200 OK响应,正式建立会话。

ACK sip:34020000002000000001@192.168.1.100 SIP/2.0
Via: SIP/2.0/TCP 192.168.1.2:5060;branch=z9hG4bK776sgdkse
From: <sip:34020000001320000001@192.168.1.2>;tag=5678
To: <sip:34020000002000000001@192.168.1.100>;tag=1234
Call-ID: 123456789@192.168.1.2
CSeq: 1 ACK

3、应用场景及优势

TCP主动模式则适用于平台端主动向前端设备发起连接的场景。

(1)前端设备具有公网IP:当前端设备直接连接到公网,并拥有独立的公网IP地址时,平台端可以主动向前端设备发起连接请求,建立TCP连接。这种情况下,TCP主动模式能够减少前端设备的连接请求次数,降低网络负担。

(2)网络环境允许入站连接:在前端设备所在的网络环境允许入站连接的情况下,平台端可以主动与前端设备建立连接,实现视频流的实时传输和控制指令的交互。这种模式特别适用于需要平台端主动控制连接或前端设备处于NAT/防火墙之后的场景。

(3)对实时性要求较高:虽然TCP协议本身已经提供了较高的数据传输可靠性,但在某些对实时性要求极高的应用场景中(如实时视频会议、远程医疗等),TCP主动模式能够更快地建立连接并传输数据,减少传输延迟。

三、结语

GB/T 28181标准下的TCP/UDP被动模式与TCP主动模式,如同视频汇聚平台的双翼,各自在不同场景下展现出独特的魅力与优势。TCP/UDP被动模式以其稳健可靠著称,适用于对数据传输顺序与可靠性有严格要求的环境;而TCP主动模式则以其主动性与控制力见长,适用于需要平台主动建立连接或前端设备处于NAT/防火墙保护下的场景。通过精准选择与合理配置这些传输模式,我们不仅能够确保视频监控系统的稳定运行与高效传输,更能为各类应用场景提供量身定制的解决方案。

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

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

相关文章

考研数据结构——C语言实现插入排序

插入排序是一种简单直观的比较排序算法&#xff0c;它的工作原理是通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插入。插入排序在实现上&#xff0c;通常采用in-place&#xff08;原地排序&#xff09;&#…

Git 与远程分支

90.远程仓库和分支 我们经常需要对远程仓库里的分支进行更新。 ‍ 当从远程库 clone 时&#xff0c;默认情况下&#xff0c;只会拉取 master ​分支&#xff0c;并且会将本地的 master 分支和远程的 master 分支关联起来&#xff1a; $ git branch * master‍ ‍ 推送本地…

17.第二阶段x86游戏实战2-线程发包和明文包

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要…

kubernetes的网络

kubernetes网络模型 Kubernetes采用的是基于扁平地址空间的网络模型&#xff0c;集群中的每个Pod都有自己的IP地址&#xff0c;Pod之间不需要配置NAT就能直接通信&#xff0c;同一个Pod中的容器共享Pod的IP&#xff0c;能够通过localhost通信Pod容器内的通信 当Pod被调度到某个…

车辆重识别(去噪扩散概率模型)论文阅读2024/9/27

[2] Denoising Diffusion Probabilistic Models 作者&#xff1a;Jonathan Ho Ajay Jain Pieter Abbeel 单位&#xff1a;加州大学伯克利分校 摘要&#xff1a; 我们提出了高质量的图像合成结果使用扩散概率模型&#xff0c;一类潜变量模型从非平衡热力学的考虑启发。我们的最…

【hot100-java】【零钱兑换】

R9-dp篇 class Solution {public int coinChange(int[] coins, int amount) {int ncoins.length;int [][] fnew int[n1][amount1];//除2防止下面1溢出Arrays.fill(f[0],Integer.MAX_VALUE/2);f[0][0]0;for (int i0;i<n;i){for (int c0;c<amount;c){if(c<coins[i]) f[i…

5G NR 协议规范表(对应3GPP 协议编号)

文章目录 5G NR 协议规范表&#xff08;对应3GPP 协议编号&#xff09;5G 架构相关协议5G 新空口相关协议无线接入网相关协议终端相关协议 5G NR 协议规范表&#xff08;对应3GPP 协议编号&#xff09; 5G 架构相关协议 5G 新空口相关协议 无线接入网相关协议 终端相关协议

网页设计html心得

一&#xff0c;认识网页 说到网页&#xff0c;其实大家并不陌生 1.1网页究竟是什么&#xff1f; 网页主要由文字、图像和超链接等元素构成。当然&#xff0c;除了这些元素&#xff0c;网页中还可以包含音频、视频以及Flash等。 1.2网页是如何形成的呢&#xff1f; 1.特殊的…

uni-app在线预览pdf

这里推荐下载pdf.js 插件 PDF.js - Browse Files at SourceForge.net 特此注意 如果报 Promise.withResolvers is not a function 请去查看版本兼容问题 降低pdf.js版本提高node版本 下载完成后 在 static 文件夹下新建 pdf 文件夹&#xff0c;将解压文件放进 pdf 文件…

从0新建一个微信小程序实现一个简单跳转

首先 1.从这里下载开发工具 https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/getstart.htm 2. 等下载完毕后 创建一个空白项目 在pages目录下右键创建一个page : testUI,这时候会生成四个文件 新建一个文件夹 testUI 给他们放一起 3.增加一个按钮 …

尚品汇-自动化部署-Jenkins的安装与环境配置(五十六)

目录&#xff1a; 自动化持续集成 &#xff08;1&#xff09;环境准备 &#xff08;2&#xff09;初始化 Jenkins 插件和管理员用户 &#xff08;3&#xff09;工作流程 &#xff08;4&#xff09;配置 Jenkins 构建工具 自动化持续集成 互联网软件的开发和发布&#xf…

【AI基础】pytorch lightning 基础学习

传统pytorch工作流是首先定义模型框架&#xff0c;然后写训练和验证&#xff0c;测试循环代码。训练&#xff0c;验证&#xff0c;测试代码写起来比较繁琐。这里介绍使用pytorch lightning 部署模型&#xff0c;加速模型训练和验证&#xff0c;记录。 准备工作 1 安装pytorch…

JAVA红娘婚恋相亲交友系统源码全面解析

在数字化时代&#xff0c;红娘婚恋相亲交友系统成为了连接单身男女的重要桥梁。JAVA作为一种流行的编程语言&#xff0c;为开发这样的系统提供了强大的支持。编辑h17711347205以下是对JAVA红娘婚恋相亲交友系统源码的全面解析&#xff0c;以及三段示例代码的展示。 系统概述 …

[产品管理-33]:实验室技术与商业化产品的距离,实验室技术在商业化过程中要越过多少道“坎”?

目录 一、实验室技术 1.1 实验室研究性技术 1.2 技术发展的S曲线 技术发展S曲线的主要阶段和特点 技术发展S曲线的意义和应用 二、实验室技术商业化的路径 2.1 实验室技术与商业化产品的距离 1、技术成熟度与稳定性 - 技术自身 2、市场需求与适应性 - 技术是满足需求 …

ArcEngine C#二次开发图层处理:根据属性分割图层(Split)

需求&#xff1a;仅根据某一属性&#xff0c;分割图层&#xff0c;并以属性值命名图层名保存。 众所周知&#xff0c;ArcGIS ArcToolbox中通过Split可以实现图形分割一个图层&#xff0c;以属性值命名图层&#xff0c;如下图所示。 本功能仅依据属性值&#xff0c;将一个shp图…

转行大模型的必要性与未来前景:迎接智能时代的浪潮

随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;特别是大型语言模型&#xff08;LLM, Large Language Models&#xff09;的崛起&#xff0c;各行各业正迎来一场前所未有的技术革命。对于普通程序员而言&#xff0c;转行进入大模型领域不仅是对个人职业发展…

【第十五章:Sentosa_DSML社区版-机器学习之关联规则】

目录 15.1 频繁模式增长 15.2 PrefixSpan 【第十五章&#xff1a;Sentosa_DSML社区版-机器学习之关联规则】 机器学习关联规则是一种用于发现数据集中项之间有趣关系的方法。它基于统计和概率理论&#xff0c;通过分析大量数据来识别项之间的频繁共现模式。 15.1 频繁模式增…

Python 爬虫 根据ID获得UP视频信息

思路&#xff1a; 用selenium库对网页进行获取&#xff0c;然后用bs4进行分析&#xff0c;拿到bv号&#xff0c;标题&#xff0c;封面&#xff0c;时长&#xff0c;播放量&#xff0c;发布时间 先启动webdriver.&#xff0c;进入网页之后&#xff0c;先等几秒&#xff0c;等加…

Unity 的Event的Use()方法

对于Event的Use方法&#xff0c;其在调用后将不会再判断同类型的事件 这种情况下&#xff0c;第二个MosueDown不会进入&#xff0c;因为已经Use 如果把Use注释掉 依旧能进入第二个MosueDown 也就是说当使用了Use方法&#xff0c;相同的事件类型不会进第二遍

【反素数】

题目 思路 首先分析 的性质 一定是 中约数最大的一定是约数同是最大的数字中值中最小的进一步挖掘性质&#xff0c;紧贴枚举的做法 约数最大值最小&#xff08;也决定了层数、其它约束&#xff09;&#xff0c;是枚举的比较条件实现上述目的&#xff0c;枚举的质数种类在大小…