首页 > 其他分享 >GB28181在融合指挥调度系统应用方案探究和技术实现

GB28181在融合指挥调度系统应用方案探究和技术实现

时间:2024-09-16 19:52:36浏览次数:6  
标签:视频 编码 GB28181 调度 支持 音视频 探究 监控

GB28181规范在融合指挥调度系统主要围绕实现视频监控系统的互联互通、音视频数据的实时传输与控制、以及应急指挥调度的高效性展开。

一、GB28181规范概述

GB/T 28181是中国国家标准《安全防范视频监控联网系统信息传输、交换、控制技术要求》的编号,该标准规定了安全防范视频监控联网系统中信息传输、交换、控制的基本要求和安全性要求,以及控制、传输流程和协议接口等技术要求。GB28181标准适用于安全防范视频监控联网系统,包括用于监控的摄像机、编解码器、存储设备、控制设备及平台软件等。

二、应用方案

1. 设备接入与互联互通

  • 设备接入:通过GB28181规范,将各类视频监控设备(如摄像机、执法记录仪、移动监控设备等)接入到融合指挥调度系统中。这些设备可以是固定安装的,也可以是移动式的,如车载监控、无人机监控,如果移动设备不支持GB28181,可以实现GB28181设备接入。
  • 互联互通:实现不同品牌、不同型号的视频监控设备与指挥调度系统的互联互通,确保音视频数据的无缝传输与控制。

2. 音视频数据的实时传输与控制

  • 音视频编码:采用H.264/H.265等高效视频编码技术和PCMA/AAC等音频编码技术,对采集的音视频数据进行编码处理,以满足GB28181标准的要求。
  • 实时传输:通过RTP/RTCP协议进行音视频数据的实时传输,确保数据的实时性和可靠性。同时,利用SIP协议进行会话控制,如会话建立、控制指令发送等。
  • 控制指令交互:支持云台控制、预置位查询、视频回放等控制指令的交互,使得指挥调度系统能够实时控制视频监控设备,实现远程监控和调度。

3. 应急指挥调度

  • 实时监控:在指挥调度系统的界面中,实时显示视频监控设备的监控画面,提供对视频流的控制功能,如实时预览、语音广播、实时位置更新查看等。
  • 录像存储与回放:实现设备按需录像功能,并将录像文件存储在本地或云端。指挥调度系统可以通过接口调用,实现对历史视音频文件的下载和回放,以便在应急情况下进行视频资料追溯、调阅和取证。
  • 报警与事件处理:当监控设备发生报警时,及时向指挥调度系统发送报警信息,以便调度员及时响应和处理。同时,支持语音、短信、APP等多种方式推送报警消息给相关人员。

4. 融合应用

  • 视频融合:通过GB28181转SIP网关等技术手段,实现视频监控画面与视频会议、视频会商等视频环境的融合应用,提升应急指挥调度的效率和效果。
  • 智能分析:结合AI图像智能识别技术,对视频数据进行智能分析处理,如人脸识别、车辆识别、烟火识别等,提高应急响应的准确性和及时性。

5. Android平台GB28181设备接入侧能力支持

并不是所有的设备,都支持GB28181,特别是目前的Android终端,为此,我们设计了Android平台GB28181接入模块,实现不具备国标音视频能力的 Android终端,通过平台注册接入到现有的GB/T28181—2016服务,除支持常规的音视频数据接入外,还可以支持移动设备位置(MobilePosition)订阅和通知、语音广播和语音对讲、云台控制回调和预置位查询。

