标签:视频播放 参考 功能 snap serve odi 注销 获取 开发人员
全民直播时代已经到来。现在的直播必然需要支持手机直播,如果能够嵌入到全面宠儿微信中,那就能深度民心了。从技术上而言,微信直播,自然需要使用H5页面。目前手机浏览器不支持RTSP、RTMP,想要在手机微信上直播那就需要HLS视频流。
如果能够将小区、工程、学校、园区、街道等等某个区域内的所有监控摄像头实现网络直播,支持PC、手机同时随时随地观看,就实现了将传统监控行业转成网络直播。这里引入LiveQing团队开发的LiveNVR。
LiveNVR默认的直播、配置页面基本可以满足大部分客户的基本需求。对于部分用户可能需要更改页面展示,增加其他业务功能等需要,可以基于LiveNVR接口文档提供的RESTful接口进行自定义开发。LiveNVR默认的展示页面也是基于这些接口做的开发,当然也可以作为Demo供开发人员开发自定义页面时参考。
名称 | 解释 | 含义 |
Username | 登陆用户名 | - |
Password | 登陆密码 | 经过MD5加密的字符 |
返回: 200 OK or 401 Unauthorized
{
"LiveQing" : {
"Body" : {
"Token" : "a19cb5f6e7d2449d8d24c8a0fc554ca7"
},
"Header" : {
"CSeq" : "1",
"ErrorNum" : "200",
"ErrorString" : "Success OK",
"MessageType" : "MSG_SC_SERVER_LOGIN_ACK",
"Version" : "1.0"
}
}
}
操作: 登录,登陆后会返回token,以后调用接口需要在cookie中携带token信息“token=a19cb5f6e7d2449d8d24c8a0fc554ca7”
返回: 200 OK 401 Unauthorized
{
"LiveQing" : {
"Header" : {
"CSeq" : "1",
"ErrorNum" : "200",
"ErrorString" : "Success OK",
"MessageType" : "MSG_SC_SERVER_LOGOUT_ACK",
"Version" : "1.0"
}
}
}
操作: 再次请求接口需要重新登陆
接口: /api/v1/modifypassword?oldpassword=xxx&newpassword=xxx
参数
名称 | 含义 | 备注 |
Oldpassword | 旧密码 | 经过MD5加密的字符 |
Newpassword | 新密码 | 经过MD5加密的字符 |
返回: 200 OK or 401
{
"LiveQing" : {
"Body" : {
"Token" : "8b65982a99664d19bcccc35ff8d2acaf"
},
"Header" : {
"CSeq" : "1",
"ErrorNum" : "200",
"ErrorString" : "Success OK",
"MessageType" : "MSG_SC_SERVER_MODIFY_PASSWORD_ACK",
"Version" : "1.0"
}
}
}
操作: 修改密码成功会返回新的token
名称 | 含义 | 备注 |
Server | 服务器软件版本信息 | - |
RunningTime | 服务器累计运行时长信息 | - |
Hardware | 服务器硬件版本信息 | - |
InterfaceVersion | 接口服务版本信息 | - |
{
"LiveQing" : {
"Body" : {
"Hardware" : "x86",
"InterfaceVersion" : "v1",
"RunningTime" : "30 Days 0 Hours 1 Mins 40 Secs",
"Server" : "EasyNVR/1.1 (Build/16.1020; Platform/Win32; State/Development; )"
},
"Header" : {
"CSeq" : "1",
"ErrorNum" : "200",
"ErrorString" : "Success OK",
"MessageType" : "MSG_SC_SERVER_INFO_ACK",
"Version" : "1.0"
}
}
}
通道名称、通道号、通道快照、通道是否在线
名称 | 含义 | 备注 |
Channel | 通道号 | 通道号 |
Name | 通道名称 | 通道名称 |
Online | 是否在线 | 1在线/0离线 |
SnapURL | 快照地址 | 返回为快照的相对网络地址 |
{
"LiveQing" : {
"Body" : {
"ChannelCount" : "2",
"Channels" : [
{
"Channel" : 1,
"Name" : "channel1",
"Online" : 1,
"SnapURL" : "/snap/1/2016-10-24/20161024125212.jpg"
},
{
"Channel" : 2,
"Name" : "channel2",
"Online" : 0,
"SnapURL" : ""
}
]
},
"Header" : {
"CSeq" : "1",
"ErrorNum" : "200",
"ErrorString" : "Success OK",
"MessageType" : "MSG_SC_SERVER_GET_CHANNELS_ACK",
"Version" : "1.0"
}
}
}
名称 | 含义 | 备注 |
Channel | 通道号 | - |
Protocol | 获取直播的协议 | RTMP/HLS |
返回: 直播流地址URL
{
"LiveQing" : {
"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;
返回: 直播流地址
{
"LiveQing" : {
"Body" : {
"ChannelName" : "通道名"
"URL" : "rtmp://{host}:10035/hls/stream_1"
},
"Header" : {
"CSeq" : "1",
"ErrorNum" : "200",
"ErrorString" : "Success OK",
"MessageType" : "MSG_SC_SERVER_TOUCH_CHANNEL_STREAM_ACK",
"Version" : "1.0"
}
}
}
操作:播放视频心跳,60秒内发送一次,否则自动停止推流
名称 | 解释 | 备注 |
ServiceLanPort | EasyNVR服务监听端口 | ReadOnly |
ServiceLanIP | EasyNVR服务本地地址 | ReadOnly |
ServiceWanIP | EasyNVR服务公网端口 | 暂时不启作用 |
ServiceWanPort | EasyNVR服务公网地址 | 暂时不启作用 |
ChannelSnapInterval | 通道快照间隔 | 单位为分钟 |
NginxRTMPPort | EasyNVR配套的rtmp服务器端口 | 默认10035 |
{
"LiveQing" : {
"Body" : {
"ChannelSnapInterval" : "120",
"NginxRTMPPort" : "10035",
"ServiceLanIP" : "192.168.66.222; 127.0.0.1; ",
"ServiceLanPort" : "10010",
"ServiceWanIP" : "none-config",
"ServiceWanPort" : "10010"
},
"Header" : {
"CSeq" : "1",
"ErrorNum" : "200",
"ErrorString" : "Success OK",
"MessageType" : "MSG_SC_SERVER_BASE_CONFIG_ACK",
"Version" : "v1"
}
}
}
接口: /api/v1/setbaseconfig?ChannelSnapInterval=120&NginxRTMPPort=10035&ServiceLanPort=10010&ServiceWanIP="none-config"&ServiceWanPort=10010
参数:
返回: 200 OK
{
"LiveQing" : {
"Header" : {
"CSeq" : "1",
"ErrorNum" : "200",
"ErrorString" : "Success OK",
"MessageType" : "MSG_SC_SERVER_SET_BASE_CONFIG_ACK",
"Version" : "1.0"
}
}
}
操作:显示配置成功,重启后生效
返回: 200 OK
{
"LiveQing" : {
"Body" : {
"ChannelCount" : "1",
"Channels" : [
{
"IP" : "192.168.66.222",
"Onvif" : "/onvif/devices",
"Port" : 8080
}
]
},
"Header" : {
"CSeq" : "1",
"ErrorNum" : "200",
"ErrorString" : "Success OK",
"MessageType" : "MSG_SC_SERVER_DISCOVER_DEVICES_ACK",
"Version" : "1.0"
}
}
}
接口: /api/v1/probedevice?ip=192.168.66.222&username=admin&password=admin
参数:
名称 | 含义 | 备注 |
Username | 登陆用户名 | 设备用户名 |
Password | 登陆密码 | 设备密码(明文) |
返回:
? 200 OK
{
"LiveQing" : {
"Body" : {
"IP" : "192.168.66.222",
"Onvif" : "/onvif/devices",
"Password" : "admin",
"Port" : "8080",
"Rtsp" : "rtsp://192.168.66.222:554/11",
"UserName" : "admin"
},
"Header" : {
"CSeq" : "1",
"ErrorNum" : "200",
"ErrorString" : "Success OK",
"MessageType" : "MSG_SC_SERVER_PROBE_DEVICE_ACK",
"Version" : "1.0"
}
}
}
名称 | 含义 | 备注 |
channel | 通道ID | 例:1 |
actiontype | 动作类型 | continuous或者single |
command | 动作命令 | stop停止、up向上移动、down向下移动、left向左移动、right向右移动、zoomin、zoomout、focusin、focusout、aperturein、apertureout |
speed | 动作速度 | 例如:5 |
protocol | 摄像机接入的协议 | 暂时仅支持ONVIF接入的摄像机 |
reserve | 保留 | 暂未使用 |
只有Onvif类型接入的设备才能支持云台控制功能,同时,设备必须有云台,他才会转动;
接口: /api/v1/setchannelconfig?Cdn=&Channel=2&Enable=0&IP=192.168.66.22&Name=channel2&Onvif=”/device/service”&Password=admin&Port=8080&Protocol=RTSP&Rtsp=”rtsp//192.168.66.22/22”&UserName=admin&OnDemand=1&Audio=1
参数
名称 | 含义 | 备注 |
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 |
Cdn | 推送的CDN地址 | rtmp://rtmp.aliyun.com/live/209?sign=faefabe&tm=20161005190329 |
OnDemand | 是否按需直播 | 1启用、0不启用 |
Audio | 是否启用音频输入 | 1启用、0不启用 |
返回: 200 OK
{
"LiveQing" : {
"Header" : {
"CSeq" : "1",
"ErrorNum" : "200",
"ErrorString" : "Success OK",
"MessageType" : "MSG_SC_SERVER_SET_CHANNEL_CONFIG_ACK",
"Version" : "1.0"
}
}
}
操作:显示配置成功,即时生效!
返回: 通道列表数组信息
{
"LiveQing" : {
"Body" : {
"ChannelCount" : "16",
"Channels" : [
{
"Cdn" : "",
"Channel" : 1,
"Enable" : 1,
"IP" : "192.168.66.222",
"Name" : "channel1",
"OnDemand" : 1,
"Online" : 1,
"Onvif" : "/onvif/devices",
"Password" : "admin",
"Port" : 8080,
"Protocol" : "RTSP",
"Rtsp" : "rtsp://192.168.66.222/11",
"UserName" : "admin",
"Audio" : 1
},
{
"Cdn" : "",
"Channel" : 2,
"Enable" : 0,
"IP" : "192.168.66.22",
"Name" : "channel2",
"OnDemand" : 1,
"Online" : 0,
"Onvif" : "/onvif/devices",
"Password" : "admin",
"Port" : 8080,
"Protocol" : "RTSP",
"Rtsp" : "rtsp://192.168.66.22/22",
"UserName" : "admin",
"Audio" : 1
},
……
]
},
"Header" : {
"CSeq" : "1",
"ErrorNum" : "200",
"ErrorString" : "Success OK",
"MessageType" : "MSG_SC_SERVER_GET_CHANNELS_CONFIG_ACK",
"Version" : "1.0"
}
}
}
操作:显示,单个通道可禁用/启用/修改配置
https://www.liveqing.com/docs/download/LiveNVR.html
技术交流QQ群:947137753
咨询电话:15156896292(同微信)
WEB:www.liveqing.com
RTSP、GB28181监控摄像头实现WEB、微信直播的服务
标签:视频播放 参考 功能 snap serve odi 注销 获取 开发人员
原文地址:https://www.cnblogs.com/kumukim/p/10976925.html