首页 / 文档中心 / 设备接口文档 / 接口说明(老版接口)

接口说明(老版接口)

设备接口文档 · 老版接口

假设设备序列号是cb00a8fe73ac6e8da63ea57a1c5f4785,客户远程配置服务器域名为xstrive.com

参数说明

    command  命令字,代表不通种类的操作
    channel  需要操作的通道号,从0开始
    value    命令字对应的值(有的value是base64加密的,需注意接口的详细描述)
    auth     是用户名+密码的md5值,必须使用小写。假设用户名是admin 密码是admin 那么 userAuth = md5(“adminadmin”)

设置rtmp推流开启或者关闭

1.开启通道1的rtmp推送(命令字 live_control)

http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/control?command=live_control&channel=0&value=start&auth=userAuth

2.关闭通道1的rtmp推送(命令字 live_control)

http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/control?command=live_control&channel=0&value=stop&auth=userAuth

 备注:userAuth 是用户名+密码的md5值,假设用户名是admin 密码是admin 那么 userAuth = md5(“adminadmin”)
channel 是从0 开始的

设置rtsp推送开启或者关闭

1.开启通道1的rtsp推送

http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/control?command=rtsp_enable_control&channel=0&value=start&auth=userAuth

2.关闭通道1的rtsp推送

http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/control?command=rtsp_enable_control&channel=0&value=stop&auth=userAuth

备注:auth后面接的验证是md5加密后的用户名密码的字符串,例如md5(usernamepasswd)

设置rtmp推流地址:这里假设通道数为32

