GB/T28181实时视频传输模式介绍

news2025/1/17 3:46:28

GB/T28181实时视频传输模式介绍

文章目录

  • GB/T28181实时视频传输模式介绍
    • 1. 概述
    • 2. 28181视频传输模式
      • 2.1 UDP被动模式
      • 2.2 TCP被动模式
      • 2.3 TCP主动模式

1. 概述

在GB/T28181-2022版本中增加了基于TCP的视频传输的两种模式:主动模式和被动模式,UDP是面向端口的无连接方式,无所谓主动和被动。下面分别介绍下各种模式的概念。

  • UDP模式:在《GB/T28181流媒体相关协议详解》的文章中,以详细介绍了此种模式,由国标平台先开启UDP端口监听,发起INVITE时,在SDP媒体描述信息中携带国标服务器的流媒体接收端口,设备测通过此端口主动向国标服务器发送RTP流。
  • TCP被动模式:国标平台侧发起INVTIE请求时携带的SDP中包含a=setup:passive,表示为被动模式,视频连接建立时由设备测主动发起连接,国标平台侧开启TCP监听端口,被动接收设备侧发起的TCP连接。
  • TCP主动模式:国标平台侧发起INVTIE请求时携带的SDP中包含a=setup:active,表示为主动模式,视频连接建立时由国标平台侧主动发起TCP连接,设备测开启TCP监听端口。

有关TCP模式传输流媒体数据的封包方式及SDP相关SDP描述信息参照规范《rfc4571.Framing Real-time Transport Protocol (RTP) and RTP Control Protocol (RTCP) Packets over Conn》,关注,发送:协议规范,获取相关协议。

2. 28181视频传输模式

2.1 UDP被动模式

28181默认的视频流申请协议时基于UDP的通信,老版本的28181协议仅支持此种模式,其通过平台侧绑定UDP端口,设备测主动发送RTP视频流到国标平台,实现视频的传输,此模式在《GB/T28181流媒体相关协议详解》有详细介绍,这里就不再介绍。

2.2 TCP被动模式

TCP被动模式,首先服务器发送INVITE请求时,携带的SDP中媒体描述信息中传输方式为TCP/RTP/AVP,且包含a=setup:passive,表示为被动模式,视频连接建立时由设备测主动发起连接,国标平台被动接收连接,流程图如下图所示:
1

视频会话交互消息实例:

  1. 国标平台发送INVITE请求:
INVITE sip:34020000001320000002@10.45.12.141:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.45.12.83:5061;rport=5061;branch=z9hG4bK17911100
From: <sip:34020000002000000001@3402000000>;tag=828911100
To: <sip:34020000001320000002@10.45.12.141:5060>
Call-ID: 580910568
CSeq: 7 INVITE
Max-Forwards: 70
User-Agent: Easy SIP Server
Content-Length: 257
Content-Type: application/sdp
Contact: <sip:34020000002000000001@10.45.12.83:5061>
Subject: 34020000001320000002:0200000002,34020000002000000001:0

v=0
o=34020000002000000001 0 0 IN IP4 10.45.12.83
s=Play
c=IN IP4 10.45.12.83
t=0 0
m=video 30000 TCP/RTP/AVP 96 98 97
a=recvonly
a=rtpmap:96 PS/90000
a=rtpmap:98 H264/90000
a=rtpmap:97 MPEG4/90000
a=setup:passive
a=connection:new
y=0200000002

这里媒体描述信息中传输协议类型为:TCP/RTP/AVP,表示TCP传输,视频流传输端口号为30000,携带a=setup:passive表示被动模式。

  1. 设备测发送200 OK响应:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.45.12.83:5061;rport=5061;branch=z9hG4bK17911100
From: <sip:34020000002000000001@3402000000>;tag=828911100
To: <sip:34020000001320000002@10.45.12.141:5060>;tag=1748018096
Call-ID: 580910568
CSeq: 7 INVITE
Contact: <sip:34020000001110000002@10.45.12.141:5060>
Content-Type: application/sdp
User-Agent: IP Camera
Content-Length:   203

v=0
o=34020000001110000002 791 791 IN IP4 10.45.12.141
s=Play
c=IN IP4 10.45.12.141
t=0 0
m=video 15060 TCP/RTP/AVP 96
a=setup:active
a=sendonly
a=rtpmap:96 PS/90000
a=filesize:0
y=0200000002

