接口协议适用平台:(Windows&Linux)

1. 接口示列

API采用Restful风格的Http协议,全部请求都使用Get方式,字符不区分大小写。基本结构如下:
http://:/api//?=&=&…..

参数名称 定义 说明
IP Platform Address IP地址
Port Platform Port 通讯端口
Version API Version API版本
Action Action 执行的操作
Param Action Parameter 操作所使用的参数,可以有多个参数,每个参数对应一个Value。
Value Parameter Value 参数值,如果Value的字符串中出现&等特殊字符,则必须用””包住Value。

调用API会返回Json字符串,代表操作返回的结果

{
"EasyDarwin" : {
"Body" : {
……
},
"Header" : {
"CSeq" : "1",
"ErrorNum" : "200",
"ErrorString" : "Success OK",
"MessageType" : "MSG_SC_API_ACK",
"Version" : "1.0"
}
}
}

2. 接口列表

2.1. 登录EasyNVR

名称 解释 含义
Username 登陆用户名 -
Password 登陆密码 经过MD5加密的32位字符

2.2. 注销登陆

2.3. 修改密码

名称 含义 备注
Oldpassword 旧密码 经过MD5加密的字符
Newpassword 新密码 经过MD5加密的32位字符

2.4. 获取EasyNVR服务信息

名称 含义 备注
Server 服务器软件版本信息 -
RunningTime 服务器累计运行时长信息 -
Hardware 服务器硬件版本信息 -
InterfaceVersion 接口服务版本信息 -

2.5. 【视频广场】显示所有在线通道预览

名称 含义 备注
channel 查询指定通道号的信息 可选参数。不带channel参数或者channel小于0查看全部通道信息
名称 含义 备注
Channel 通道号 通道号
Name 通道名称 通道名称
Online 是否在线 1在线/0离线
SnapURL 快照地址 返回为快照的相对网络地址

2.6. 播放单个通道直播

名称 含义 备注
Channel 通道号 -
Protocol 获取直播的协议 RTMP/HLS
{
"EasyDarwin" : {
"Body" : {
"ChannelName" : "通道名"
"URL" : "rtmp://{host}:10035/hls/stream_1"
},
"Header" : {
"CSeq" : "1",
"ErrorNum" : "200",
"ErrorString" : "Success OK",
"MessageType" : "MSG_SC_SERVER_GET_CHANNEL_STREAM_ACK",
"Version" : "1.0"
}
}
}

注:返回的URL中带有{host}占位符,{host}即为api接口请求中的IP字段,如果返回的URL为hls地址,那么直接为/hls/stream_1.m3u8地址,需要前端自动拼接成EasyNVR HTTP播放地址,比如EasyNVR的web访问地址为:http://192.168.66.189:10080/,那么返回的hls应该拼接为http://192.168.66.189:10080/hls/stream_1.m3u8,rtmp地址应该拼接为:rtmp://192.168.66.189:10035/hls/stream_1;

2.7. 视频播放心跳

2.8. 获取EasyNVR基本配置信息

名称 含义 备注
ServiceLanPort EasyNVR服务监听端口 ReadOnly
ServiceLanIP EasyNVR服务本地地址 ReadOnly
ServiceWanIP EasyNVR服务公网端口 暂时不启作用
ServiceWanPort EasyNVR服务公网地址 暂时不启作用
ChannelSnapInterval 通道快照间隔 单位为分钟
NginxRTMPPort EasyNVR配套的rtmp服务器端口 默认10935

2.9. 设置EasyNVR基本配置信息

2.10. 发现Onvif设备

2.11. 探测设备信息

名称 含义 备注
Username 登陆用户名 设备用户名
Password 登陆密码 设备密码(明文)

2.12. Onvif云台控制

名称 含义 备注
channel 通道ID 例:1
actiontype 动作类型 continuous或者single
command 动作命令 stop停止、up向上移动、down向下移动、left向左移动、right向右移动、zoomin、zoomout、focusin、focusout、aperturein、apertureout
speed 动作速度 例如:5
protocol 摄像机接入的协议 暂时仅支持ONVIF接入的摄像机
reserve 保留 暂未使用