1.设置通道1的rtmp1推流地址
http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/control?command=set_live_url&channel=0&value=base64(rtmp://xxxxx/test/stream1)&auth=userAuth

备注:rtmp地址需要用base64加密后添加到请求中,例如base64(rtmp://xxxx/app/stream)  auth后面接的验证是md5加密后的用户名密码的字符串,例如md5(usernamepasswd)
          channel是从0开始的

设置rtsp拉流地址

1.设置通道1的rtsp推送地址
http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/control?command=set_live_rtsp&channel=0&value=base64(rtsp://xxxx/app/test)&auth=userAuth&user=admin&pass=123456

备注:rtsp地址需要用base64加密后添加到请求中,例如base64(rtsp://xxxx/app/stream)  auth后面接的验证是md5加密后的用户名密码的字符串,例如md5(usernamepasswd)
        user 是摄像头访问用户名,pass是摄像头访问密码
        如果rtsp视频流不需要用户名密码,那么直接留空,例如
        http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/control?command=set_live_rtsp&channel=0&value=base64(rtsp://xxxx/app/test)&auth=userAuth&user=&pass=

注意: rtsp地址中不应包含用户名密码。

设置示例:

推流器账户默认为admin/admin,ip为192.168.0.15,rtmp推流地址为rtmp://live.hkstv.hk.lxdns.com/live/hks1, rtsp拉流地址为rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov
auth是md5加密(usernamepassword),这里是md5加密(adminadmin)为 f6fdffe48c908deb0f4c3bd36c032e72
rtmp地址base64加密(rtmp://xxx),这里rtmp地址为 cnRtcCUzQS8vbGl2ZS5oa3N0di5oay5seGRucy5jb20vbGl2ZS9oa3Mx
rtsp地址base64加密(rtsp://xxx),这里rtsp地址为 cnRzcCUzQS8vMTg0LjcyLjIzOS4xNDkvdm9kL21wNCUzQS8vQmlnQnVja0J1bm55XzE3NWsubW92

通过接口启动通道1的rtmp功能
http://192.168.0.15/control?command=live_control&channel=0&value=start&auth=f6fdffe48c908deb0f4c3bd36c032e72
通过接口启动通道1的rtsp功能
http://192.168.0.15/control?command=rtsp_enable_control&channel=0&value=start&auth=f6fdffe48c908deb0f4c3bd36c032e72
通过接口设置通道1的rtmp地址
http://192.168.0.15/control?command=set_live_url&channel=0&value=cnRtcCUzQS8vbGl2ZS5oa3N0di5oay5seGRucy5jb20vbGl2ZS9oa3Mx&auth=f6fdffe48c908deb0f4c3bd36c032e72
通过接口设置通道1的rtsp地址
http://192.168.0.15/control?command=set_live_rtsp&channel=0&value=cnRzcCUzQS8vMTg0LjcyLjIzOS4xNDkvdm9kL21wNCUzQS8vQmlnQnVja0J1bm55XzE3NWsubW92&auth=f6fdffe48c908deb0f4c3bd36c032e72&user=admin&pass=123456

设置用户名和密码

1.设置用户名及密码
http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/control?command=set_user_info&user=newusername&pass=newpass&value=1&auth=userAuth
http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/control?command=set_user_info&user=admin&pass=234567&value=1&auth=a66abb5684c45962d887564f08346e8d

备注:auth后面接的验证是md5加密后的用户名密码的字符串,例如md5(usernamepasswd)

获取rtmp推送状态

1.获取rtmp1推送状态
    http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/jsonfile/rtmpstatus

2.获取rtmp2推送状态
    http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/jsonfile/rtmpstatus1

获取rtsp拉流流量
http://序列号.域名:9502/jsonfile/rtspband
拉流状态 // 0失败,1未开启,2正常
http://序列号.域名:9502/jsonfile/rtspstatus
获取rtmp推流流量
http://序列号.域名:9502/jsonfile/rtmpband0
推流状态 // 0失败,1未开启,2正常
http://序列号.域名:9502/jsonfile/rtmpstatus
获取视频格式 0 h265, 1未知,2 h264
http://序列号.域名:9502/jsonfile/codecstatus

获取所有配置信息

方法:POST
内容:userAuth
返回:设备的所有配置的json信息
AJAX示例:
var auth = userAuth
        $.ajax({
            type:"post",
            url:"/getConfig",
            data:auth,
            success:function(data){
                jsonobj = data;
            }
        })

        http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/getConfig

获取局域网摄像头列表(通过onvif协议,海康摄像头需手动开启onvif)

http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/getOnvifDevices
返回值样例:
{"device":[{ip:'192.168.0.136'},{ip:'192.168.0.226'},{ip:'192.168.0.67'}]}
其中包含3个摄像头,192.168.0.136,192.168.0.226 和 192.168.0.67

获取摄像头的视频播放地址(RTSP地址)

http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/getDeviceRtsp?ip=192.168.0.67&user=admin&pass=admin
参数说明:
ip:摄像头的ip
user:摄像头的用户名(onvif账户)
pass:摄像头的密码(onvif账户)
返回值说明
{"rtspurl":["rtsp://192.168.0.67:554/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif","rtsp://192.168.0.67:554/cam/realmonitor?channel=1&subtype=1&unicast=true&proto=Onvif"]}
此返回值代表该摄像头有2个码流。一般来说,第一个码流是主码流,码率相对比较高,主要做本地录像。第二个码流是辅码流,码率相对较低,主要做互联网传输。
可以将此rtsp地址通过“设置rtsp拉流地址”接口 设置到推流器上。
获取摄像头码流详情
http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/setprofile?wtype=1&ip=192.168.0.67&user=admin&pass=YWRtaW4=&index=0
参数说明
wtype:1是获取码流详情
ip:摄像头ip
user:摄像头用户名
pass:摄像头密码 base64编码
index:码流序号(0,主码流,1辅码流,和“获取摄像头的视频播放地址(RTSP地址)”接口对应)
返回值示例:
{"profile":[{"profile":"2"},{"BitrateLimit":"2048"},{"ConstantBitRate":"0"},{"ConstantBitRateFlag":"0"},{"FrameRateLimit":"20"},{"Height":"1080"},{"Width":"1920"}]}
修改摄像头码流详情
http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/setprofile?wtype=3&ip=192.168.0.67&user=admin&pass=YWRtaW4=&index=0&encodeType=2&bitrate=2048&constbitrate=0&flag=0&fps=25&height=1080&width=1920
参数说明
wtype:3是设置码流详情
ip:摄像头ip
user:摄像头用户名
pass:摄像头密码 base64编码
index:码流序号(0,主码流,1辅码流,和“获取摄像头的视频播放地址(RTSP地址)”接口对应)
encodeType:2代表h264
bitrate:设置码流的波特率,波特率越高,占用的上行带宽越高,图像越清晰
constbitrate:目前必须为0
flag:目前必须为0
fps:视频帧率。
height:视频分辨率高度
width:视频分辨率宽度
****注意,有些参数摄像头不支持。所以使用此参数设置完成后,需要调用“获取摄像头码流详情”接口来确认参数是否修改成功

控制云台

    http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/ptz?command=ptz&host=cnRzcDovL2FkbWluOjEyMzRhYmNkQDE5Mi4xNjguMC42NDo1NTQvU3RyZWFtaW5nL0NoYW5uZWxzLzEwMT90cmFuc3BvcnRtb2RlPXVuaWNhc3QmcHJvZmlsZT1Qcm9maWxlXzE=&usr=admin&pass=1234abcd&value=0&auth=f6fdffe48c908deb0f4c3bd36c032e72
参数说明:
  value  
             u  //上
             d  //下
             l  //左
             r  //右
             1  //左上                 1
             2  //右上
             3  //左下
             4  //右下
             n //zoom in
             f //zoom out
             i //focus in
             o //focus out
             t //stop focus
             s //停止转动

  host  需要控制的摄像头的拉流地址,进行base64编码后的字符串
  比如: host=base64(rtsp://admin:1234abcd@192.168.0.64:554/Streaming/Channels/101?transportmode=unicast&profile=Profile_1)
  UI显示版本1.16.2之后的版本host可直接填摄像头IP, 形如:host=192.168.0.15

老版本录像

  • 在线回放接口
    http://cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502/vod/index.m3u8?command=record&start_time=151805600000&end_time=151819200000&channel=record0
    参数说明:
    command有两个值,一个是record,一个是check。
    record代表获取指定时间段录像(返回m3u8文件)
    check代表检查指定时间是否有录像(0代表没有,其他表示有)
    start_time是起始时间(unix时间戳,ms)
    end_time是结束时间(unix时间戳,ms)
    channel是指定通道
  • 下载接口
    http://摄像头ip或远程域名/ts/?command=record&start_time=1575993600000&end_time=1576076400000&channel=record0
    参数说明
    start_time 为准备下载录像的开始的时间戳
    end_time. 为准备下载录像的结束的时间戳 (注意时间跨度不要超过8小时,以免文件过大)
    channel. record0 代表通道1,record1 代表通道2,以此类推
    其他字段保留,不可修改

新版本录像

  • 录像列表查询(只支持按天查询)
    ${videoUrl}/api/record/list?beginTime=${beginTimeMs}&endTime=${endTimeMs}&channel=${channel}
    请求参数:
    videoUrl:设备地址 【远程:http://序列号.cloud.xstrive.com:9502 局域网:http://设备ip】
    beginTimeMs: 开始时间戳,单位毫秒
    endTimeMs: 结束时间戳,单位毫秒
    channel:通道号,从0开始
    返回参数:
    mode:flv或者hls, 默认flv。
    day: 20211118, 当前日期格式字符串
    files: [{dur: 30000, name: 123456789}]. dur: 时长,name: 文件名即当前时间戳毫秒
  • 播放
    flv格式播放
    请求播放:${videoUrl}/api/record/publish?beginTime=${beginTimeMs}&endTime=${endTimeMs}&channel=${channel}
    播放地址:${videoUrl}/hdl/playback/record${channel}_${beginTimeMs}.flv
    hls格式播放
    ${videoUrl}/api/record/hls/vod/index.m3u8?start_time=${beginTimeMs}&end_time=${endTimeMs}&channel=${channel}
    参数说明
    videoUrl: 设备地址
    beginTimeMs: 开始毫秒数
    endTimeMs:结束毫秒数
    channel: 当前通道号,从0开始
  • 下载
    单文件下载
    ${videoUrl}/playbackhls/rec/record${channel}/${playbackDay}/${name}.flv
    ${videoUrl}/playbackhls/rec/record${channel}/${playbackDay}/${name}.ts
    区间下载
    ${videoUrl}/api/record/hls/ts/record.ts?start_time=${beginTimeMs}&end_time=${endTimeMs}&channel=${channel}
    参数说明
    videoUrl: 设备地址
    beginTimeMs: 开始毫秒数
    endTimeMs:结束毫秒数
    channel: 当前通道号,从0开始
    playbackDay: 当前日期格式字符串如:20211118
    name: 文件名,为录像列表返回 files[0].name

录像播放器测试

http://playback.platform.xstrive.com/vod?address=http://192.168.0.140&username=admin&password=admin

参数说明
    username: 设备用户名
    password:设备密码
    address: 设备访问地址
    channel: 默认选中通道,从0开始

如果是局域网调用

就将例子中的cb00a8fe73ac6e8da63ea57a1c5f4785.cloud.xstrive.com:9502 替换成设备IP,譬如192.168.0.15
BASE64加密参考网站
http://tool.chinaz.com/Tools/Base64.aspx

这份文档没解决你的问题?联系我们,技术工程师直接对接。

询价咨询

填写这几项,我们 1 个工作日内回传报价与方案

点「生成询价邮件」会打开你的邮件客户端,正文已自动填好;电脑没配邮件客户端,就点「复制内容」粘到网页邮箱发送,收件人 sunshiyang@xstrive.com。