LiveNVR- Onvif/RTSP流媒体服务接入摄像头web直播使用说明书

本文主要是介绍LiveNVR- Onvif/RTSP流媒体服务接入摄像头web直播使用说明书,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

LiveNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IPCamera、NVR等具有RTSP/Onvif协议输出的设备接入到LiveNVR,LiveNVR能够将这些设备源的音/视频数据进行采集、转换、输出,进行全平台终端直播(PC、Android、iOS、微信、H5),并且LiveNVR能够将视频源的直播数据对接到第三方CDN网络,实现安防设备互联网级别的直播分发。

功能

1. 通过RTSP协议接入摄像机

2. 支持Onvif协议,支持云台控制,焦距缩放

3. 全平台(web/Android/iOS/微信/H5)观看,支持RTMP、HLS协议

4. 支持CDN接入,直接在每一个通道配置填写独立的阿里云/腾讯云CDN的RTMP推流地址即可

5. 支持全网页配置管理

6. 支持用户管理,权限验证

7. 支持录像点播、录像计划、时间录像检索播放

硬件推荐配置

端口配置

LiveNVR配置web端口:10800(LiveNVR.ini中配置port)

nginx web端口:10800(nvrnginx/liveqing.conf中http listen配置)

nginx rtmp端口:10935(nvrnginx/liveqing.conf中rtmp listen配置)

使用

下载LiveNVR服务器版本,解压软件

Windows版本运行LiveNVR.exe可执行程序(关闭控制台按 Ctrl+C)

LiveNVR同样支持以服务方式运行,随机启动,运行Windows服务安装脚本即可:

在这里插入图片描述

Linux版本执行软件根目录脚本start.sh,停止软件执行stop.sh

注意:这里有个坑经常会遇到,就是不能使用中文路径,因为nginx不支持中文路径运行!!!

在这里插入图片描述

运行成功:

在这里插入图片描述