从设备测响应的协议,可以看出,设备侧发送的流媒体为音视频,源端端口为15060,传输方式为TCP,rtp负载类型为96,这里响应携带的a=setup:active,对于设备测是主动发起连接,时主动模式,对于平台侧就是被动模式。

  1. 国标平台发起ACK:
ACK sip:34020000001320000002@10.45.12.141:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.45.12.83:5061;rport=5061;branch=z9hG4bK940911118
From: <sip:34020000002000000001@3402000000>;tag=828911100
To: <sip:34020000001320000002@10.45.12.141:5060>;tag=1748018096
Call-ID: 580910568
CSeq: 7 ACK
Max-Forwards: 70
User-Agent: Easy SIP Server
Content-Length: 0
  1. 视频传输通道的建立

1
从上图可以看出,TCP连接由设备侧发起SYN,向服务侧30000端口发起连接,源端端口为15060

  1. RTP流基于TCP的传输

TCP通道建立后,RTP流基于TCP通道进行传输,RTP传输负载类型为96,SSRC为0200000002,其封装方式参照:《rfc4571》,音视频封装格式为PS,有关PS封包格式、RTP/RTCP封装方式,在以前的文章中已经详细介绍过,可关注,发送:rtp,获取rtp相关文章,发送消息ps,获取ps相关文章,这里不做介绍。
在这里插入图片描述
通过wireshark抓包解析出来的传输的TCP负载如上图所示。根据rfc4571,RTP通过tcp传输时,需要带有两个字节的长度,表示rtp数据的长途,实例中为0x0584=1412,表示rtp数据包的长度为1412字节。接下来就是rtp包,解析rtp包头可知,其payload=0x60=96,ssrc=0x0bebc202=0200000002,rtp负载为ps流。

2.3 TCP主动模式

28181视频传输主动模式,除了建立TCP连接的方向是由国标平台主动向设备侧发起TCP连接之外,其他流程与被动模式一致,其流程如下:
1

交互消息实例如下:

  1. 国标平台发送INVITE请求:
INVITE sip:34020000001320000002@10.45.12.141:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.45.12.83:5061;rport=5061;branch=z9hG4bK782121095
From: <sip:34020000002000000001@3402000000>;tag=910121095
To: <sip:34020000001320000002@10.45.12.141:5060>
Call-ID: 968120567
CSeq: 11 INVITE
Max-Forwards: 70
User-Agent: Easy SIP Server
Content-Length: 256
Content-Type: application/sdp
Contact: <sip:34020000002000000001@10.45.12.83:5061>
Subject: 34020000001320000002:0200000002,34020000002000000001:0

v=0
o=34020000002000000001 0 0 IN IP4 10.45.12.83
s=Play
c=IN IP4 10.45.12.83
t=0 0
m=video 30001 TCP/RTP/AVP 96 98 97
a=recvonly
a=rtpmap:96 PS/90000
a=rtpmap:98 H264/90000
a=rtpmap:97 MPEG4/90000
a=setup:active
a=connection:new
y=0200000002

SDP携带a=setup:active,表示主动模式,视频通道源端口为30001,TCP/RTP/AVP表示TCP传输。

  1. 设备测发送200 OK响应:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.45.12.83:5061;rport=5061;branch=z9hG4bK782121095
From: <sip:34020000002000000001@3402000000>;tag=910121095
To: <sip:34020000001320000002@10.45.12.141:5060>;tag=155643556
Call-ID: 968120567
CSeq: 11 INVITE
Contact: <sip:34020000001110000002@10.45.12.141:5060>
Content-Type: application/sdp
User-Agent: IP Camera
Content-Length:   206

v=0
o=34020000001110000002 2136 2136 IN IP4 10.45.12.141
s=Play
c=IN IP4 10.45.12.141
t=0 0
m=video 15060 TCP/RTP/AVP 96
a=setup:passive
a=sendonly
a=rtpmap:96 PS/90000
a=filesize:0
y=0200000002

从SDP中可知,设备端视频传输的TCP监听端口为15060,被动模式。

  1. 国标平台发起ACK:
ACK sip:34020000001320000002@10.45.12.141:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.45.12.83:5061;rport=5061;branch=z9hG4bK304121113
From: <sip:34020000002000000001@3402000000>;tag=910121095
To: <sip:34020000001320000002@10.45.12.141:5060>;tag=155643556
Call-ID: 968120567
CSeq: 11 ACK
Max-Forwards: 70
User-Agent: Easy SIP Server
Content-Length: 0
  1. 视频传输通道的建立:

