LiveNVR安防流媒体服务,支持RTSP稳定拉流接入,支持Onvif协议接入,支持RTMP/HLS/HTTP-FLV分发,将传统安防监控设备互联化,无插件直播等。

LiveNVR相关二次开发-API接口

概述

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

http://<IP>:<Port>/api/<Version>/<Action>?<Param1>=<value>&<Param2>=<Value>&.....

参数

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

返回值

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

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

接口列表

1. 登录LiveNVR

  • 接口: /api/v1/login?username=xxx&password=xxx
  • 参数
名称 解释 含义
Username 登陆用户名 -
Password 登陆密码 经过MD5加密的32位字符
  • 返回: 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”

2. 注销登陆

  • 接口: /api/v1/logout

  • 返回: 200 OK 401 Unauthorized

      {"LiveQing" : {"Header" : {"CSeq" : "1","ErrorNum" : "200","ErrorString" : "Success OK","MessageType" : "MSG_SC_SERVER_LOGOUT_ACK","Version" : "1.0"}}}
    
  • 操作: 再次请求接口需要重新登陆

3. 修改密码

  • 接口: /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

4. 获取LiveNVR服务信息

  • 接口:/api/v1/getserverinfo
  • 返回
名称 含义 备注
Server 服务器软件版本信息 -
RunningTime 服务器累计运行时长信息 -
Hardware 服务器硬件版本信息 -
InterfaceVersion 接口服务版本信息 -
  • 报文

      {"LiveQing" : {"Body" : {"Hardware" : "x86","InterfaceVersion" : "v1","RunningTime" : "30 Days 0 Hours 1 Mins 40 Secs","Server" : "LiveNVR/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"}}}
    
  • 操作: 显示

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

  • 接口:/api/v1/getchannels[?channel=1]
  • 参数
名称 含义 备注
channel 查询指定通道号的信息 可选参数。不带channel参数或者channel小于0查看全部通道信息

- 返回: 1. 所有设备列表信息,在线&不在线 通道(包含快照信息) 1. 通道名称、通道号、通道快照、通道是否在线

名称 含义 备注
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"}}}
    
  • 操作: H5列表显示

6. 播放单个通道直播

  • 接口:/api/v1/getchannelstream?channel=1&protocol=RTMP
  • 参数
名称 含义 备注
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地址,需要前端自动拼接成LiveNVR HTTP播放地址,比如LiveNVR的web访问地址为:http://192.168.66.189:10800/,那么返回的hls应该拼接为http://192.168.66.189:10800/hls/stream_1.m3u8,rtmp地址应该拼接为:rtmp://192.168.66.189:10035/hls/stream_1;

  • 操作:调用播放器进行播放

7. 视频播放心跳

  • 接口: /api/v1/touchchannelstream?channel=1&line=local&protocol=rtmp

  • 参数: 同接口6

  • 返回: 直播流地址

      {"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秒内发送一次,否则自动停止推流

8. 获取LiveNVR基本配置信息

  • 接口: /api/v1/getbaseconfig
  • 返回: 基础配置信息表
名称 解释 备注
ServiceLanPort LiveNVR服务监听端口 ReadOnly
ServiceLanIP LiveNVR服务本地地址 ReadOnly
ServiceWanIP LiveNVR服务公网端口 暂时不启作用
ServiceWanPort LiveNVR服务公网地址 暂时不启作用
ChannelSnapInterval 通道快照间隔 单位为分钟
NginxRTMPPort LiveNVR配套的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"}}}
    
  • 操作:显示

9. 设置LiveNVR基本配置信息

  • 接口: /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"}}}
    
  • 操作:显示配置成功,重启后生效

10. 发现Onvif设备

  • 接口: /api/v1/discoverdevices

  • 返回: 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"}}}
    

11. 探测设备信息

  • 接口: /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"}}}
    

12. Onvif云台控制

  • 接口:/api/v1/ptzcontrol?channel=1&actiontype=continuous&command=down&speed=5&protocol=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类型接入的设备才能支持云台控制功能,同时,设备必须有云台,他才会转动;

13. 单个通道配置

  • 接口: /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&Reserve2=0

  • 参数

名称 含义 备注
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不启用
  • 返回: 200 OK

      {"LiveQing" : {"Header" : {"CSeq" : "1","ErrorNum" : "200","ErrorString" : "Success OK","MessageType" : "MSG_SC_SERVER_SET_CHANNEL_CONFIG_ACK","Version" : "1.0"}}}
    
  • 操作:显示配置成功,即时生效!

14. 获取LiveNVR所有通道信息

  • 接口: /api/v1/getchannelsconfig

  • 返回: 通道列表数组信息

      {"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" : 0"Reserve2" : 0},{"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"}}}
    
  • 操作:显示,单个通道可禁用/启用/修改配置

