首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏音视频咖

    技术解码 | GB28181协议简介及实践

    GB28181协议中基于数字摘要的挑战应答式安全技术进行注册流程如下图2所示:  图2 基本注册流程示意图 注册流程描述如下: (a) SIP代理向SIP服务器发送Register请求; (b) SIP 具体命令流程如图3:             图3 保活命令流程 命令流程描述如下: (a) 源设备向SIP服务器发送设备状态信息报送命令。 客户端主动发起的实时视音频点播流程见图4: 图4 客户端主动发起的实时视音频点播流程图 其中,信令1、8、9、10、11、12为SIP服务器接收到客户端的呼叫请求后通过B2BUA代理方式建立媒体流接收者与媒体服务器之间的媒体流信令过程 命令流程描述如下: (a) 媒体流接收者向SIP服务器发送INVITE消息, 消息头域中携带Subject字段, 表明点播的视频源ID、发送方媒体流序列号、媒体流接收者ID、接收端媒体流序列号等参数,SDP (j) SIP服务器将消息9转发给媒体流接收者。 (k) 媒体流接收者收到200 OK响应后,回复ACK消息,完成与SIP服务器的INVITE会话建立过程。

    20.6K74发布于 2021-05-13
  • 来自专栏海之滨云视频和流媒体技术

    国标GB28181协议客户端开发(三)查询和实时视频画面

    首先,介绍了设备目录查询、设备信息查询和设备状态查询三个重要的信息查询功能,并详细解释了它们在协议中的信令交互流程。随后,深入讨论了实时视频的实现方式,包括数据传输协议和传输规范要求。 设备目录查询的信令交互流程如下: 设备端发送查询请求信令(Query Catalog)到设备管理平台; 设备管理平台接收到请求后,返回设备目录信息(Catalog)给设备端。 其信令交互流程如下: 设备端发送查询请求信令(Query Device)到设备管理平台,携带要查询设备的ID; 设备管理平台接收到请求后,返回设备详细信息(Device Info)给设备端。 下面是一个完整的实时视频信令交互过程: 图片 GB28181平台需要查看实时画面的时候,向目标设备发送实时视频邀请信令(Invite)。 GB28181平台 -> 设备端, INVITE INVITE sip:34020000001310000001@3402000000 SIP/2.0 Call-ID: helloVideo CSeq:

    2.4K00编辑于 2023-07-06
  • 来自专栏RTSP/RTMP直播相关

    国网B接口调阅实时视频(INVITE)接口描述和消息示例

    前面三篇blog分别介绍国网B接口注册、资源上报和资源信息获取,今天过一下国网B接口调阅实时视频相关的接口描述和消息示例,做过GB28181设备接入的都知道,国网B接口调阅实时视频流程GB28181的基本一致的 接口描述国网B接口调阅实时视频,相关规范写的比较粗略:调阅实时视频包括信令接口和媒体流接口,采用标准的SIP INVITE+SDP流程,媒体传输使用RTP/RTCP。 调阅实时视频的接口流程图片主要功能流程如下: a) F1:用户发送 INVITE 消息,携带 SDP 内容通过平台转发到前端设备。 再看看GB28181客户端主动发起的实时视音频点播流程:具体流程不再赘述,看看​​大牛直播SDK​​针对GB28181 invite的处理吧:图片收到Invite后,除了正常信令交互回复外,初始化Sender )接口描述和消息示例,然后就GB28181invite做了简单的对比,感兴趣的开发者,可以仔细研读两份规范,看看还有哪些不一致的地方。

    2.1K30编辑于 2022-10-26
  • 来自专栏RTSP/RTMP直播相关

    如何在Android平台GB28181接入终端实现语音广播和语音对讲

    相关SPEC解读关于语音广播和对讲,感兴趣的开发者可直接参阅GBT 28181-2016.pdf相关技术规范里面的9.12章节,以下是部分精选介绍:图片命令交互流程图片命令描述流程a) 1:SIP服务器向语音流接收者发送语音广播通知消息 向媒体服务器发送Invite消息,此消息不携带SDP消息体。 j) 10:SIP服务器收到语音流发送者返回的200OK 响应后,向媒体服务器发送 ACK 请求,请求 中携带消息9中语音流发送者回复的200OK 响应消息体,完成与媒体服务器的Invite会话 建立过程 w)23:SIP服务器向语音流发送者发送 BYE 消息,断开消息8、9、11建立的同语音流发送者的 Invite会话。 x) 24:语音流发送者收到 BYE消息后回复200OK 响应,会话断开。 后续呼叫流程与上述流程相同。语音对讲语音对讲功能实现中心用户与前端用户之间的一对一语音对讲功能。

    1.8K20编辑于 2022-08-22
  • 来自专栏RTSP/RTMP直播相关

    国网B接口调阅实时视频规范解读和代码示例分析

    ​接口描述 国网B接口调阅实时视频,相关规范写的比较粗略: 调阅实时视频包括信令接口和媒体流接口,采用标准的SIP INVITE+SDP流程,媒体传输使用RTP/RTCP。 调阅实时视频的接口流程 图片 主要功能流程如下: a) F1:用户发送 INVITE 消息,携带 SDP 内容通过平台转发到前端设备。 技术实现 由于国网B接口的invite实现和GB28181的差异不大,之前我们GB28181这块,已经有非常好的积累了。 :15060;branch=z9hG4bK864531896 From: <sip:000000000000000001@0000000000>;tag=482531896 To: <sip GB28181流程基本一致,感兴趣的开发者,可以参考相关的规范实现,B接口相对GB28181来说,面更窄,资料也更少,如果产品化,有测试平台的话,还是不难实现的。

    1K10编辑于 2023-04-14
  • 来自专栏RTSP/RTMP直播相关

    Android平台GB28181设备接入端语音广播支持PS格式

    技术背景 对接Android平台GB28181设备接入端语音广播的时候,我们有遇到过INVITE SDP需要PCMA格式的audio,对方同时回了PS和PCMA两种,然后,发数据的时候,直接发了PS的。 INVITE sip:31010400001360000001@3101040000 SIP/2.0 Call-ID: 33a3b4d751e1bf831f9d7ddd03218fcaf CSeq: 796255 规范回顾 说了这么多废话,还是回顾下语音广播的交互流程,因为之前的blog做过几次说明,这里不再赘述: 图片 技术实现 本文以大牛直播SDK的Android平台基于Camera2的采集demo为例,如果需要注册到 GB28181平台,点击页面的“启动GB28181”即可,有语音广播过来后,使能“GB28181语音广播”按钮,用于主动关闭语音广播之用。 总结 GB28181设备接入这块,遇到的国标平台侧的问题真的是五花八门,真是印证了那句话:GB28181相关的模块,做demo容易,做产品,真的太难了,怪不得这么多公司懒得搞这块。

    64520编辑于 2023-03-14
  • 来自专栏txp玩Linux

    GB28181协议--GB28181协议简介

    GB28181标准规定了公共安全视频监控联网系统(以下简称联网系统) 的互联结构, 传输、 交换、 控制的基本要求和安全性要求, 以及控制、 传输流程和协议接口等技术要求。 命令流程描述如下: (a) 媒体流接收者向SIP 服务器发送Invite 消息, 消息头域中携带 Subject 字段, 表明点播的视频源ID、 发送方媒体流序列号、 媒体流接收者ID、 接收端媒体流序列号等参数 (j)SIP 服务器将消息9 转发给媒体流接收者。 (k) 媒体流接收者收到200 OK 响应后, 回复 ACK 消息, 完成与SIP 服务器的Invite 会话建立过程。 (o)SIP 服务器收到 BYE 消息后向媒体服务器发送 BYE 消息, 断开消息8、9、12 建立的同媒体服务器的Invite 会话。 (9)历史视音频文件下载 应支持对指定设备指定时间段的历史视音频文件进行下载。

    5.1K21编辑于 2023-11-06
  • 来自专栏RTSP/RTMP直播相关

    Android平台GB28181接入端语音广播和语音对讲规范解读和技术实现

    我在之前的blog,有提到过Android端GB28181接入端的语音广播和语音对讲,今天主要从GB/T28181-2016官方规范和交互流程,大概介绍下Android平GB28181接入端的语音广播和语音对讲 关于交互流程,本文不再赘述,一张图足矣:图片接下来,我们主要来看看规范里面提到的协议接口。 1587-3a3-2b297f29-3a3@3101040000CSeq:1761796551 MESSAGEVia:SIP/2.0/UDP192.168.0.202:5511;rport;branch=z9hG4bK 1587-a3-5eacf182-a3@3101040300CSeq:1856483244 MESSAGEVia:SIP/2.0/UDP192.168.0.199:5511;rport;branch=z9hG4bK-a3 平台,点击页面的“启动GB28181”即可,有语音广播过来后,使能“GB28181语音广播”按钮,用于主动关闭语音广播之用。

    1.4K00编辑于 2022-10-16
  • 来自专栏RTSP/RTMP直播相关

    Android前端音视频数据接入GB28181平台意义

    ​技术背景 在我们研发Android平台GB28181前端音视频接入模块之前,业内听到最多的是,如何用Android或者Windows端,在没有国标IPC设备的前提下,模拟GB28181的信令和媒体流交互流程 ,实现GB28181整体方案的测试? 设计思路 信令设计和媒体数据传输分离,上层实现国标GB28181的注册、注销、CATALOG、INVITE、ACK、BYE、SUBSCRIBE等交互处理,如注册成功后,返回注册时间,并检测传输或心跳等异常状态 ,服务端发送catalog请求后,组织本地catalog信息,并以message的形式发送到服务端,服务端收到相关信息后,开始发送invite请求,客户端解析INVITE返回的SDP信息,组织相关的response 为Android平台赋能,像支持GB28181协议的IPC一样,方便的把摄像头、屏幕、麦克风或外部RTSP、RTMP流,顺利接入到GB28181平台。

    1.3K40编辑于 2022-03-08
  • 来自专栏RTSP/RTMP直播相关

    ​​Android平台GB28181历史视音频文件下载规范探讨及技术实现

    命令流程图片其中,信令 1,8,9、10,11,12 为 SIP 服务器接收到客户端的呼叫请求后通过 B2BUA 代理方式建立媒体流接受者与媒体服务器之间的媒体链接信令过程。 命令流程描述如下:媒体流接收者向 SIP 服务器发送Invite 消息,消息头域中携带 Subject 字段,表明点播的视频源 ID、发送方媒体流序列号、媒体流接收者 ID、接收端媒体流序列号标识等参数 SIP 服务器将消息 9 转发给媒体流接收者,可扩展 a 字段携带文件大小参数。媒体流接收者收到 200 OK响应后,回复 ACK 消息,完成与 SIP 服务器的 Invite 会话建立过程。 SIP 服务器收到 BYE 消息后向媒体服务器发送 BYE 消息,断开消息 8,9,12 建立的同媒体服务器的 Invite 会话。媒体服务器收到 BYE 消息后回复 200 OK 响应,会话断开。 技术实现本文以大牛直播SDK开发的Android平台GB28181设备接入侧视音频历史文件检索和下载为例(本文侧重于下载),介绍下相关设计思路:图片 Android设备接入端收到国标平台侧发过来的INVITE

    1.1K100编辑于 2023-09-06
  • 来自专栏TSINGSEE青犀视频

    智能安防视频监控平台EasyCVR级联上级时无播放画面是什么原因?该如何解决?

    收到用户反馈,技术人员立即开展排查,以下为解决步骤:1)首先登录到上级平台,将EasyCVR推送的通道进行播放,可以看出海康平台无法显示画面;2)随后通过GB28181协议级联,以抓包的方式来排查问题; 3)在下级抓包的同时在上级点击播放,展开报文查看整个流程信息,可以看到从上级请求invite消息到ack信令流程正常;4)然后再通过invite信息展开查看请求的流端口下级未发流,继续排查信令消息的数据是否有异常 ,可以看到invite请求的设备编号和上级ack确认的通道编号不一致,随后联系上级平台进行修改;5)最后在上级平台进行对ack信息的通道编号改正和invite一致时,下级EasyCVR正常发流,上级平台也播放正常了 平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视频定时轮播。感兴趣的用户可以前往演示平台进行体验或部署测试。

    43930编辑于 2023-11-01
  • 来自专栏国标视频云平台

    golang实现国标GB28181流媒体点播预览服务方案的框架流程

    接受和处理GB28181接入服务器的推流请求(如有推流权限验证则调用验证服务器接口);2. 接受和处理GB28181设备的推流;3. 实时流媒体处理,PS(TS)转ES;4. 接受和处理GB28181接入服务器的断开推流请求;6. 对外提供服务器获取状态、信息,控制等http API接口;GB28181流媒体服务器对接SkeyeSMS云平台整体框架图片流媒体点播详细流程1 接入服务器发送Invite请求接入服务器向流媒体服务器发送 Invite请求,请求流媒体服务返回携带SDP 消息体,消息体中描述了媒体服务器接收媒体流的IP、端口、媒体格式等内容;Invite请求代码如下: const options = 请求处理并ACK应答流媒体服务接受Invite请求,并在回调函数中处理请求,js代码如下: uas.on('invite', async ctx => { const

    2.3K20编辑于 2023-04-13
  • 来自专栏GB28181技术

    GB28181规范中broadcast和talk模式实际场景时间差别在哪里?

    ​好多开发者对GB28181规范里面,broadcast和talk模式区分不清,今天借此机会,针对GB28181标准中的Broadcast(广播)和Talk(对讲)是两种不同的通信模式,它们在视频监控系统中扮演着不同的角色 Talk(对讲): 流程简述:通常涉及多个SIP信令交互,如设备侧发起INVITE请求建立通话,平台侧回复200 OK确认,然后双方开始传输语音数据,通话结束后发送BYE请求终止通话。4. 技术实现两者都基于GB28181标准实现,但具体的技术细节和信令流程有所不同。 Broadcast通常通过SIP MESSAGE方法实现,而Talk则通过SIP INVITE、ACK、BYE等信令方法实现双向通话。 综上所述,GB28181标准中的Broadcast和Talk在功能、通信方式、交互流程、应用场景和技术实现等方面都存在明显的区别。这些区别使得它们能够适用于不同的视频监控和通信需求场景。​

    63210编辑于 2024-09-17
  • 来自专栏GB28181技术

    GB28181信令交互流程及Android端设备对接探讨

    GB28181信令交互流程GB28181 规范中的信令交互流程主要包括注册、保活、设备信息查询、实时视频预览等环节,具体如下:注册流程下级设备发起注册请求:下级监控设备(如摄像头、编码器等)向上级监控平台 保活流程下级设备发送保活请求:注册成功后,下级设备需要定期向上级平台发送保活请求,以维持连接的有效性。 设备信息查询流程设备端发送查询请求:上级平台或其他有权限的设备可以向下级设备发送设备信息查询请求,请求消息中包含查询的命令类型和要查询的设备 ID(如果是查询单个设备信息)等信息。 实时视频预览流程GB28181 规范中的实时视频预览流程主要包括以下步骤:发起预览请求34: 上级平台(客户端)动作:上级监控平台或有权限的客户端想要预览下级设备的实时视频时,会向下级设备发送INVITE 媒体服务器和下级设备响应:媒体服务器和下级设备收到BYE请求后,分别回复200 OK响应,会话断开,整个实时视频预览流程结束。

    1.7K00编辑于 2024-09-28
  • 来自专栏RTSP/RTMP直播相关

    SmargGBD(GB28181设备接入模块)如何对接wvp-gb28181-pro

    ​技术背景我们在对接SmartGBD(GB28181设备接入模块)的时候,处理常规的海康大华宇视等国标平台外,有些公司会选择wvp-gb28181-pro。 } } }如果注册成功的话,wvp-gb28181-pro平台会显示在线:点击“通道”,进入相应channel页面:这里可以选择,直接播放,wvp国标平台侧会发INVITE 请求过来: INVITE sip:34020000001380000001@192.168.0.104:5060 SIP/2.0 Call-ID: b8787860378195821a173f98138b77fb @192.168.0.106 CSeq: 613 INVITE From: <sip:41010500002000000001@4101050000>;tag=fbc9cccc34234fc3b4d78cb7035ca7a5 To: <sip:34020000001380000001@192.168.0.104:5060> Via: SIP/2.0/UDP 192.168.0.106:8118;branch=z9hG4bK2349190019

    2.6K20编辑于 2023-11-11
  • 来自专栏RTSP/RTMP直播相关

    ​​Android平台GB28181历史视音频文件回放规范解读及技术实现

    ​ 技术背景在实现GB28181历史视音频文件回放之前,我们已完成了历史视音频文件检索和下载,历史视音频回放,在GB28181平台非常重要,比如执法记录仪等前端设备,默认录像数据存储在前端设备侧,如果需要上传到平台统一保存 ,除了到工作站拷贝外,还可以通过GB28181的历史视音频文件下载到指挥中心。 GB28181历史视音频文件回放基本要求:需采用 SIP 协议中的 Invite 方法实现会话连接;采用SIP扩展协议Info方法的消息体携带视音频回放控制命令;采用 RTP/RTCP 协议实现媒体传输 基本流程如下:本文结合Android平台GB28181设备接入侧和GB28181国标平台侧,理下基本流程:1、GB28181平台侧向Android平台GB28181设备接入侧发送Invite消息,消息头域携带 Android国标设备侧发送ACK请求,请求中不携带消息体,完成与Android国标设备侧的Invite会话建立过程;4、Android GB28181设备侧按Invite SDP中给出的IP地址和端口等信息

    2.3K70编辑于 2023-11-07
  • 来自专栏GB28181技术

    Android平台GB28181实时回传流程和技术实现

    ​规范解读GB28181 中的 “INVITE” 是会话初始协议(SIP)中的一种请求方法,主要用于邀请一个或多个参与者加入特定的会话。 在 GB28181 标准中,“INVITE” 请求通常用于发起媒体流的传输请求。 以下是 GB28181 中 “INVITE” 请求的一些关键特点和作用:一、发起会话触发媒体流传输:“INVITE” 请求是启动媒体流传输的关键步骤。 二、协商媒体参数媒体能力协商:在 GB28181 中,不同的设备可能具有不同的媒体处理能力。通过 “INVITE” 请求和响应的交互过程,可以进行媒体能力的协商。 ");}}}} GBSIPAgentPlayListener主要系GB28181Invite、Ack、Bye等处理:public interface GBSIPAgentPlayListener {

    70010编辑于 2024-09-30
  • 来自专栏Python 知识大全

    流程控制-9(上)

    本文目录 前言 一、顺序结构 二、选择结构1-if语句 三、选择结构2-switch语句 前言 1.默认的运行流程 默认情况下,程序的运行流程是这样的:运行程序后,系统会按书写顺序执行程序中的每一行代码 10 return 0; 11 } 程序运行后,会按顺序执行第6、7、8行语句,于是输出结果为: Hello-1 Hello-2 Hello-3 2.其他运行流程 但很多时候,我们并不想要按照默认的运行流程去走 要想实现这种功能,那就要学会如何去控制程序的运行流程。 3.流程结构 为了方便我们控制程序的运行流程,C语言提供3种流程结构,不同的流程结构可以实现不同的运行流程。 这3种流程结构分别是: 顺序结构:默认的流程结构。按照书写顺序执行每一条语句。 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。 执行到第7行的时候,a<9也是成立的,因此会执行第9行代码。

    60020发布于 2020-02-13
  • 来自专栏RTSP/RTMP直播相关

    GB28181平台如何接入无人机实现智能巡检?

    本文旨在讲如何实现无人机(如大疆无人机)数据到GB28181平台(如海康、大华、宇视等国标平台)。 当国标平台端,需要查看无人机的实时画面时,可以发送Invite,请求无人机画面,Android平台GB28181接入模块,这时启动拉取无人机回调数据,并完成数据投递,和H.264到PS到RTP的打包上传即可 GB28181 媒体流private void stopGB28181Stream() { if(! int size, int is_key_frame, long timestamp,ByteBuffer parameter_info, int parameter_info_size);其他信令交互流程前面提到很多次了 ,本文不再赘述,这里主要看看Invite和Ack的处理:先看Invite处理:@Override public void ntsOnInvitePlay(String deviceId, PlaySessionDescription

    1.2K20编辑于 2022-10-08
  • 来自专栏RTSP/RTMP直播相关

    GB28181智能安全帽方案探究及技术实现

    智能安全帽是一种集成先进科技的安全帽,可基于GB28181规范,适用于铁路巡检、电力、石油化工等高风险行业的作业人员,以及消防、救援等紧急情况下的安全防护。 以大牛直播SDK的Android平台GB28181设备接入模块为例,如果需要对接到GB28181智能安全帽,需要关注信令和媒体数据两块部分,这里说说大概的设计思路:GBSIPAgentListener主要系 的Invite、Ack、Bye等处理:public interface GBSIPAgentPlayListener { /* *收到s=Play的实时视音频点播 */ void ntsOnInvitePlay(String deviceId, SessionDescription sessionDescription); /* *发送play invite response void ntsOnInviteTalk(String deviceId, SessionDescription sessionDescription); /* *发送talk invite

    1.3K00编辑于 2023-08-03
领券