美文网首页
提供SDK与开放API协议的摄像头

提供SDK与开放API协议的摄像头

作者: freebird_new | 来源:发表于2017-09-22 12:51 被阅读0次

    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摄像头返回正常

    相关文章

      网友评论

          本文标题:提供SDK与开放API协议的摄像头

          本文链接:https://www.haomeiwen.com/subject/drqfextx.html