15. 抓取图片

  • 接口:/api/v1/getsnap?channel=1

  • 参数:

名称 含义 备注
channel 通道号 -
  • 返回:image/jpeg格式,http body为图片数据

16. 开始录像

  • 接口:/api/v1/startrecord?channel=1&duration=3600

  • 参数:

名称 含义 备注
channel 通道号 -
duration 录像时长,单位秒 缺省或者为0时,一直录像,直到执行stoprecord接口
  • 返回:200 OK

      {"LiveQing" : {"Header" : {"ErrorNum" : "200","ErrorString" : "Success OK","MessageType" : "MSG_SC_SERVER_START_RECORD_ACK","Version" : "1.0"}}}
    

17. 停止录像

  • 接口:/api/v1/stoprecord?channel=1

  • 参数:

名称 含义 备注
channel 通道号 -
  • 返回:200 OK

      {"LiveQing" : {"Header" : {"ErrorNum" : "200","ErrorString" : "Success OK","MessageType" : "MSG_SC_SERVER_STOP_RECORD_ACK","Version" : "1.0"}}}
    

18. 获取第三方平台配置

  • 接口:/api/v1/getthirdplatformconfig

  • 返回:

    1. 第三方平台类型枚举,例如:LiveQing云端流媒体(LiveQing),QQ互联云平台(QQConnect),海康萤石云平台(EZVIZ)

    2. 平台地址和端口

    3. 平台验证信息,例如:用户名、密码、AppKey、SecretKey

       {"LiveQing" : {"Body" : {"ThridPlatform" : "LiveQing","ThridPlatformAliveInterval" : "90","ThridPlatformCustomize" : "dev","ThridPlatformIP" : "www.liveqing.com","ThridPlatformPort" : "10000","ThridPlatformToken" : "123456","ThridPlatformUID" : "NVR00000002"},"Header" : {"CSeq" : "1","ErrorNum" : "200","ErrorString" : "Success OK","MessageType" : "MSG_SC_SERVER_GET_THRID_PART_PLATFORM_ACK","Version" : "1.0"}}}
      
  • 操作:显示

19. 设置第三方平台配置

  • 接口: /api/v1/setthirdplatformconfig?ThridPlatform=LiveQing&ThridPlatformIP=www.liveqing.com&ThridPlatformPort=10000&ThridPlatformUID=NVR00000002&ThridPlatformAliveInterval=90&ThridPlatformCustomize=dev

  • 返回: 200 OK

      {"LiveQing" : {"Header" : {"CSeq" : "1","ErrorNum" : "200","ErrorString" : "Success OK","MessageType" : "MSG_SC_SERVER_SET_THRID_PART_PLATFORM_ACK","Version" : "1.0"}}}
    
  • 操作:显示配置成功,重启后生效!

20. 重启接口

  • 接口: /api/v1/restart
  • 返回: 200 OK
  • 操作: 显示成功

获取更多信息

安防流媒体互联直播-QQ交流群:615081503

国标GB28181无插件LiveGBS-QQ交流群:947137753

WEB:www.liveqing.com

Tel:189-5515-0114 (同微信)

Copyright © LiveQing.com 2016-2019

