如何快速对接Android平台GB28181接入模块(SmartGBD)

本文涉及的产品
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,视频资源包5000点
简介: 大牛直播SDK推出的Android平台GB28181接入SDK(SmartGBD),可实现不具备国标音视频能力的 Android终端,通过平台注册接入到现有的GB/T28181—2016服务,可用于如执法记录仪、智能安全帽、智能监控、智慧零售、智慧教育、远程办公、明厨亮灶、智慧交通、智慧工地、雪亮工程、平安乡村、生产运输、车载终端等场景,可能是业内为数不多功能齐全性能优异的商业级水准GB28181接入SDK。

好多开发者希望我们不是从代码级,而是从流程方面,大概介绍下Android端GB28181设备接入段模块。本文以SmartGBD的Camera2Demo为例,大概聊下相关的集成流程。

大牛直播SDK推出的Android平台GB28181接入SDK(SmartGBD),可实现不具备国标音视频能力的 Android终端,通过平台注册接入到现有的GB/T28181—2016服务,可用于如执法记录仪、智能安全帽、智能监控、智慧零售、智慧教育、远程办公、明厨亮灶、智慧交通、智慧工地、雪亮工程、平安乡村、生产运输、车载终端等场景,可能是业内为数不多功能齐全性能优异的商业级水准GB28181接入SDK。

SmartGBD的集成过程主要涉及到几个关键步骤,包括准备工作、配置SIP服务器、注册设备以及处理呼叫等。以下是一个详细的集成指南:

image.gif

一、准备工作

  1. 导入库和依赖
  • 确保GB28181相关的库和依赖被正确导入到你的Android项目中。支持的CPU架构包括armv7, arm64, x86, x86_64。
  • 将必要的Java文件(如SmartPublisherJniV2.java和SmartPlayerJniV2.java)放置在正确的包名下。
  • 将.jar文件和.so文件(如smartavengine.jar, smartgbsipagent.jar, libSmartPublisher.so, libSmartPlayer.so)添加到项目中。
  1. 配置AndroidManifest.xml
  • 添加必要的权限,如网络访问、文件存储、音频设置修改、位置访问等。
  1. 初始化库
  • 在Java代码中,通过System.loadLibrary方法加载.so文件。
  1. 配置build.gradle
  • 确保你的build.gradle文件配置了正确的ABI(Application Binary Interface)支持,以便生成支持不同CPU架构的APK。

二、配置GB28181平台参数

  1. 设置SIP服务器参数
  • 包括SIP服务器的地址、端口、用户凭证(如用户名和密码)等信息。
  • 这些信息通常需要在你的Android代码中硬编码或从配置文件读取。
  1. 创建SIP代理
  • 使用GB28181的SIP代理类(如GBSIPAgent)来管理SIP连接和信令。

三、注册设备

  1. 通过SIP协议注册设备
  • 使用SIP代理发送注册请求到SIP服务器。
  • 处理注册成功、超时或传输错误等回调。
  1. 维护注册状态
  • 发送心跳消息以保持注册状态,并根据需要重新注册。

四、处理呼叫

  1. 接收和处理呼叫请求
  • 当SIP服务器发送呼叫请求时,你的应用需要能够接收并处理这些请求。
  • 这可能包括接听呼叫、拒绝呼叫或发送忙信号等操作。
  1. 音视频数据的传输
  • 一旦呼叫被接受,你的应用需要负责音视频数据的传输。
  • 这可能涉及到使用RTP/RTCP等协议来传输音视频流。

五、其他功能

SmartGBD还支持多种其他功能,如:

  • 移动设备位置订阅和通知:允许你的设备在需要时报告其位置。
  • 语音广播和语音对讲:支持在设备之间或设备与服务器之间进行语音通信。
  • 实时快照和实时静音:提供对音视频流的实时控制。
  • 降噪和自动增益:改善音频质量。

六、测试和调试

  • 集成测试:在将SmartGBD集成到你的应用之前,确保在多个设备和网络环境下进行充分的测试。
  • 调试工具:使用Android Studio等开发工具来调试你的应用,并查看日志输出以诊断问题。

七、文档和资源

  • 技术文档:参考大牛直播SDK提供的SmartGBD技术文档和API指南。
相关文章
|
1月前
|
Java Android开发 Swift
安卓与iOS开发对比:平台选择对项目成功的影响
【10月更文挑战第4天】在移动应用开发的世界中,选择合适的平台是至关重要的。本文将深入探讨安卓和iOS两大主流平台的开发环境、用户基础、市场份额和开发成本等方面的差异,并分析这些差异如何影响项目的最终成果。通过比较这两个平台的优势与挑战,开发者可以更好地决定哪个平台更适合他们的项目需求。
109 1
|
2月前
|
IDE Android开发 iOS开发
探索Android与iOS开发的差异:平台选择对项目成功的影响
【9月更文挑战第27天】在移动应用开发的世界中,Android和iOS是两个主要的操作系统平台。每个系统都有其独特的开发环境、工具和用户群体。本文将深入探讨这两个平台的关键差异点,并分析这些差异如何影响应用的性能、用户体验和最终的市场表现。通过对比分析,我们将揭示选择正确的开发平台对于确保项目成功的重要作用。
|
27天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
75 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
2月前
|
开发工具 Android开发 iOS开发
安卓与iOS开发环境对比:选择适合你的平台
【9月更文挑战第26天】在移动应用开发的广阔天地中,安卓和iOS是两大巨头。它们各自拥有独特的优势和挑战,影响着开发者的选择和决策。本文将深入探讨这两个平台的开发环境,帮助你理解它们的核心差异,并指导你根据个人或项目需求做出明智的选择。无论你是初学者还是资深开发者,了解这些平台的异同都至关重要。让我们一起探索,找到最适合你的那片开发天地。
|
2月前
|
Android开发 开发者
Android平台无纸化同屏如何实现实时录像功能
Android平台无纸化同屏,如果需要本地录像的话,实现难度不大,只要复用之前开发的录像模块的就可以,对我们来说,同屏采集这块,只是数据源不同而已,如果是自采集的其他数据,我们一样可以编码录像。
|
2月前
|
安全 API 开发工具
Android平台RTMP推送|轻量级RTSP服务如何实现麦克风|扬声器声音采集切换
Android平台扬声器播放声音的采集,在无纸化同屏等场景下,意义很大,早期低版本的Android设备,是没法直接采集扬声器audio的(从Android 10开始支持),所以,如果需要采集扬声器audio,需要先做系统版本判断,添加相应的权限。
|
2月前
|
编解码 开发工具 Android开发
Android平台实现屏幕录制(屏幕投影)|音频播放采集|麦克风采集并推送RTMP或轻量级RTSP服务
Android平台屏幕采集、音频播放声音采集、麦克风采集编码打包推送到RTMP和轻量级RTSP服务的相关技术实现,做成高稳定低延迟的同屏系统,还需要有配套好的RTMP、RTSP直播播放器
|
开发工具 Android开发
Android 7.1 使用mmm编译模块失败
Android 7.1 使用mmm编译模块失败
292 0
|
Android开发
Android不编译某个模块
Android 5.1 源码,编译相关的文件一般在build目录下build/target/product 放了很多mk文件;一般不同的产品会有不同的目录 假设我不想编译OpenWnn,在build目录下grep一下“OpenWnn”target/product/full_base.
1426 0
|
1天前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。

热门文章

最新文章