好多开发者希望我们不是从代码级,而是从流程方面,大概介绍下Android端GB28181设备接入段模块。本文以SmartGBD的Camera2Demo为例,大概聊下相关的集成流程。
大牛直播SDK推出的Android平台GB28181接入SDK(SmartGBD),可实现不具备国标音视频能力的 Android终端,通过平台注册接入到现有的GB/T28181—2016服务,可用于如执法记录仪、智能安全帽、智能监控、智慧零售、智慧教育、远程办公、明厨亮灶、智慧交通、智慧工地、雪亮工程、平安乡村、生产运输、车载终端等场景,可能是业内为数不多功能齐全性能优异的商业级水准GB28181接入SDK。
SmartGBD的集成过程主要涉及到几个关键步骤,包括准备工作、配置SIP服务器、注册设备以及处理呼叫等。以下是一个详细的集成指南:
一、准备工作
- 导入库和依赖:
- 确保GB28181相关的库和依赖被正确导入到你的Android项目中。支持的CPU架构包括armv7, arm64, x86, x86_64。
- 将必要的Java文件(如SmartPublisherJniV2.java和SmartPlayerJniV2.java)放置在正确的包名下。
- 将.jar文件和.so文件(如smartavengine.jar, smartgbsipagent.jar, libSmartPublisher.so, libSmartPlayer.so)添加到项目中。
- 配置AndroidManifest.xml:
- 添加必要的权限,如网络访问、文件存储、音频设置修改、位置访问等。
- 初始化库:
- 在Java代码中,通过
System.loadLibrary
方法加载.so文件。
- 配置build.gradle:
- 确保你的
build.gradle
文件配置了正确的ABI(Application Binary Interface)支持,以便生成支持不同CPU架构的APK。
二、配置GB28181平台参数
- 设置SIP服务器参数:
- 包括SIP服务器的地址、端口、用户凭证(如用户名和密码)等信息。
- 这些信息通常需要在你的Android代码中硬编码或从配置文件读取。
- 创建SIP代理:
- 使用GB28181的SIP代理类(如GBSIPAgent)来管理SIP连接和信令。
三、注册设备
- 通过SIP协议注册设备:
- 使用SIP代理发送注册请求到SIP服务器。
- 处理注册成功、超时或传输错误等回调。
- 维护注册状态:
- 发送心跳消息以保持注册状态,并根据需要重新注册。
四、处理呼叫
- 接收和处理呼叫请求:
- 当SIP服务器发送呼叫请求时,你的应用需要能够接收并处理这些请求。
- 这可能包括接听呼叫、拒绝呼叫或发送忙信号等操作。
- 音视频数据的传输:
- 一旦呼叫被接受,你的应用需要负责音视频数据的传输。
- 这可能涉及到使用RTP/RTCP等协议来传输音视频流。
五、其他功能
SmartGBD还支持多种其他功能,如:
- 移动设备位置订阅和通知:允许你的设备在需要时报告其位置。
- 语音广播和语音对讲:支持在设备之间或设备与服务器之间进行语音通信。
- 实时快照和实时静音:提供对音视频流的实时控制。
- 降噪和自动增益:改善音频质量。
六、测试和调试
- 集成测试:在将SmartGBD集成到你的应用之前,确保在多个设备和网络环境下进行充分的测试。
- 调试工具:使用Android Studio等开发工具来调试你的应用,并查看日志输出以诊断问题。
七、文档和资源
- 技术文档:参考大牛直播SDK提供的SmartGBD技术文档和API指南。