在浏览器中访问LiveNVR部署的机器地址,端口默认为10800(http://ip:10800),跳转到登陆页面,默认用户名/密码为admin/admin

在这里插入图片描述

登陆后进入主页,这时视频广场是空的,因为还没有进行通道配置

在这里插入图片描述

点击通道配置进入通道配置页,可以选择需要配置的通道右上角的设置按钮

在这里插入图片描述

弹出配置页,并输入接入摄像机的IP地址、端口、RTSP地址、用户名、密码、按需直播等选项,支持Onvif控制的可以填入Onvif地址,配置完成后点击确定。

如果摄像机接入RTSP地址选项中可以配置账号和密码的尽量在这个url里面配置好账号和密码,地址格式正确就可以正常访问。而在配置项里面给出的摄像机用户名和摄像机密码选项是为了兼容有些url里面不能带有用户名和密码。两个并不冲突。

各个摄像机/NVR厂家的RTSP规则不一样,我们列举几个常用的厂家的设备RTSP规则:

  • 海康海康DS NVR播放URL规则

    在这里插入图片描述

    在这里插入图片描述
  • 大华摄像机URL规则:

rtsp://username:password@ip:port/cam/realmonitor?channel=1&subtype=0

说明:

username: 用户名。例如admin。

password: 密码。例如admin。

ip: 为设备IP。例如 10.7.8.122。

port: 端口号默认为554,若为默认可不填写。

channel: 通道号,起始为1。例如通道2,则为channel=2。

subtype: 码流类型,主码流为0(即subtype=0),辅码流为1(即subtype=1)。

例如,请求某设备的通道2的辅码流,Url如下

rtsp://admin:admin@10.12.4.84:554/cam/realmonitor?channel=2&subtype=1

可以使用VLC进行试播:

在这里插入图片描述

视频编码格式必须为H264

在这里插入图片描述

在这里插入图片描述

其中,需要特别提到“按需直播”选项,勾选按需直播选项就表示,有人通过LiveNVR观看的时候,LiveNVR才会向源端拉取直播音视频数据进行直播分发,没人看的时候,就会自动停止从设备拉流以节省网络资源,本选项默认为否,不按需直播的情况下,手机客户端、微信客户端会有一个比较好的体验;

LiveNVR支持Onvif发现以及探测,在配置时选择Onvif,勾选Onvif探测,点击探测IP输入框时,会出现发现的Onvif摄像机,选中要配置的摄像机

在这里插入图片描述

通过官方工具校验onvif是否探测出结果

我们可以通过“ONVIF Device Test Tool工具” 来自主排查探测不出结果是的原因否在于LiveNVR;

ONVIF Device Test Tool 使用;

1.打开该软件,选择本机的IP为192.168.1.130(自动显示),点击Discover Devices按钮后,将支持Onvif协议的同一个局域网内的前端设备搜索的地址搜索出来,显示在下方,右上方为获取的每个设备的相应信息。

在这里插入图片描述

2.选择其中一台设备测试,点击check按钮,读取响应的IPC信息,如下方所示。

在这里插入图片描述

3.点击Get按钮,可以读取IPC的视频流信息,见右边的大框里。

在这里插入图片描述

#####备注:如果该工具可以顺利完成上述步骤探测出结果,LiveNVR依然探测不出结果,请联系技术人员#####

输入Onvif登陆用户名密码,点击探测,会将探测到的摄像机参数填充进配置窗口

在这里插入图片描述

对于有音频需求的可以通过勾选“开启音频”来进行设置:默认没有音频,有需要,勾选上并保存配置即可

在这里插入图片描述

配置完成后,将需要启用的摄像机设置成启用(也可以通过配置页面来通道启用)

在这里插入图片描述

点击视频广场页面,刚才配置的摄像机就会出现在列表中

在这里插入图片描述

点击即可观看实时视频

在这里插入图片描述

如果是Onvif类型接入的摄像机,同时摄像机也支持云台控制,则可以在网页页面上进行云台控制焦距缩放等调用:

在这里插入图片描述

为啥我的页面上没有这个控制按钮:因为在这个摄像机通道配置中,摄像机接入类型必须是 Onvif 类型,摄像机才能有控制功能,前端页面的按钮才会显示出来;

对于有录像需求的用户,4.0版本LiveNVR在之前版本录像的基础上进一步完善了录像功能,新增了录像计划功能。具体操作方式:

通道配置页面拥有录像开启和保存时间配置选项,根据自身计划选择对应录像时间

在这里插入图片描述

拥有便捷的录像查看界面

在这里插入图片描述

拥有时间轴和录像列表两种回看模式同时支持对应的录像文件下载

在这里插入图片描述

在这里插入图片描述

参数配置

本地配置页面用于配置LiveNVR运行参数,包括RTMP端口、快照时间间隔、播放页面是否需要用户权限验证等

在这里插入图片描述

注意:这里的配置尽量不要改动,例如RTMP端口,改动了LiveNVR还需要改动nginx目录中的conf/liveqing.conf配置文件,变动RTMP分发的端口才行

客户端观看

LiveNVR独立运行

通过端口映射方式,将LiveNVR服务对外需要的10800和10935两个端口通过路由器进行端口映射到公网,再通过公网地址进行访问就可以了;

高级配置(仅限开发运维人员使用)

注:本节描述内容仅限专业开发人员,请勿随意配置!

  • LiveNVR提供一套完备接口供开发者调用,接口文档查看方式:浏览器访问 IP:10800/apidoc;

  • 通常情况下LiveNVR前端自动适配了PC Web采用了低延时的RTMP直播协议播放,其他平台采用的都是H5标准的HLS直播协议的,如果在PC上也需要采用纯H5无插件播放的方式,我们可以修改LiveNVR.ini中的flash_stream_type字段为 1 来限定直播协议为HLS:

    flash_stream_type=0

授权方式

###试用版本###

该版本无需任何费用,可直接运行即可使用,如果授权剩余时间到期,www.liveqing.com 官网下载最新试用版本;

###硬件狗授权###

选择硬件狗授权:我们会提供一个插在USB接口上的一个小硬件,通过该硬件插在LiveNVR部署的机器上,该机器取得永久使用授权,硬件狗拔取,取消对该机器授权,适合私有内部网络使用;

###软件狗授权###
选择软件狗授权:

1.在我们提供的试用版LiveNVR页面中选择“版本信息”,

2.将该页面中的机器码信息发送至邮箱“support@liveqing.com”,申请永久授权激活码,

3.将申请到的激活码在“版本信息”页面进行提交,及可获得使用永久授权(重启LiveNVR生效)。

在这里插入图片描述

FAQ

1、LiveNVR的并发性能怎么样?

LiveNVR摄像机接入采用的是liveqing的底层框架,流媒体分发采用的是nginx,性能都是得到过行业巨头的认可,非常可靠!

2、LiveNVR如何做分组?

LiveNVR的功能定位就是为视频应用层输出视频设备接入/标准视频输出的能力平台层,只做基础的视频通道接入、视频通道输出,不做分组及分组权限功能,具体的应用业务权限划分,可以在客户的应用系统做自定义的定制,LiveNVR视频能力层只做视频的能力输出!

3、苹果手机上开始播放好慢,经常播放不成功?

由于HLS协议就是一种先切片-后播放的原则,也就是需要切片好大概3个ts文件的时候,苹果端播放器才开始进行播放动作,假设单个切片最小设置成2s,那么这个切片过程+下载过程的总时长将会大于6s,这就导致很多播放器等待时间过长,进而播放成功率不高,建议可以设置每一个摄像机通道的 “按需直播” 不勾选,这样就能保证通道一直在切片,播放起播也就很快了!

4、时常出现“FLASH:rtmpconnectfailure”问题,原因是什么?

出现的原因是rtmp流连接失败。

解决方法:看看访问的rtmp的端口(默认10935)是否映射出来;

软件包不要存放在中文文件夹路径下;

以及nvrnginx是否被一些保护软件隔离或者误杀。

5、集成视频流直播,几分钟就会出现中断问题

由于LiveNVR自身默认开启的是按需直播(有用户观看该路视频流才会拉取对应视频流进行直播),因此我们在视频播放过程中需要定期向服务端发送视频播放心跳,以此来保证服务端不间断拉流。在播放过程中30秒调用一次touchchannelstream接口,就可以保持视频流不间断直播(具体接口参数见接口文档)

6、关于集成直播页面

首先LiveNVR自身直播页面提供iframe集成相关代码,
其次我们也支持通过直接调用分享地址传递参数集成,传递对应参数获取对应功能iframe:是否以iframe形式嵌入,支持传递参数yes、no;
autoplay:是否开启自动直播,支持传递参数yes、no;
stretch:是否开启自动直播,支持传递参数yes、no;
aspect:播放器的比例,传递形式x:y,默认16:9

例: ip:port/play.html?channel=id&iframe=yes&aspect=4:3&autoplay=yes&stretch=yes

7、调用接口返回: 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”

8、视频广场返回错误码

为方便查看信息,LiveNVR视频广场会将不在线的设备错误信息反馈出来。

常见返回错误码对应信息为:

返回的多为Socket错误码和rtsp错误码

RTSP错误码

401: 未被授权,密码错误

404: 未发现设备

Socket错误码

10057: socket没有连接到目标

11004: 请求的类型的名字或数据错误

 

这篇关于LiveNVR- Onvif/RTSP流媒体服务接入摄像头web直播使用说明书的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/666872

相关文章

详解Vue如何使用xlsx库导出Excel文件

《详解Vue如何使用xlsx库导出Excel文件》第三方库xlsx提供了强大的功能来处理Excel文件,它可以简化导出Excel文件这个过程,本文将为大家详细介绍一下它的具体使用,需要的小伙伴可以了解... 目录1. 安装依赖2. 创建vue组件3. 解释代码在Vue.js项目中导出Excel文件,使用第三

Linux alias的三种使用场景方式

《Linuxalias的三种使用场景方式》文章介绍了Linux中`alias`命令的三种使用场景:临时别名、用户级别别名和系统级别别名,临时别名仅在当前终端有效,用户级别别名在当前用户下所有终端有效... 目录linux alias三种使用场景一次性适用于当前用户全局生效,所有用户都可调用删除总结Linux

java图像识别工具类(ImageRecognitionUtils)使用实例详解

《java图像识别工具类(ImageRecognitionUtils)使用实例详解》:本文主要介绍如何在Java中使用OpenCV进行图像识别,包括图像加载、预处理、分类、人脸检测和特征提取等步骤... 目录前言1. 图像识别的背景与作用2. 设计目标3. 项目依赖4. 设计与实现 ImageRecogni

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

关于@MapperScan和@ComponentScan的使用问题

《关于@MapperScan和@ComponentScan的使用问题》文章介绍了在使用`@MapperScan`和`@ComponentScan`时可能会遇到的包扫描冲突问题,并提供了解决方法,同时,... 目录@MapperScan和@ComponentScan的使用问题报错如下原因解决办法课外拓展总结@

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存