视频通道的TCP连接,由国标平台主动发起发起SYN,向设备端发起连接建立请求。
1

  1. RTP流基于TCP的传输:

rtp传输与被动模式一致,wireshark抓包如下:
1


关注,发送:28181,获取28181更多相关文章

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

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

相关文章

Django实战项目-学习任务系统-兑换物品管理

接着上期代码框架&#xff0c;开发第5个功能&#xff0c;兑换物品管理&#xff0c;再增加一个学习兑换物品表&#xff0c;主要用来维护兑换物品&#xff0c;所需积分&#xff0c;物品状态等信息&#xff0c;还有一个积分流水表&#xff0c;完成任务奖励积分&#xff0c;兑换物品…

通用开源自动化测试框架 - Robot Framework

一、什么是 Robot Framework&#xff1f; 1. Robot Framework 的历史由来 Robot Framework是一种通用的自动化测试框架&#xff0c;最早由Pekka Klrck在2005年开发&#xff0c;并由Nokia Networks作为内部工具使用。后来&#xff0c;该项目以开源形式发布&#xff0c;并得到了…

SPSS平均值检验

前言&#xff1a; 本专栏参考教材为《SPSS22.0从入门到精通》&#xff0c;由于软件版本原因&#xff0c;部分内容有所改变&#xff0c;为适应软件版本的变化&#xff0c;特此创作此专栏便于大家学习。本专栏使用软件为&#xff1a;SPSS25.0 本专栏所有的数据文件请点击此链接下…

ChatGPT文章创作指令Prompt提示词模板

目录 用途&注意说明提示模板中文版英文版 指令说明提示示例输出结果示例 用途&注意说明 用途&#xff1a;根据命题写作&#xff0c;可以用来起草文章&#xff0c;写英语范文适合。 注意点&#xff1a;如果不给范文示例&#xff0c;会写成英文小作文的翻译版。 提示模…

基于Selenium+Python的web自动化测试框架详解

一、什么是Selenium&#xff1f; Selenium是一个基于浏览器的自动化测试工具&#xff0c;它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分&#xff1a;Selenium IDE、Selenium WebDriver 和Selenium Grid。 Selenium IDE&#xff1a;Firefo…

HZGO-A-031/315、KZGO-A-031/50比例减压阀放大器

RZGO-A-010/210、RZGO-A-010/32、RZGO-A-010/100、RZGE-A-010/210、RZGE-A-010/32、RZGE-A-010/100、CART RZGE-A-010/210、CART RZGE-A-010/32、CART RZGE-A-010/100、RZGO-A-031/210、RZGO-A-033/100、HZGO-A-033/350、HZGO-A-031/315、KZGO-A-031/50、KZGO-A-033/210滑阀型、…

对音频文件的处理:音频信息,读取内容,获取时长,切割音频,pcm与wav互转

音频处理发现的比较简单的代码&#xff0c;原作者代码在github&#xff1a;GitHub - silencesmile/python_wav: 对音频文件的处理&#xff1a;音频信息&#xff0c;读取内容&#xff0c;获取时长&#xff0c;切割音频&#xff0c;pcm与wav互转 可以按给定的开始和结束时间调用代…

Spring Boot Web MVC

文章目录 一、Spring Boot Web MVC 概念二、状态码三、其他注解四、响应操作 一、Spring Boot Web MVC 概念 Spring Web MVC 是⼀个 Web 框架&#xff0c;一开始就包含在Spring 框架里。 1. MVC 定义 软件⼯程中的⼀种软件架构设计模式&#xff0c;它把软件系统分为模型、视…

最新版本idea2023.2新特性,最后一点你肯定想不到哈哈

idea2023.2版本正式发布&#xff0c;最新的idea2023.2包含以下新特性&#xff1a; AI Assistant 当前具备一组由 AI 提供支持的初始功能&#xff0c;提供集成式 AI 聊天&#xff0c;可以完成一些任务&#xff0c;例如自动编写文档注释、建议名称、生成提交消息等。编辑器内性能…

【23真题】对不起,由于我的择校分析,这所可能会炸!

