# mypoc
**Repository Path**: heller_sw/mypoc
## Basic Information
- **Project Name**: mypoc
- **Description**: 一款轻量级的对讲平台,可用于公网、企业局域网和基站,能基本满足大多数常用需求;
安卓终端App已适配GB28181, 可以注册到标准的国标视频监控平台;
提供对讲平台、GB28181视频监控平台、WebRTC通话的完整搭建,接下来将支持Sip对讲平台,及与PDT (Police Digital Trunking,警用数字集群通信系统)的融合通讯
- **Primary Language**: Android
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 28
- **Created**: 2025-10-14
- **Last Updated**: 2025-10-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# MyPOC 一站式开箱即用的公网对讲和适配终端到GB28181视频监控平台,适配Android公网对讲机(含大屏幕触屏、小屏幕按键机型)、安卓平板、嵌入式公网对讲机
## 一、介绍
一款轻量级的对讲平台,可用于公网、企业内网或基站内网,能基本满足大多数常用需求;在公安、消防、安保、物业、电梯、机场、物流、铁路、企业园区、智慧工地等行业有广泛应用,
终端poc app已适配GB28181, 可以注册到标准的国标视频监控平台;提供对讲平台与GB28181视频监控平台完整搭建
### 1、软件架构

平台是典型云服务器+微服务+C/S+B/S的架构,平台采用多租户模型,可以布署于公网,也可以灵活布署于局域网运行。
#### 1.1 对讲平台(自主的对讲云服务,非Sip协议对讲)
包含语音对讲、定位轨迹、电子围栏及音视频调度,基于自主的对讲云服务
#### 1.2 SIP国标对讲平台(Sip协议对讲)
SIP国标对讲,采用RFC 3261国际标准,以及国内标准系列,如公安部发布的ePDT融合协议(pSIP)等,应广大企业和开发者的强烈需求,该平台接下来会发布出来,大家可以先关注下
#### 1.3 音视频通话平台
支持公网和内网(基站)2种部署方案:
- 公网采用第三方SDK(声网)
- 内网采用WebRTC方案, [集成说明,里面有详细源代码公开](https://gitee.com/zhousiraaa/mypoc/wikis/WebRTC%E9%9B%86%E6%88%90%E6%96%B9%E6%A1%88%E8%AF%B4%E6%98%8E), [桌面应用与移动应用内网webrtc通话流程](https://gitee.com/zhousiraaa/mypoc/wikis/%E3%80%90PC%E8%B0%83%E5%BA%A6%E5%8F%B0%E4%B8%8EAPP%E7%AB%AF%E3%80%91%E8%BF%9B%E8%A1%8C%E5%86%85%E7%BD%91%E9%9F%B3%E8%A7%86%E9%A2%91%E9%80%9A%E8%AF%9D%E6%B5%81%E7%A8%8B)

#### 1.4 集成到GB28181平台
集成了强大的开源流媒体服务[ZLMediaKit](https://github.com/ZLMediaKit/ZLMediaKit)和 SIP服务 [Wvp-GB28181-pro](https://github.com/648540858/wvp-GB28181-pro/tree/master)框架,并在此基础上扩展了公网对讲终端的GB28181协议接入,实现注册、注销、终端音视频实时点播、录像、下载等功能。
1. 目前支持android或单兵终端的H264编码,打包成 PS流上传到GB28181平台;
2. 自动判断硬件是否支持 H265硬编码,如果支持自动H265硬编码并打包成PS流上传到GB28181平台;
3. 支持终端前摄、后摄、USB(OTG)摄像头的全部 H264或 H265上传PS流;
4. 打包的PS流与海康、大华、宇视等厂家兼容,自动对VPS、PPS、SPS及 I、P、B等帧的封包处理。
5. 支持AAC音频采集打包成 PS流上传到GB28181平台;
### 2、二次开发与代码集成
本平台提供了API与协议对接,同时提供绝大多数客户端源代码开放,所有的第三方开发者或企业可以在此基础上定制和二次开发
| 客户端源代码 | 适配硬件终端 | 源代码相对位置目录 | 集成和源代码说明 |
|-------------|---------------------------------------|-----------|----------|
| Android app | 兼容安卓手机、国内绝大多数厂商安卓公网对讲机或平板终端、单兵终端等 | demo\android_app | [集成说明](https://gitee.com/zhousiraaa/mypoc/wikis/android%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%BA%90%E7%A0%81%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E?sort_id=13973379) |
| iot嵌入式app | 兼容移远模组EC600x/EC800x系列开发板 | demo\iot_app | [集成说明](https://gitee.com/zhousiraaa/mypoc/wikis/iot%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%BA%90%E7%A0%81%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E) |
| PC桌面端应用 | Windows10及11 | pc_app | 待补充... |
| Web平台应用 | 为Edge、Chrome浏览器提供插件方案,可以将对讲快速集成到web应用 | webplugin\chrome | [集成说明](https://gitee.com/zhousiraaa/mypoc/wikis/%E6%B5%8F%E8%A7%88%E5%99%A8(Edge%E5%92%8CChrome)%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E5%AF%B9%E8%AE%B2%E8%AF%B4%E6%98%8E) |
| Electron应用 | 提供eclectron对讲插件,快速集成 | webplugin\electron | [集成说明](https://gitee.com/zhousiraaa/mypoc/wikis/Electron%20%E5%BA%94%E7%94%A8%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E5%AF%B9%E8%AE%B2%E8%AF%B4%E6%98%8E) |
### 3、本平台提供的对讲方案
| | 公网集群对讲 | pSip与PDT宽窄融合通讯方案 | B-TrunC标准 | TETRA 标准| 3GPP McX 标准 |
|---|------------|---|---|---|---|
|开发说明|本平台支持语音编解码有AMR-NB、PCMA、PCMU、Opus等|关注各省警用融合标准,以下功能开发中...|暂不支持,也不支持网关对接|暂不支持|MCPTT、MCVideo、MCData等最新国际标准了解中|
|组呼|:ballot_box_with_check:支持固定组呼
:ballot_box_with_check:支持地图框选组呼|||||
|临时组呼|:ballot_box_with_check:支持动态创建组呼,退出释放|||||
|组呼监听|:ballot_box_with_check:支持调度台监听任意多个组讲话或取消监听
:ballot_box_with_check: APP端监听暂不支持|||||
|单呼|:ballot_box_with_check:支持一对一对讲单呼
:ballot_box_with_check:请求与应答模式|||||
|广播呼叫|:ballot_box_with_check:支持调度台语音广播
:ballot_box_with_check:支持调度台录音文件广播
:ballot_box_with_check:应急广播后,组员自动返回到上一个组|||||
|强踢/插|:ballot_box_with_check:支持调度台端对临时组强踢与强插成员|||||
|遥晕/毙|:ballot_box_with_check:支持按帐号遥晕
:o:遥毙暂不支持,需定制场景|||||
|麦权等级|:ballot_box_with_check:支持三个麦权等级,更多等级需要定制|||||
|对讲插话|:ballot_box_with_check:支持同组内高麦权等级实时打断低麦权等级讲话|||||
|对讲录音|:ballot_box_with_check:支持实时录音,存于服务器
:ballot_box_with_check:支持在线查询、播放和下载|||||
|对讲组织层次|:ballot_box_with_check:支持对讲组织按类似于行政区划组织成树状(不限层级数量)
:ballot_box_with_check:对讲组织节点显示在线数/总人数,且按递归统计|||||
|SOS呼叫|:ballot_box_with_check:支持终端一键呼叫调度台,无需麦权
:ballot_box_with_check:支持同时上报定位和视频推流|||||
### 4、本平台提供的音视频方案
| | 公网方案 | 内网方案 | 国标GB28181方案 |
|---|------------|---|---|
|方案说明|1.适用于公网部署
2.目前是接入声网SDK,声网服务每个月免费额度1万分钟|1.适用于内网部署
2.集成ZLM与WebRTC,无额外费用
3.[架构原理](https://gitee.com/zhousiraaa/mypoc/wikis/%E5%86%85%E7%BD%91%E8%A7%86%E9%A2%91%E5%BA%94%E7%94%A8%E6%97%B6%E5%BA%8F%E5%9B%BE?sort_id=14670428) |适用于内网部署|
| 1对1音视频通话 | :ballot_box_with_check: 支持1对1音频频通话
:ballot_box_with_check: 视频码率动态适配,信号弱时流畅优先 | :ballot_box_with_check: 支持1对1音频频通话
:ballot_box_with_check: 视频码率动态适配,信号弱时流畅优先 | :o: 暂不支持|
|视频监控|:ballot_box_with_check:支持不同分辨率调取监控,终端无感知
:ballot_box_with_check:码率动态适配,信号弱时流畅优先|:ballot_box_with_check:支持不同分辨率调取监控,终端无感知
:ballot_box_with_check:码率动态适配,信号弱时流畅优先
:ballot_box_with_check:视频支持H264/H265编码,音频支持PCMA/U,AAC等编码
:ballot_box_with_check:支持推流和拉流鉴权|:ballot_box_with_check:支持实时点播
:ballot_box_with_check: app支持接入GB28181,支持H265 PS推流|
|视频直播|:ballot_box_with_check:支持不同分辨率直播
:ballot_box_with_check:码率动态适配,信号弱时流畅优先|:ballot_box_with_check:支持不同分辨率直播
:ballot_box_with_check:码率动态适配,信号弱时流畅优先 | :o:暂未支持 |
|视频分享转发|:o:暂未支持|:ballot_box_with_check:支持转发流
:ballot_box_with_check:终端拉流播放|:o:暂未支持|
|视频录像|需要OSS服务支持|:ballot_box_with_check:服务端同步录像
:ballot_box_with_check:录像支持时间切片
:ballot_box_with_check:支持在线点播和下载|支持|
|一键SOS视频呼叫|:ballot_box_with_check:支持SOS一键定位、语音、视频三位一体同步呼叫和通知调度台|:ballot_box_with_check:支持SOS一键定位、语音、视频三位一体同步呼叫和通知调度台|:o:暂未支持|
|视频会议|:ballot_box_with_check:支持4~6路少量视频会商|:o:暂未支持|:o:暂未支持|
- 视频监控/直播简单应用图例

- 视频监控(停车场复杂应用,扩展到64路道闸相机)

## 二、各端功能介绍
### 1、服务端
服务端技术栈有:JDK8.0+、Mina框架 (TCP Socket)、SpringBoot、SpringCloud、MybatisPlus等, 服务端业务主要分两大部分:
1. 实时数据/信令包,采用TCP Socket协议,主要是自定义信令包(心跳、抢麦、释放麦、上下线状态、系统状态、音视频邀请等)、媒体包(如语音编码包)等,基于Mina框架进行二进制编解码、可以满足高并发的要求。
2. 业务接口:主要实现登录、认证、鉴权、及各业务模块的接口功能.
### 2、PC端

基于Visual Studio 2017、.net framework 4.5.2+开发,主要功能有:
* 成员在线、离线状态同步
* 语音呼叫
* 对讲抢话
* 对讲频道切换
* 对讲禁言管理
* 对讲组自建和临时管理
* 地图框选建对讲组
* GPS数据记录、轨迹查询及回放;
* 遥毙、激活;
* 电子围栏与告警
* 视频监控与录像
* 音视频通话
- 公网: 基于Agora 声网SDK ,需要开发者到声网申请帐号
- 内网或基站:采用webrtc方案,实现一对一音视频通话
* 音视频会议
- 公网: 基于Agora 声网SDK ,需要开发者到声网申请帐号
- 内网或基站: 采用webrtc方案,实现会议
* 视频监控
- 公网: 基于Agora 声网SDK, 需要开发者到声网申请帐号
- 内网或基站:采用webrtc或wvp方案
* 集群广播
### 3、安卓端

因为对讲采用实时采集麦克风,所以要解决业界的回音啸叫、自动增益、降噪、静音检测等问题,本端主要参考了 [Android-Audio-Processing-Using-WebRTC](https://github.com/mail2chromium/Android-Audio-Processing-Using-WebRTC),
> 在如下方面进行语音的3A处理
* Acoustic Echo Cancellation (AEC)
* Automatic Gain Controller (AGC)
* Noise Suppression (NS)
* Voice Activity Detection (VAD)
> 主要功能有:
* 对讲
* 对讲组自建(管理员分配权限)
* 对讲组切换
* NFC巡更签到
* 二维码巡更签到
* 直播图传
- 公网: 基于Agora 声网Android SDK ,需要开发者到声网申请帐号
- 内网或基站:采用webrtc或wvp方案
* 音视频通话
- 公网: 基于Agora 声网Android SDK ,需要开发者到声网申请帐号
- 内网或基站:采用webrtc或wvp方案
* 水印打卡
* 定位上报
* SOS呼叫与定位上报
* 支持OTG USB2/USB3 外接UVC直播图传
### 4、Web端

采用Vue2框架开发,主要功能有:
* 系统管理(角色、权限与人员分配)
* 巡更管理
* 基础管理
* 系统记录
* 任务管理
### 5、Android接入GB28181说明
第一步:app中注册28181平台

第二步:在国标视频监控平台实时点播

目前终端已支持:前摄像头、后摄像头、UVC(USB OTG)摄像头接入28181

## 三、服务端接口说明
### 1、[MyPOC-RestAPI说明](doc/MyPOC-RestAPI.pdf)
### 2、[MyPOC-Socket说明](doc/MyPOC-Socket.pdf)
## 四、硬件适配系列
### 1、三防公网对讲机(触摸屏)
提供PTT按键、SOS按键及其它定义键的键值或广播值,几乎全部能适配
### 2、公网对讲机(按键机型)


#### 功能
提供GPS定位、语音单呼,组呼,群组切换,电子围栏报警等
### 3、执fa记录仪



提供全部功能等
### 4、双模对讲机(模拟对讲+公网对讲),下图是其中适配了彬其BQ889款机型



### 5、嵌入式公网对讲机
基于移远的EC600x, EC800x 等系列适配


#### 功能
提供GPS定位、语音单呼,组呼,群组切换,电子围栏报警等
## 五、平台二次开发与集成介绍
请点击 [二次开发详细说明](https://gitee.com/zhousiraaa/mypoc/wikis/Home)
## 六、演示链接
[PC端应用下载](https://saas-park.oss-cn-shenzhen.aliyuncs.com/app/release/PC-Platform.zip)
[Android端应用下载](https://saas-park.oss-cn-shenzhen.aliyuncs.com/app/release/middle_PocApp_V8.0.7_202503210959.apk)
测试帐号获取,请发邮件联系,参考联系方式
## 七、教材参考
> 待加入......
## 八、合作说明
1. 本平台的公网帐号和环境可免费申请和测试
2. 服务端代码授权或接口二次开发的对接会收取点费用,视具体工作量而定
3. 如果需要整个平台源代码,请用以下联系方式与我私聊
## 九、联系方式
邮箱 springyxlyxl@163.com
微信
