简述
本开发教程主要用于指导手机APP端如何使用Drift运动相机的开放接口,实现Drift相机设备维护保养可视化方案的所有功能。相机支持如下技术特点:
1. 支持通过二维码扫描,写入一些记录信息到视频上。
2. 录影时支持视频加密,需要特定软件才能解密播放,保证视频的安全和保密性。
3. 摄像机支持热点直连
4. 在直连下,通过调用开放控制接口,可使用APP远程控制摄像机切换模式,设置,文件访问和下载。
5. 在直连下,视频流支持TCP,RTSP传输协议,流编码格式为H.264
如何使用APP二维码设置视频信息
该方案支持扫描二维码录入一些客户自定义的视频信息,为后期管理和维护视频提供可靠的保障。
具体使用方式:使用摄像机X1,开机后,按录影键,即听到“开始扫描”,按如下格式生成二维码,即可把用户ID,录影信息,时间等资料写入到对应的录影文件上,扫码成功后就会自动开始录影。录影完成后,会把二维码信息记录到对应的DAT文件上。
二维码格式:
命令号|录影信息|用户ID|录影时间
Demo:
4|123456789|HZ-105201-HMM|2018/09/27 15:17:45
相机端视频的加密与解密方式
CAMERA录影后的视频会使用特定算法加密,才能正常播放。
加密方式:
EncryptData = AESEncrypt
Function(VideoData,SecretKey)
解密方式:
VideoData = AESDecrypt
Function(EncryptData,SecretKey)
如何同步相机端的文件和二维码信息
通过连接摄像机的USB口,可以进入U盘模式。支持U盘的设备可以方便的拷贝视频和处理视频信息。
所有的视频都会有一个对应”DAT”信息文件,用于保存二维码上的信息。DAT文件信息会跟二维码对应。
DAT文件DEMO如下:
elevator_name=123456789
user_name=HZ-105201-HMM
timestamp=2018/09/27 18:46:12
服务器端视频存储和管理
我们有专用的视频服务器储存和管理方案。已有方案:
- 自动解密视频
- 自动读取视频和解释二维码信息
- 按用户ID和信息智能分类视频
- 权限管理系统,可按不同用户有不同查看权限
- 分布式管理系统,可多个服务器形成集群式管理。
APP端直播支持
摄像机可提供热点给于手机连接,手机连接成功后,摄像机提供流地址为tcp://192.168.42.1:8001的H.264裸数据流。APP可使用该地址读取H.264裸流再转发服务器直播。
直播数据流:
DEMO请参考APP STORE上的“维修印记”
相机端API介绍
手机连接摄像机端热点后,我们提供全面的控制开发接口和APP SDK,可方便快速的进行二次开发。支持的接口有,相机控制,文件列表获取,文件播放和下载,视频流播放等。
一.相机控制:
- 建立通道setCameraIP:
mRemoteCam.setWifiIP((String) param, 7878,
8787);
- 建立连接start session:
mRemoteCam.startSession()
- 关闭连接stop session:
mRemoteCam.stopSession();
- 开始录像start record
mRemoteCam.startRecord();
- 停止录像stop record
mRemoteCam.stopRecord();
- 拍照take photo
mRemoteCam.takePhoto();
- 切换模式switch mode
mRemoteCam.switchMode((Integer) param);
- 获取相机信息get cam info
mRemoteCam.getDeviceInfo();
- 获取相机设置信息get cam
setting
mRemoteCam.getAllSettings();
- 设置相机set setting(详细参数可以参照cam api文档1.4处)
String param =
"\"type\":\"" + mHeader
+"\",\"param\":\"" + mSelectedItem +
"\"";mRemoteCam.setSetting((String) param);
二、文件列表获取
文件列表获取,使用的是http协议
打开这个链接http://192.168.42.1/DCIM/
可以获取到文件夹列表,需要做html解析。
三、文件播放和下载
文件的下载和播放链接也是文件存储路径,比如 http://192.168.42.1/DCIM/100MEDIA/IMG0001.jpg
四、视频流的播放
视频流的播放,播放地址是:tcp://192.168.42.1:8001
可以采用ijk播放器或者vitamio播放器,我们提供了vitamio播放器的demo供参考。
Demo:
如可以使用ffplay播放器,采用如下命令来播放视频流:
ffplay -fflags nobuffer -analyzeduration 1000
tcp://192.168.1.16:8001
如您需求源码进行二次开发,请联络技术支持中心 info@foream.com