GB28181在融合指挥调度系统应用方案探究和技术实现_GB28181平台

  •  [视频格式]H.264/H.265(Android H.265硬编码);
  •  [音频格式]G.711 A律、AAC;
  •  [音量调节]Android平台采集端支持实时音量调节;
  •  [H.264硬编码]支持H.264特定机型硬编码;
  •  [H.265硬编码]支持H.265特定机型硬编码;
  •  [软硬编码参数配置]支持gop间隔、帧率、bit-rate设置;
  •  [软编码参数配置]支持软编码profile、软编码速度、可变码率设置;
  • 支持纯视频、音视频PS打包传输;
  • 支持RTP OVER UDP和RTP OVER TCP被动模式;
  • 支持信令通道网络传输协议TCP/UDP设置;
  • 支持注册、注销,支持注册刷新及注册有效期设置;
  • 支持设备目录查询应答;
  • 支持心跳机制,支持心跳间隔、心跳检测次数设置;
  • 支持移动设备位置(MobilePosition)订阅和通知;
  •  适用国家标准:GB/T 28181—2016;
  • 支持语音广播;
  • 支持语音对讲;
  • 支持图像抓拍;
  • 支持历史视音频文件检索;
  • 支持历史视音频文件下载;
  • 支持历史视音频文件回放;
  • 支持云台控制和预置位查询;
  •  [实时水印]支持动态文字水印、png水印;
  •  [镜像]Android平台支持前置摄像头实时镜像功能;
  •  [实时静音]支持实时静音/取消静音;
  •  [实时快照]支持实时快照;
  •  [降噪]支持环境音、手机干扰等引起的噪音降噪处理、自动增益、VAD检测;
  •  [外部编码前视频数据对接]支持YUV数据对接;
  •  [外部编码前音频数据对接]支持PCM对接;
  •  [外部编码后视频数据对接]支持外部H.264数据对接;
  •  [外部编码后音频数据对接]外部AAC数据对接;
  •  [扩展录像功能]支持和录像SDK组合使用,录像相关功能。
系统要求
  • SDK支持Android 5.1及以上版本;
  • 支持的CPU架构:armv7, arm64, x86, x86_64。
准备工作
  • 确保SmartPublisherJniV2.java放到com.daniulive.smartpublisher包名下(可在其他包名下调用);
  • 如需集成语音广播、语音对讲功能,确保SmartPlayerJniV2.java放到com.daniulive.smartplayer包名下(可在其他包名下调用);
  • smartavengine.jar和smartgbsipagent.jar加入到工程;
  • 拷贝libSmartPublisher.so和libSmartPlayer.so(如需语音广播或语音对讲)到工程;
  • AndroidManifast.xml添加相关权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission>
<uses-permission android:name="android.permission.INTERNET" ></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>

  • Load相关so:
static {  
    System.loadLibrary("SmartPublisher");
    System.loadLibrary("SmartPlayer");
}

  • build.gradle配置32/64位库:
splits {
    abi {
        enable true
        reset()
        // Specifies a list of ABIs that Gradle should create APKs for
        include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' //select ABIs to build APKs for
        // Specify that we do not want to also generate a universal APK that includes all ABIs
        universalApk true
    }
}

  • 如需集成到自己系统测试,请用大牛直播SDK的app name,授权版按照授权app name正常使用即可;
  • 如何改app-name,strings.xml做以下修改:
<string name="app_name">SmartPublisherSDKDemo</string>

接口详解

以Android平台Camera2对接为例,信令部分需要实现如下标红接口:

/*
 * MainActivity.java
 * Author: daniusdk.com
 * WeChat: xinsheng120
 */
public class MainActivity extends Activity implements ViewTreeObserver.OnGlobalLayoutListener, Camera2Listener,
        GBSIPAgentListener, GBSIPAgentPlayListener, GBSIPAgentAudioBroadcastListener,
        GBSIPAgentDeviceControlListener, GBSIPAgentQueryCommandListener, 
        GBSIPAgentTalkListener, 
        GBSIPAgentQueryRecordInfoListener{
}

媒体数据处理接口,可参照SmartPublisherJniV2.java,如需语音广播或语音对讲,可参照SmartPlayerJniV2.java。

信令处理

GBSIPAgentListener主要系GB28181注册、心跳、DevicePosition等,如注册成功、注册超时、注册网络传输层错误、心跳异常、设备位置请求处理;

GBSIPAgentPlayListener主要系GB28181的Invite、Ack、Bye等处理;

GBSIPAgentAudioBroadcastListener主要系GB28181语音广播处理相关,如有语音广播相关需求;

三、总结