LiveNVR传统安防摄像机互联网直播-二次开发相关的API接口相关推荐

  1. LiveNVR传统安防摄像机接入互联网直播-支持多种分屏展示

    LiveNVR安防流媒体服务,支持RTSP稳定拉流接入,支持Onvif协议接入,支持RTMP/HLS/HTTP-FLV分发,将传统安防监控设备互联化,无插件直播等. 将传统的安防摄像机,通过RTSP拉 ...

  2. 安防摄像头互联网直播方案LiveGBS设计文档

    LiveGBS设计文档 一.介绍 28181协议全称为GB/T28181<安全防范视频监控联网系统信息传输.交换.控制技术要求>,是由公安部科技信息化局提出,由全国安全防范报警系统标准化技 ...

  3. 安防摄像机手机直播方案介绍

    安防行业背景 目前传统安防行业已经竞争已经非常激烈,方案也很成熟.但是随着互联网.移动终端的发展,传统安防已经显的落伍.将安防行业的摄像头实现互联网直播监控,方便用户随时随地可以在电脑.手机上直接观看 ...

  4. EasyNVR网页Chrome无插件播放摄像机视频功能二次开发之云台控制接口示例代码

    随着多媒体技术和网络通信技术的迅速发展,视频监控技术在电力系统.电信行业.工业监控.工地.城市交通.水利系统.社区安防等领域得到越来越广泛的应用.摄像头直播视频监控通过网络直接连接,可达到的世界任何角 ...

  5. 基于Java的Zabbix二次开发-----Zabbix的Api接口实例

    博主之前的文章配置好了Zabbix环境,正常启动Zabbix服务端,并成功监控客户端服务器的情况,如有疑问,下方传送门: centos7下安装Zabbix服务端 Windows下安装Zabbix客户端 ...

  6. zabbix 二次开发之调用api接口获取历史数据

    前面一篇写了数据同步和模板绑定,zabbix其实能做的事还蛮多. zabbix提供了一个非常好的前端展示页面,但是我们总觉得不太好看:我们可以进一步调用他的api通过获取每一个监控项的历史数据,然后打 ...

  7. 传统安防互联网化无插件直播分析及解决方案

    写在前面 如何应对各种千变万化的音视频应用的需求场景?从取流.封装.推流.分发,各个环节经过长时间夯实,LiveQing.com 已经形成了,一条完整的音视频数据传输链路. 在安防领域,其主要特点是设 ...

  8. 通用安防摄像机通过RTSP/Onvif转RTMP/m3u8推流进行H5(RTMP/HLS)直播的方案

    随着互联网的发展,尤其是移动互联网的普及,基于H5.微信的应用越来越多,企业也更多地想基于H5.微信公众号来快速开发和运营自己的视频及视频相关性产品,那么传统的安防IPC摄像机所输出的各种RTSP.O ...

  9. 大华的支持rtmp推流吗_RTSP安防摄像机(海康大华宇视等)如何推送到RTMP流媒体服务器进行直播...

    方案介绍 目前互联网直播的CDN和标准RTMP流媒体服务器通常只能接收RTMP格式的音视频推流.目前市场上有一些自带RTMP推流的摄像机和编码器,可以直接在其rtmp推流配置里面配置推送到RTMP流媒 ...

最新文章

  1. 公务员_只愿与一人十指紧扣_新浪博客
  2. 4.二叉树的先序、中序以及后序遍历的递归写法与非递归写法(LeetCode第94、144、145题)
  3. 4G 信令中的 PCO 字段
  4. Mysql count() 语句
  5. (转)使用tar和split打包分割文件
  6. 米斯特白帽培训讲义 实战篇 WordPress
  7. 模电里的时变信号直流信号交流信号字母大小写的规定
  8. 技术揭秘 | 如何设计 RQData 通讯协议
  9. cve20190708补丁的kb名称_kb4499175补丁下载
  10. java简单计算器课程设计_简单计算器JAVA课程设计
  11. ObjectC基础之函数调用
  12. stm32 bootloader启动正常,APP程序会在时钟配置出错原因分析
  13. es7 如何从项目resource读取index的mapping、setting.json文件
  14. asp毕业设计—— 基于asp+access的网上聊天室设计与实现(毕业论文+程序源码)——网上聊天室
  15. java 对PDF文件进行密码加密
  16. 实验一 验证删除快照时VMware会改变父快照或基础磁盘
  17. 电脑主要硬件解读与选购建议
  18. WooCommerce REST API的初学者指南
  19. 经济金融经典书籍推荐(中文版)——转自豆瓣
  20. linux大磁盘管理工具有哪些,Linux中常见的磁盘管理工具有哪些

热门文章

  1. plc开关量输入输出模块的选择
  2. 107、七氟丙烷灭火系统的灭火设计浓度
  3. 结构体中元素引用—— “.“ 与 “->“
  4. 一位网友的网络求职经历
  5. R语言:从 csv 文件中读取数据,然后将数据写入 csv 文件
  6. 【AI入门学习方法】
  7. stm32 led屏控制卡_如何实现LED双面透明显示屏,双面LED透明屏
  8. 由OJ提交结果联想到内存页面大小的一些小猜想
  9. 华为OD机试 - 喊7的次数重排(Java JS Python)
  10. 开发框架文档体系化的思考