执法仪对讲功能的实现
来源:互联网 发布:js 定义全局变量赋值 编辑:程序博客网 时间:2024/04/18 03:51
随着执法仪技术的发展要求,在执法仪的基础上添加实时对讲功能,有非常好的应用前景。
目前市面上已经出现了集成摩托罗拉的无线对讲模块的执法仪。也有安卓方案的对讲功能执法仪。
本文介绍的是Amba方案的对讲功能执法仪,此方案属于本人原创,现在已经有成功应用的案例。
现在的执法仪很多都有4G或Wifi模块,可以连接互联网。对讲功能就是通过IP语音实现。
对讲功能的实现工作有2种模式:
1. 边推流边对讲。就是执法仪推流到后台服务器,后台管理员在看实时直播,如果后 台管理员要与执法仪的人员交流,可以只接发送语音给执法仪。
2. 对讲机模式。执法仪与后台都是按PTT讲话,也可以在后台配置某2个或多个执法 仪为一个组,组内1人按PTT讲话,其他人都能听到。
Amba方案的执法仪具有图像清晰、低耗电等优势,但是Amba方案是双操作系统,RTOS和Ambalink。功能扩展比较复杂,对讲功能的实现也有一定难度。这里的关键就是如何使用AmbaNetFifo以及在本机播放实时音频流。
我们来看看上图RTOS和AmbaLink之间的AmbaNetFifo:
首先我们获取子码流,包括AAC和H264. 在对讲机模式下,就只发送AAC语音到后台服务器,注意,子码流的AAC是裸流,我们可以对每一帧都加上ADTS头。这样,在后台也可以直接存储成.aac文件。而且解码AAC也使用ADTS封装格式。
后台服务器的AAC格式的语音通过网络发送到Ambalink侧,通过AmbaNetFifo发送,在RTOS做相应的配置后,就可以播放了。
Amba的A12芯片编码和解码不能同时进行,所以对讲是半双工模式,跟实际的对讲机一样。编码和解码时,要控制好开启和释放资源。
下图是AmbaNetFifo的初始化与消息交互的MSC图。
AmbaNetFifo的具体实现请看实现代码,这里不再详细说明。
前面部分讲了Amba的实现,接着讲网络协议。
现有的VoIP协议有很多,如SIP,IAX2等,还可以自定义。
对于SIP协议,虽然绝大多数情况下都用它,我也从事SIP协议多年,但我不主张在这里使用。首先,协议比较庞大;其次,媒体传输用RTP,必须要打洞才能穿越NAT,这里本来很简单的应用场合会变得比较复杂。
IAX2协议,UDP传输,信令媒体共用一个端口,不需要打洞,信令用重传/回执保证可靠。基于二进制,信令短,媒体包头才4个字节,网络开销少,节省流量(4G网络时)。协议简单,代码很少,我比较推荐。
另外,就是自定义。
第三部分就是服务器。服务器需要管理所有用户的在线状态、GPS轨迹(如果有GPS)、录音、监听、群组管理、对讲等功能。
- 执法仪对讲功能的实现
- 视频对讲功能的商业平台
- Android简单的Wifi语音对讲实现
- 【Android】媒体——利用MediaRecorder实现录音对讲功能
- 用DirectShow实现QQ的音视频聊天功能(ip可视对讲也许用的上)
- 基于EasyDarwin云平台实现的EasyClient客户端与EasyCamera摄像机之间的对讲与云台控制功能
- 通过Wifi 实现语音对讲的资料总结
- 基于多播实现的android手机户外对讲APP
- EasyClient实现IPCamera摄像机远程云台控制、语音对讲等功能
- EasyPlayerPro Windows播放器进行本地对讲喊话音频采集功能实现
- ARP协议,ARP攻击的原理,网络执法官的具体实现
- 视频监控平台-GB28181-语音对讲功能
- 运用网络执法官实现网络监控
- 基于EasyPlayer和EasyPusher实现安卓平台的双向视频对讲
- [转]基于EasyPlayer和EasyPusher实现安卓平台的双向视频对讲
- 音视频 对讲技术实现楼宇智能化
- 基于pjsip实现p2p语音对讲
- 楼宇可视对讲的市场要求
- 第十三章 类的继承
- suse安装gcc,升级到4.8.5
- 下载YouTube上的视频
- 搭建oj步骤
- 百度地图骑行导航
- 执法仪对讲功能的实现
- find命令
- Mybatis高级映射多对多查询
- springMVC使用@ControllerAdvice实现异常处理
- 翘边阴影
- 鼠标右键 弹出属性对话框 QAction*cutAction
- Aerospike partition tree的内存管理
- OSI七层协议模型和TCP/IP四层模型
- 【Python】安装与测试