哈喽大家好&#xff0c;现在这个时间节点&#xff0c;有很多同学开始刷真题了&#xff01;所以23真题系列正式启动&#xff01;小马哥将全面发布23真题及详细解析&#xff01; 注意太原科技大学&#xff0c;自我发了择校分析以后&#xff08;苍天为证&#xff0c;我真的没有任…

水果FL Studio21.2体验版下载安装教程(增加云服务功能)

FL Cloud 音效库包含开放版权的Loop和采样&#xff0c;以及来自 FL Studio 著名用户的艺术家独家内容。更新后&#xff0c;现在还可以使用人工智能辅助母带处理和数字发行功能来制作音轨。FL Studio 由最初的 "Fruity Loops" DAW 发展而来&#xff0c;25 年来&#x…

RISC-V IDE MRS无感远程协助模块详解

RISC-V IDE MRS无感远程协助模块详解 一、说明 1.1 概述 针对RISC-V/ARM等内核MCU的嵌入式集成开发环境MRS(MounRiver Studio)从V1.90版本开始内置无感远程协助模块&#xff08;Sensorless Remote Assistant Module&#xff0c;以下简称SRA模块&#xff09;。SRA模块是一款支…

PowerCLI vCenter批量更改esxi主机root密码

前提条件 安装 powercli开启wmi,配置网卡,参考 PowerCLi 批量添加所有esxi到vCenter 编写通过vCenter批量更改所有esxi主机root密码自动化脚本 最终实现批量重置所有esxi 密码,无需干预。$vCenterServer = "192.168.19.254" #你的vCenter 管理中心地址更改$User= …

国外调查问卷真的能做吗?

大家好&#xff0c;我是橙河网络&#xff0c;今天聊一聊国外调查问卷真的能做吗&#xff1f; 国外问卷调查这个项目已经存在多年&#xff0c;其赚钱逻辑非常简单&#xff0c;即通过填写国外公司发放的商业调查问卷来获取报酬&#xff0c;一般都是以美元的方式结算。这些问卷可…

性能优化之AA反走样优化

反走样主要是解决采样不足导致的。一般方案选择需要兼顾画面质量与渲染效率权衡的前提下&#xff0c;对图像进行增强。反走样经过了第一代超级采样抗锯齿SSAA&#xff0c;到第二代的多重采样抗锯齿MSAA&#xff0c;快速近似采样FXAA&#xff0c;增强子像素变形抗锯齿SMAA&#…

弱网测试神器—Qnet(上)

一、APP 弱网测试背景 App 在使用的过程中&#xff0c;难免会遇到不同的弱网络环境&#xff0c;像在公车上、在地铁、地下车库等。在这种情况下&#xff0c;手机常常会出现网络抖动、上行或下行超时&#xff0c;导致 APP 应用中出现丢包延迟&#xff0c;从而影响用户体验。 作…

写在2023末,很庆幸自己入了软件测试这行...

为什么会学习软件测试&#xff1f; 已经28岁了&#xff0c;算一下快过去3年了&#xff0c;刚毕业那会工作了一年&#xff0c;因为自己当时很迷茫&#xff08;觉得自己挺废的&#xff09;&#xff0c;所以就没去工作就一直在家&#xff0c;家里固定每个月给点生活费&#xff0c…

查看公司电脑里软件安装

查看公司电脑里软件安装是一项重要的任务&#xff0c;可以帮助管理员了解员工在工作中使用的软件情况&#xff0c;以及发现潜在的安全风险。 方法一&#xff1a;事件查看器 点击开始菜单&#xff0c;搜索“事件查看器” 2、点击“windows”日志&#xff0c;打开“应用程序”&a…

XAMPP的下载安装配置详细教程

XAMPP的下载安装配置详细教程&#xff08;含拒绝访问坑&#xff09; ​ xampp 话不相瞒&#xff0c;当初为了在XAMPP&#xff08;ApacheMySQLPHPPERL&#xff09;里面配置phpwind&#xff0c;我在卸载与安装之间来回了不下10次&#xff0c;但是我的phpwind始终还是安装不成功…

『OpenStack』云计算平台『Nova』计算服务学习指南

前言 本文将会讲解 OpenStack 平台计算服务组件 Nova &#xff0c;结合抽象概念和简单易懂的实战操作&#xff0c;帮助您更好的理解 Nova 计算服务在 OpenStack 中的作用 系统配置&#xff1a;宿主机 Ubuntu 20.04&#xff08;WSL2&#xff09; 简介 OpenStack 官网链接&…