OPCAM API說明 JAVA版
微信/手機號 : 18390966152
提供SDK與開放API協(xié)議的攝像頭
****簡單,輕量,快速整合到x86,android,iOS,ARM等平臺的應(yīng)用系統(tǒng)****
OpCam能做什么
- 提供sdk與開放api協(xié)議
- 實時視頻音頻處理
- 支持wifi與有線網(wǎng)絡(luò)連接
- 云臺360度視角
- 圖片抓拍
- SD卡錄像
- 云錄像(實時推送視頻音頻到云服務(wù)器)
- 云集中攝像頭管理
- 預(yù)留433無線通信接口(開放給定制協(xié)議客戶)
- 支持樹莓派等開源硬件對接
SDK支持的平臺有:X86,Android,iOS,ARM
SDK接口說明
搜索攝像頭
局域網(wǎng)內(nèi)廣播一條 "hi,opCam"的消息,攝像頭接收到之后會回復(fù)自身的id和ip地址
例子
OpCamClient opCamClient=OpCamClient.getInstance();
List<OpCam> cams= opCamClient.lookup();
for(OpCam opCam : cams){
System.out.println(opCam.getId());
}
設(shè)置WIFI
OpCamClient opCamClient=OpCamClient.getInstance();
System.out.println(opCamClient.setWIFI("192.168.1.110", "ssid", "wifipassword", "admin password"));
參數(shù)
ip地址,said, wifi密碼,攝像頭管理員密碼(如忘記密碼,請做設(shè)備恢復(fù)出廠)
返回
200|ok 表示成功
設(shè)置時間
opCamClient.setDate設(shè)置攝像頭時間
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")
參數(shù)
ip地址,新密碼,原密碼
返回
200|ok 表示成功
設(shè)置視頻模式
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.setVideoMode(opCam.getIp(), VideoMode.NORMAL,"admin_password");
參數(shù)
ip地址,模式,管理員密碼
模式:
VideoMode.NORMAL 正常
VideoMode.FLIP 翻轉(zhuǎn)
VideoMode.MIRROR 鏡像
VideoMode.FLIP_MIRROR 翻轉(zhuǎn)與鏡像
返回
200|ok 表示成功
控制云臺轉(zhuǎn)動
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.ptz("ip", PTZCMD.PTZ_UP,"admin_password");
參數(shù)
ip地址,轉(zhuǎn)動指令,管理員密碼
模式:
PTZCMD.PTZ_UP 上
PTZCMD.PTZ_DOWN 下
PTZCMD.PTZ_LEFT 左
PTZCMD.PTZ_RIGHT 右
返回
200|ok 表示成功
抓拍一張圖片
暫未對外開放
音視頻流
P2P智能通道
P2P智能通道,會自動選擇傳輸通道,如果在外網(wǎng),sdk會自動判斷,選擇p2p通道傳輸數(shù)據(jù)
在復(fù)雜的經(jīng)過多個路由器之后的網(wǎng)絡(luò),攝像頭會被認(rèn)為是p2p通道,這種情況可以采用 下面的 “內(nèi)網(wǎng)通道”強制內(nèi)網(wǎng)傳輸音視頻數(shù)據(jù)流
內(nèi)網(wǎng)通道
如果能夠確定攝像頭與sdk主機在同一個內(nèi)網(wǎng),可以強制內(nèi)網(wǎng)通道傳輸視頻。
音視頻流保存到MP4文件
格式化sd卡
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.formatSdCard("192.168.1.110","admin_password")
返回
200|ok
表示發(fā)送格式化指令成功,格式化之后,攝像頭會重啟一次檢測sd卡是否正常工作。獲取是否格式化成功,需要通過獲取sd卡文件列表接口來確認(rèn)
開啟sd卡錄像
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.startRecord("192.168.1.110","admin_password")
返回
200|ok 成功
實時視頻會保存到sd卡上,通過sd卡文件列表接口可以查看具體內(nèi)容。
sd卡滿了的時候,會循環(huán)覆蓋錄像
錄像以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卡文件內(nèi)容
讀取視頻h264原始碼流數(shù)據(jù)
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.downloadSDFile("192.168.1.110", "sd_file_path", "/tmp/out.h264", "admin_password")
參數(shù)
ip地址,sd文件路徑,輸出保存路徑, 攝像頭密碼
讀取sd卡視頻和音頻數(shù)據(jù)轉(zhuǎn)換到mp4格式
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.downloadSDFileToMp4File("192.168.1.110", "sd_video_file_path","sd_audio_file_path", "/tmp/out.mp4", "admin_password")
參數(shù)
ip地址,sd視頻文件路徑,sd卡音頻文件路徑,輸出保存路徑, 攝像頭密碼
配置云監(jiān)控
OpCamClient opCamClient=OpCamClient.getInstance();
opCamClient.setCloudServer("192.168.1.110","my.domain.com",6088,"admin_password")
參數(shù)
ip,云服務(wù)器ip或域名,端口,攝像頭密碼
云服務(wù)器狀態(tài)監(jiān)控
此功能需要先部署我們的云sdk版本,提供restful接口操作
查詢所有攝像頭狀態(tài)
http://my.domain.com/q_all_ipc.ws
查詢單個攝像頭狀態(tài)
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 | 云服務(wù)器 文件保存路徑 |
返回
{"code":0,"message":"3001"}
| * | 字段 | 說明 |
|---|---|---|
| code | string | 0 正常,其它失敗 |
| message | string | 狀態(tài)碼:3001攝像頭返回正常,3002 攝像頭忙,通常情況下是前一個請求還沒完成,防止重復(fù)請求 |
停止云錄像
此功能需要先部署我們的云sdk版本,提供restful接口操作
http://my.domain.com/stop_rec.ws?id=DVE9ADX666VVVM6KUZW1
| * | 字段 | 說明 |
|---|---|---|
| id | String | 攝像頭ID |
返回
{"code":0,"message":"3004"}
| * | 字段 | 說明 |
|---|---|---|
| code | string | 0 正常,其它失敗 |
| message | string | 狀態(tài)碼:3004攝像頭返回正常 |