每台豆二的方仓部署摄像头,通过远端部署easynvr服务,云平台部署easynvs来实现所有方仓的集中监控直播
要求摄像头支持ONVIF和RTSP协议
如果设备是各种厂家都有,而且不固定,建议采用的是RTSP这种国际标准的取流方式
@注: IPC 网络摄像机
EasyNVR介绍
EasyNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发。
EasyNVS介绍
EasyNVS云管理平台是一套专门用于集中化管理EasyNVR 的解决方案. EasyNVR 采用主动注册的方式接入到 EasyNVS, 再由 EasyNVS 云管理平台进行统一的视频能力输出, 并配套提供一整套的云端设备可视化运维功能, 方便于用户进行云端的视频大数据处理
RTSP视频流到RTMP/HLS的转码,并提供了一套api和一个可视化管理平台来便于调用。同时支持ONVIF协议进行云台控制
用easyNVR必须要有RTSP协议的支持!想通过云台控制必须有ONVIF的支持!
EasyNVR的部署很方便,无论是windows还是linux,非常绿色,解压完后直接运行就可以,根目录下的easynvr.ini也提供了非常清晰的配置项。
包括通过RTSP协议接入摄像机、支持Onvif协议,支持云台控制;焦距缩放、全平台(web/Android/iOS/微信/H5)观看;支持RTMP、HLS、http-flv协议、支持CDN接入;直接在每一个通道配置填写独立的阿里云/腾讯云CDN的RTMP推流地址即可;支持全网页配置管理;支持用户管理,权限验证;支持录像点播、录像计划、时间录像检索播放。且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发
RTSP错误码
401: 未被授权,密码错误
404: 未发现设备
Socket错误码
10057: socket没有连接到目标
11004: 请求的类型的名字或数据错误
先从EasyNVR智能云终端(以前称之为EasyNVR无插件直播服务器、EasyNVR流媒体服务器等)的应用场景说起,在使用EasyNVR接入监控现场的IPC网络摄像机或者NVR网络硬盘录像机。
如果想要做公网的观看和直播会遇到几个需求痛点问题:
IPC和NVR所在的现场是有公网固定IP的,将EasyNVR部署在云端直接可以通过公网RTSP地址是可以直接接入摄像机的,但是对大部分企业来说,固定IP的这个成本太高了,不值得。
规模较小,如果是一两个EasyNVR直播现场需要固定IP,成本还算基本可控;但是一旦现场较多,带宽成本和管理成本就会较高,如果能够 现场无需固定IP + 云端直接配置管理和直播,那对于系统的管理者来说,将会省去很多运营成本和运维成本。
对于开发者这一面,当企业部署超过多套的EasyNVR时,EasyNVR作为能力平台被开发者调用接入时,多个现场的EasyNVR信息归档、接口调用、视频能力调用,开发者都要自行维护现场列表、设备列表数据库,这将会增加开发者的开发周期和难度,如果能够将多个现场的EasyNVR都统一到一套EasyNVS管理平台来进行能力输出,对于开发者集成,也将是一道福音。
比较于云端带宽资源,非固定IP和固定IP的带宽,上行输出带宽都太少了,完全不能够满足安防互联网化直播的多路分发需求,如果有一个平台,能够做到现场EasyNVR一个通道的直播流只需要一路上行,即可在云端进行多客户端的复用,充分利用云端的带宽能力做视频分发,那将会是对安防设备互联网化直播能力的一次巨大提升。
有了EasyNVS,可以通过一套平台在云端就能进行一站式的集中管控,极大地节省了运维的成本!
官网下载链接
下载安装包并解压
cd /server/tools/
wget https://easynvr-1257312146.cos.ap-shanghai.myqcloud.com/EasyNVR/EasyNVR-linux-3.3.5-1910280228.tar.gz
tar xf EasyNVR-linux-3.3.5-1910280228.tar.gz -C /opt/EasyNVR
端口配置
EasyNVR配置web端口:10810(easynvr.ini中配置port)
nginx web端口:10800(nvrnginx/easydss.conf中http listen配置)
nginx rtmp端口:10935(nvrnginx/easydss.conf中rtmp listen配置)
[root@nvr opt]# cat EasyNVR/easynvr.ini
[base_config]
port=10810 #NVR web端口
; token 超时时间(秒)
token_timeout=604800
; 直播页面鉴权, 即是否要求登录后观看视频(0-关闭, 1-开启)
live_streaming_auth=0
; 接口返回流地址类型(0-RTMP优先输出, 1-强制HLS输出)
flash_stream_type=0
; 快照抓取时钟周期(分)
channel_snap_interval=1
; 快照抓取超时时间(秒)
channel_snap_timeout=10
; 通道重连时钟周期(秒)
channel_connect_interval=30
; 通道列表内部遍历时钟周期(秒)
channel_loop_interval=10
; 播放保活超时时间(秒)
channel_touch_timeout=60
; ONVIF 发现内部时钟周期(秒)
onvif_discover_interval=30
; 通道启动间隔时间(毫秒)
channel_delay_ms=100
; 清理录像时钟周期(秒)
channel_clean_record_interval=60
; 是否需要接口鉴权(0-关闭, 1-开启)
api_auth=1
; 是否需要开启智能分析(0-关闭, 1-开启)
ai_filter=0
; 直播鉴权第三方回调地址, HTTP GET
; 请求参数: 除透传流地址参数外, 固定参数: app, call, name
; 响应: 200 - 鉴权通过, 其它 - 鉴权不通过
; 比如: http://demo.easynvr.com:10800/api/v1/check/stream/auth
stream_auth_url=
[https]
; 可选配置开启 HTTPS 服务
port=
ssl_cert_file=
ssl_key_file=
[root@nvr EasyNVR]# cat nginx/conf/easydss.conf |grep listen
listen 10935; #rtmp
listen 10800; #web
使用软件
执行软件根目录下的脚本 start.sh 停止软件执行stop.sh
访问EasyNVR
端口默认为10810(http://ip:10810)
api接口文档:http://ip:10810/apidoc
默认用户名/密码为 easynvr/easynvr
进行通道设置连接摄像头
输入接入摄像机的IP地址、端口、RTSP地址、用户名、密码、按需直播等选项,支持Onvif控
制的可以填入Onvif地址,配置完成后点击确定。
如果摄像机接入RTSP地址选项中可以配置账号和密码的尽量在这个url里面配置好账号和密码,地址格式正确
就可以正常访问。而在配置项里面给出的摄像机用户名和摄像机密码选项是为了兼容有些url里面不能带有用户名和密码。两个并不冲突。
RTSP协议规则配置
各个摄像机/NVR厂家的RTSP规则不一样,我们列举几个常用的厂家的设备RTSP规则:
TP-Link摄像头:rtsp://username:password@ip:port/stream1(2)
@注:stream1是主码流 stream是子码流
探测ONVIF IP
录像保留设置
通道配置设置完成
视频广场查看
手机APP的EasyNVR进行观看
下载安装包
cd /server/tools/
wget https://easynvr-1257312146.cos.ap-shanghai.myqcloud.com/EasyNVS/EasyNVS-linux-2.0.0-1907011734.tar.gz
端口使用
TCP 端口 : 10811(HTTP), 10812(接入认证端口)
[root@lcx-01 EasyNVS]# vim easynvs.ini
[http]
port=10811
; token 超时时间(秒)
token_timeout=604800
[https]
; 可选配置开启 HTTPS 服务
port=
ssl_cert_file=
ssl_key_file=
[nvs]
port=10812
; 设备统一接入密码
device_password=<passwd>
执行软件根目录下的脚本 start.sh 停止软件执行stop.sh
进行访问:
web页面:http://ip:10811
api接口:http://ip:10811/apidoc
账号密码默认admin/admin
配置 EasyNVR 接入
接入成功后, 即可在 EasyNVS 主界面设备下拉列表中看到接入的 EasyNVR
ONVIF Device Test Tool测试工具使用方法