OPCAM API说明 JAVA版
微信/手机号 : 18390966152
提供SDK与开放API协议的摄像头
****简单,轻量,快速整合到x86,android,iOS,ARM等平台的应用系统****
OpCam能做什么
- 提供sdk与开放api协议
- 实时视频音频处理
- 支持wifi与有线网络连接
- 云台360度视角
- 图片抓拍
- SD卡录像
- 云录像(实时推送视频音频到云服务器)
- 云集中摄像头管理
- 预留433无线通信接口(开放给定制协议客户)
- 支持树莓派等开源硬件对接
SDK支持的平台有:X86,Android,iOS,ARM
SDK接口说明
搜索摄像头
局域网内广播一条 "hi,opCam"的消息,摄像头接收到之后会回复自身的id和ip地址
例子
OpCamClient opCamClient=OpCamClient.getInstance();
List<OpCam> cams= opCamClient.lookup();
for(OpCam opCam : cams){
System.out.println(opCam.getId());
}
设置WIFI
OpCamClient opCamClient=OpCamClient.getInstance();
System.out.println(opCamClient.setWIFI("192.168.1.110", "ssid", "wifipassword", "admin password"));
参数
ip地址,said, wifi密码,摄像头管理员密码(如忘记密码,请做设备恢复出厂)
返回
200|ok 表示成功
设置时间
opCamClient.setDate设置摄像头时间
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.setDate("192.168.1.110","2017-09-21 22:19:30");
修改密码
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.changePassword("192.168.1.110", "new_password", "old_password")
参数
ip地址,新密码,原密码
返回
200|ok 表示成功
设置视频模式
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.setVideoMode(opCam.getIp(), VideoMode.NORMAL,"admin_password");
参数
ip地址,模式,管理员密码
模式:
VideoMode.NORMAL 正常
VideoMode.FLIP 翻转
VideoMode.MIRROR 镜像
VideoMode.FLIP_MIRROR 翻转与镜像
返回
200|ok 表示成功
控制云台转动
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.ptz("ip", PTZCMD.PTZ_UP,"admin_password");
参数
ip地址,转动指令,管理员密码
模式:
PTZCMD.PTZ_UP 上
PTZCMD.PTZ_DOWN 下
PTZCMD.PTZ_LEFT 左
PTZCMD.PTZ_RIGHT 右
返回
200|ok 表示成功
抓拍一张图片
暂未对外开放
音视频流
P2P智能通道
P2P智能通道,会自动选择传输通道,如果在外网,sdk会自动判断,选择p2p通道传输数据
在复杂的经过多个路由器之后的网络,摄像头会被认为是p2p通道,这种情况可以采用 下面的 “内网通道”强制内网传输音视频数据流
内网通道
如果能够确定摄像头与sdk主机在同一个内网,可以强制内网通道传输视频。
音视频流保存到MP4文件
格式化sd卡
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.formatSdCard("192.168.1.110","admin_password")
返回
200|ok
表示发送格式化指令成功,格式化之后,摄像头会重启一次检测sd卡是否正常工作。获取是否格式化成功,需要通过获取sd卡文件列表接口来确认
开启sd卡录像
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.startRecord("192.168.1.110","admin_password")
返回
200|ok 成功
实时视频会保存到sd卡上,通过sd卡文件列表接口可以查看具体内容。
sd卡满了的时候,会循环覆盖录像
录像以15分钟一个视频文件
停止sd卡录像
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.stopRecord("192.168.1.110","admin_password")
返回
200|ok 成功
获取sd卡文件列表
读取文件分为2个步骤,先读取文件夹信息,然后再读取文件夹下的文件列表
读取所有文件夹
OpCamClient opCamClient=OpCamClient.getInstance();
List<String> opFiles=opCamClient.listFolder("192.168.1.110","admin_password")
返回sd卡上的所有文件夹信息
读取单个文件夹下的文件
OpCamClient opCamClient=OpCamClient.getInstance();
List<String> opFiles=opCamClient.listFile("192.168.1.110","folder","admin_password");
返回文件下的文件列表,扩展名为.h264的为视频文件,.g711的为音频文件
读取sd卡文件内容
读取视频h264原始码流数据
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.downloadSDFile("192.168.1.110", "sd_file_path", "/tmp/out.h264", "admin_password")
参数
ip地址,sd文件路径,输出保存路径, 摄像头密码
读取sd卡视频和音频数据转换到mp4格式
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.downloadSDFileToMp4File("192.168.1.110", "sd_video_file_path","sd_audio_file_path", "/tmp/out.mp4", "admin_password")
参数
ip地址,sd视频文件路径,sd卡音频文件路径,输出保存路径, 摄像头密码
配置云监控
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.setCloudServer("192.168.1.110","my.domain.com",6088,"admin_password")
参数
ip,云服务器ip或域名,端口,摄像头密码
云服务器状态监控
此功能需要先部署我们的云sdk版本,提供restful接口操作
查询所有摄像头状态
http://my.domain.com/q_all_ipc.ws
查询单个摄像头状态
http://my.domain.com/q_ipc.ws?id=DVE9ADX666VVVM6KUZW1
* | 字段 | 说明 |
---|---|---|
id | String | 摄像头ID |
启动云录像
此功能需要先部署我们的云sdk版本,提供restful接口操作
http://my.domain.com/start_video_stream.ws?id=DVE9ADX666VVVM6KUZW1&out_file_path=/tmp/1.mp4
* | 字段 | 说明 |
---|---|---|
id | String | 摄像头ID |
out_file_path | String | 云服务器 文件保存路径 |
返回
{"code":0,"message":"3001"}
* | 字段 | 说明 |
---|---|---|
code | string | 0 正常,其它失败 |
message | string | 状态码:3001摄像头返回正常,3002 摄像头忙,通常情况下是前一个请求还没完成,防止重复请求 |
停止云录像
此功能需要先部署我们的云sdk版本,提供restful接口操作
http://my.domain.com/stop_rec.ws?id=DVE9ADX666VVVM6KUZW1
* | 字段 | 说明 |
---|---|---|
id | String | 摄像头ID |
返回
{"code":0,"message":"3004"}
* | 字段 | 说明 |
---|---|---|
code | string | 0 正常,其它失败 |
message | string | 状态码:3004摄像头返回正常 |
网友评论