GB28181规范在融合指挥调度系统中的应用方案,通过实现设备接入与互联互通、音视频数据的实时传输与控制、以及应急指挥调度的高效性,为各类应用场景提供了强大的技术支持。该方案不仅适用于公共安全、城市管理等领域,还可广泛应用于交通、能源、教育等多个行业领域。以上是大概方案概述,感兴趣的开发者,可以跟我单独沟通探讨。

标签:视频,编码,GB28181,调度,支持,音视频,探究,监控
From: https://blog.51cto.com/daniusdk/12032016

相关文章

  • 松理解数据库并发调度与可串行性
    ‍前言在数据库系统中,多个事务的并发执行是不可避免的。然而,并发执行可能导致数据不一致的情况。为了解决这个问题,数据库管理系统(DBMS)使用调度策略来控制事务的执行顺序。本文将简洁地介绍可串行化调度这一概念,帮助你理解如何确保多个事务的并发执行不会导致数据错误。......
  • 小林coding学习笔记(进程调度算法)
    //进程调度算法进程调度算法是CPU通过进程调度算法决定某个时刻去调用哪个进程到CPU上运行的算法1、先来先服务调度算法每次从就绪队列的队头调度到CPU上运行,直到进程退出或被阻塞,才会继续从队列中调度进程运行。特点:对短作业不利,对长作业有利,无法平衡短作业与长作业。2、最......
  • Go runtime 调度器精讲(九):系统调用引起的抢占
    原创文章,欢迎转载,转载请注明出处,谢谢。0.前言第八讲介绍了当goroutine运行时间过长会被抢占的情况。这一讲继续看goroutine执行系统调用时间过长的抢占。1.系统调用时间过长的抢占看下面的示例:funclongSyscall(){ timeout:=syscall.NsecToTimeval(int64(5*time......
  • Android HandlerThread Post后延迟7秒才执行的原因及解决方案|如何提高Android后台线程
    在Android开发中,HandlerThread是用于处理后台线程任务的常见工具。然而,有时我们会遇到这样的问题:当任务通过HandlerThread的post方法发送后,任务的执行时间会出现明显的延迟,比如7秒的延迟才执行任务。本文将深入分析这种问题的成因,探讨可能的影响因素,并提供多种优化方案,帮助开发者解......
  • C++【全特化】【半特化】【继承方式权限】【继承使用】【菱形继承的探究】【组合与继
    目录类模板的特化全特化偏特化特化部分参数对参数类型进行一定的限制关于*&的讨论特化的优先级类模板的声明和定义分离​编辑继承初学继承概念理解继承方式继承权限继承切割与切片继承的作用域继承的默认构造成员函数继承的默认构造继承的拷贝构造继承的赋......
  • Go runtime 调度器精讲(七):案例分析
    原创文章,欢迎转载,转载请注明出处,谢谢。0.前言前面用了六讲介绍Goruntime调度器,这一讲我们看一个关于调度goroutine的程序案例分析下调度器做了什么。需要说明的是,这个程序和抢占有关,抢占目前为止还没有介绍到,如果看不懂也没有关系,有个印象就行。1.案例1执行代码:func......
  • 操作系统的心脏:进程调度的基本过程
    欢迎浏览高耳机的博客希望我们彼此都有更好的收获感谢三连支持!进程调度是操作系统中至关重要的组成部分,它负责决定哪个进程应该在何时使用CPU。了解计算机进行进程调度的过程和原理,对我们了解计算机以及进行多线程编程大有帮助!在操作系统中,进程是系统分配资源的最小......
  • 基于 V2G 技术的电动汽车实时调度策略(Matlab代码实现)
    ......
  • 基于 V2G 技术的电动汽车实时调度策略(Matlab代码实现)
    ......
  • 【SpringBoot】调度和执行定时任务--Quartz(超详细)
    Quartz是一个功能强大的任务调度框架,广泛用于在Java应用程序中定时执行任务,同时它支持Cron表达式、持久化任务、集群等特性。以下是Quartz的详细使用教程,包括安装、基本概念、简单示例和高级功能。1.安装Quartz首先,在你的项目中添加Quartz依赖。对于Maven项......