只有Onvif类型接入的设备才能支持云台控制功能,同时,设备必须有云台,他才会转动;

2.13. 单个通道配置

名称 含义 备注
channel 设置的通道号 例:1
Enable 通道是否启用 1启用、0禁用
IP 摄像机IP地址 例如:192.168.66.222
Name 摄像机名称 例如:测试通道
Port 摄像端口 例如:554、8080
Protocol 摄像机接入的协议 ONVIF、RTSP
Username 摄像机登陆用户名 例如:admin
Password 摄像机登陆密码 例如:admin
RTSP 摄像机的RTSP地址 例如:rtsp://192.168.66.222/11
ONVIF 摄像机的Onvif地址 /onvif/devices
TransProtocol 传输协议 选项:TCP、UDP
Cdn 推送的CDN地址 rtmp://rtmp.aliyun.com/live/209?sign=faefabe&tm=20161005190329
OnDemand 是否按需直播 1启用、0不启用
Audio 是否启用音频输入 1启用、0不启用
Reserve2 保留参数2 1启用、0不启用
Reserve3 开启录像 1启用、0不启用(仅限录像版)

2.14. 获取EasyNVR所有通道信息

2.15. 抓取图片

名称 含义 备注
channel 设置的通道号 -

2.16. 开始录像(仅限录像版)

名称 含义 备注
channel 设置的通道号 -
duration 录像时长,单位秒 缺省或者为0时,一直录像,直到执行stoprecord接口

2.17. 停止录像(仅限录像版)

名称 含义 备注
channel 设置的通道号 -

2.18. 请求回看通道设备列表(仅限录像版)

GET /query_devices

返回结果示例:

{
"msg": "success",
"code": 0,
"data": {
"devices": [
"stream_1",
"stream_2"
]
}
}
字段 说明
devices 设备 ID 数组,每个id为’stream_’拼接上通道号,如通道1为stream_1

2.19. 按月检索录像接口(仅限录像版)

GET /query_record_monthly?id=xxx&period=yyyyMM

参数 类型 说明
id string 指明设备id,每个id为’stream_’拼接上通道号,如通道1为stream_1
period string 格式yyyyMM, 指明查询哪个月的录像记录

返回结果示例:

{
"data": {
"flags" : "00001100..."
},
"code": 0,
"msg": "成功"
}
字段 类型 说明
flags string 固定长度31,每一位只能是”1”或”0”, 分别表示当日有没有录像

2.20. 按日检索录像接口(仅限录像版)

GET /query_record_daily?id=xxx&period=yyyyMMdd

参数 类型 说明
id string 指明设备id, 每个id为’stream_’拼接上通道号,如通道1为stream_1
period string 格式yyyyMMdd, 指明查询哪一天的录像记录

返回结果示例:

{
"data": {
list : [{
"start_time" : "20170731000000",
"duration" : 90.00,
"hls" : "/xxx/20170731000000/xxx_record.m3u8",
"snap" : "/xxx/20170731000000/xxx_snap.png"
},{
"start_time" : "20170731010020",
"duration" : 89.00,
"hls" : "/xxx/20170731010020/xxx_record.m3u8",
"snap" : "/xxx/20170731010020/xxx_snap.png"
}]
},
"code": 0,
"msg": "成功"
}
字段 类型 说明
start_time string 录像开始时间, 格式: yyyyMMddHHmmss
duration integer 录像历时,单位:秒
hls string 录像文件地址
snap string 录像快照地址

2.21. 下载录像视频(仅限录像版)

GET /download_video?id=xxx&time=yyyyMMddHHmmss

参数 类型 说明
id string 指明设备id, 每个id为’stream_’拼接上通道号,如通道1为stream_1
time string 格式yyyyMMddHHmmss, 所要下载录像视频的起始录制时间

2.22. 获取第三方平台配置

2.23. 设置第三方平台配置

2.24. 重启接口