一希柿、項(xiàng)目需求
每臺(tái)豆二的方倉部署攝像頭拓瞪,通過遠(yuǎn)端部署easynvr服務(wù),云平臺(tái)部署easynvs來實(shí)現(xiàn)所有方倉的集中監(jiān)控直播
要求攝像頭支持ONVIF和RTSP協(xié)議
如果設(shè)備是各種廠家都有,而且不固定负乡,建議采用的是RTSP這種國際標(biāo)準(zhǔn)的取流方式
@注: IPC 網(wǎng)絡(luò)攝像機(jī)
EasyNVR介紹
EasyNVR能夠通過簡單的網(wǎng)絡(luò)攝像機(jī)通道配置榜田,將傳統(tǒng)監(jiān)控行業(yè)里面的高清網(wǎng)絡(luò)攝像機(jī)IP Camera益兄、NVR等具有RTSP協(xié)議輸出的設(shè)備接入到EasyNVR,EasyNVR能夠?qū)⑦@些視頻源的音視頻數(shù)據(jù)進(jìn)行拉取箭券,轉(zhuǎn)換為RTMP/HLS净捅,進(jìn)行全平臺(tái)終端H5直播(Web、Android辩块、iOS)蛔六,并且EasyNVR能夠?qū)⒁曨l源的直播數(shù)據(jù)對(duì)接到第三方CDN網(wǎng)絡(luò),實(shí)現(xiàn)互聯(lián)網(wǎng)級(jí)別的直播分發(fā)废亭。
EasyNVS介紹
EasyNVS云管理平臺(tái)是一套專門用于集中化管理EasyNVR 的解決方案. EasyNVR 采用主動(dòng)注冊的方式接入到 EasyNVS, 再由 EasyNVS 云管理平臺(tái)進(jìn)行統(tǒng)一的視頻能力輸出, 并配套提供一整套的云端設(shè)備可視化運(yùn)維功能, 方便于用戶進(jìn)行云端的視頻大數(shù)據(jù)處理
二国章、EasyNVR
1.EasyNVR的優(yōu)點(diǎn)
RTSP視頻流到RTMP/HLS的轉(zhuǎn)碼,并提供了一套api和一個(gè)可視化管理平臺(tái)來便于調(diào)用豆村。同時(shí)支持ONVIF協(xié)議進(jìn)行云臺(tái)控制
用easyNVR必須要有RTSP協(xié)議的支持液兽!想通過云臺(tái)控制必須有ONVIF的支持!
EasyNVR的部署很方便掌动,無論是windows還是linux四啰,非常綠色,解壓完后直接運(yùn)行就可以坏匪,根目錄下的easynvr.ini也提供了非常清晰的配置項(xiàng)拟逮。
2.EasyNVR的缺點(diǎn)
- 價(jià)格略貴,不開源适滓,目前永久使用版本需要經(jīng)過授權(quán)才能商業(yè)使用
- 網(wǎng)上的相關(guān)技術(shù)支持文檔不全面
3. EasyNVR要面臨的問題
- 成本問題:在無固定公網(wǎng)IP的監(jiān)控現(xiàn)場敦迄,當(dāng)需要將NVR接入到公網(wǎng)進(jìn)行直播的時(shí)候,必須在監(jiān)控現(xiàn)場安裝部署EasyNVR凭迹,由EasyNVR進(jìn)行音視頻數(shù)據(jù)的橋接罚屋,對(duì)接到公網(wǎng)進(jìn)行各種直播、錄像嗅绸、檢索與回放操作脾猛,但是這樣,會(huì)增加接入成本鱼鸠,每一個(gè)現(xiàn)場都需要增加一臺(tái)設(shè)備猛拴;
- 條件限制:由于很多現(xiàn)場是比較偏遠(yuǎn)的羹铅、或者臨時(shí)的,這些情況下的IPC可能都是采用4G或者其他簡單的方式搭建的愉昆,無法再承載一臺(tái)EasyNVR云終端進(jìn)行對(duì)接轉(zhuǎn)發(fā)职员,只能由IPC自己對(duì)接到平臺(tái);
- 接入通用性:當(dāng)我們需要從現(xiàn)場的各種IPC跛溉、NVR取錄像的時(shí)候焊切,如果涉及到各種廠家,而且各種不同的版本芳室,我們無法通過各個(gè)廠家的SDK一個(gè)一個(gè)接入专肪,這樣開發(fā)成本和穩(wěn)定的周期會(huì)很長,而且一旦涉及SDK直接對(duì)接設(shè)備堪侯,不可避免可能就會(huì)需要EasyNVR云終端部署在現(xiàn)場的情況嚎尤,所以,如果有條件抖格,IPC/NVR直接將錄像數(shù)據(jù)對(duì)接到平臺(tái)端是最合適的方案诺苹。
- 中斷問題:集成視頻流直播咕晋,幾分鐘就會(huì)出現(xiàn)中斷問題雹拄,由于EasyNVR自身默認(rèn)開啟的是按需直播(有用戶觀看該路視頻流才會(huì)拉取對(duì)應(yīng)視頻流進(jìn)行直播),因此我們在視頻播放過程中需要定期向服務(wù)端發(fā)送視頻播放心跳掌呜,以此來保證服務(wù)端不間斷拉流滓玖。在播放過程中30秒調(diào)用一次touchchannelstream接口,就可以保持視頻流不間斷直播(具體接口參數(shù)見接口文檔)
4. EasyNVR無法解決的方案
- 國標(biāo)GB28181協(xié)議采用的是主動(dòng)注冊的方式對(duì)接到平臺(tái)质蕉,菏拼郏康、大華模暗、宇視的設(shè)備都共有的屬性就是國標(biāo)GB/T28181禁悠;
- 主動(dòng)注冊的方式完美地解決了設(shè)備網(wǎng)絡(luò)無固定IP的問題,只要平臺(tái)地址固定兑宇,設(shè)備就可以找到平臺(tái)碍侦,并對(duì)接進(jìn)來;
- 國標(biāo)GB28181完整定義了整個(gè)安防過程需要的直播隶糕、錄像瓷产、云臺(tái)控制、報(bào)警等全部過程枚驻,那么也就是說濒旦,這些過程咱們無需再一個(gè)廠家一個(gè)廠家地對(duì)接SDK了,直接按照一套協(xié)議進(jìn)行開發(fā)平臺(tái)再登,就可以接入所有廠家的設(shè)備了尔邓;
- EasyGBS國標(biāo)流媒體解決方案是由EasyDSS團(tuán)隊(duì)研發(fā)的一款專門用于接入國標(biāo)設(shè)備的視頻解決方案晾剖,不但從設(shè)備接入層面上,完整地接入了內(nèi)網(wǎng)或者公網(wǎng)的國標(biāo)設(shè)備梯嗽,而且在輸出層面上钞瀑,完全采用了最新的互聯(lián)網(wǎng)思維方式,國標(biāo)IPC/NVR能通過平臺(tái)同步輸出RTMP/HLS/HTTP-FLV多種視頻流格式慷荔,非常好地解決了傳統(tǒng)安防與互聯(lián)網(wǎng)之間的銜接雕什。
5. EasyNVR主要功能
包括通過RTSP協(xié)議接入攝像機(jī)、支持Onvif協(xié)議显晶,支持云臺(tái)控制贷岸;焦距縮放、全平臺(tái)(web/Android/iOS/微信/H5)觀看磷雇;支持RTMP偿警、HLS、http-flv協(xié)議唯笙、支持CDN接入螟蒸;直接在每一個(gè)通道配置填寫?yīng)毩⒌陌⒗镌?騰訊云CDN的RTMP推流地址即可;支持全網(wǎng)頁配置管理崩掘;支持用戶管理七嫌,權(quán)限驗(yàn)證;支持錄像點(diǎn)播苞慢、錄像計(jì)劃诵原、時(shí)間錄像檢索播放。且EasyNVR能夠?qū)⒁曨l源的直播數(shù)據(jù)對(duì)接到第三方CDN網(wǎng)絡(luò)挽放,實(shí)現(xiàn)互聯(lián)網(wǎng)級(jí)別的直播分發(fā)</font>
6. EasyNVR錯(cuò)誤碼解釋
RTSP錯(cuò)誤碼
401: 未被授權(quán)绍赛,密碼錯(cuò)誤
404: 未發(fā)現(xiàn)設(shè)備
Socket錯(cuò)誤碼
10057: socket沒有連接到目標(biāo)
11004: 請求的類型的名字或數(shù)據(jù)錯(cuò)誤
三、EasyNVS
1. EasyNVS的優(yōu)點(diǎn)
- 主動(dòng)注冊:每個(gè)EasyNVR現(xiàn)場無需固定IP辑畦,即可實(shí)現(xiàn)公網(wǎng)對(duì)所有設(shè)備的綜合管理
- 統(tǒng)一接口:統(tǒng)一管理吗蚌、統(tǒng)一輸出,屏蔽各種類型的設(shè)備纯出,各種網(wǎng)絡(luò)條件的因素導(dǎo)致的接入問題
- 云端復(fù)用:云端分發(fā)蚯妇、H5快速起播,解決EasyNVR現(xiàn)場帶寬有限潦刃、HLS類起播較慢的問題
2. EasyNVR失控
- 監(jiān)控現(xiàn)場增加或者減少一個(gè)直播攝像頭侮措,或者有攝像頭無法直播需要排查問題,我們都需要安排人員去現(xiàn)場進(jìn)行運(yùn)維支撐乖杠,還有一種情況分扎,可能運(yùn)營者需要定期做各個(gè)IPC設(shè)備的巡檢,統(tǒng)計(jì)設(shè)備在線率和故障率胧洒,應(yīng)該如何能夠快速達(dá)到我們想要的結(jié)果畏吓。
3.為什么用EasyNVS管理平臺(tái)
先從EasyNVR智能云終端(以前稱之為EasyNVR無插件直播服務(wù)器墨状、EasyNVR流媒體服務(wù)器等)的應(yīng)用場景說起,在使用EasyNVR接入監(jiān)控現(xiàn)場的IPC網(wǎng)絡(luò)攝像機(jī)或者NVR網(wǎng)絡(luò)硬盤錄像機(jī)菲饼。
如果想要做公網(wǎng)的觀看和直播會(huì)遇到幾個(gè)需求痛點(diǎn)問題:
- IPC和NVR所在的現(xiàn)場是有公網(wǎng)固定IP的,將EasyNVR部署在云端直接可以通過公網(wǎng)RTSP地址是可以直接接入攝像機(jī)的肾砂,但是對(duì)大部分企業(yè)來說,固定IP的這個(gè)成本太高了宏悦,不值得镐确。
- 規(guī)模較小,如果是一兩個(gè)EasyNVR直播現(xiàn)場需要固定IP饼煞,成本還算基本可控源葫;但是一旦現(xiàn)場較多,帶寬成本和管理成本就會(huì)較高砖瞧,如果能夠 現(xiàn)場無需固定IP + 云端直接配置管理和直播息堂,那對(duì)于系統(tǒng)的管理者來說,將會(huì)省去很多運(yùn)營成本和運(yùn)維成本块促。
- 對(duì)于開發(fā)者這一面荣堰,當(dāng)企業(yè)部署超過多套的EasyNVR時(shí),EasyNVR作為能力平臺(tái)被開發(fā)者調(diào)用接入時(shí)竭翠,多個(gè)現(xiàn)場的EasyNVR信息歸檔振坚、接口調(diào)用、視頻能力調(diào)用逃片,開發(fā)者都要自行維護(hù)現(xiàn)場列表屡拨、設(shè)備列表數(shù)據(jù)庫,這將會(huì)增加開發(fā)者的開發(fā)周期和難度褥实,如果能夠將多個(gè)現(xiàn)場的EasyNVR都統(tǒng)一到一套EasyNVS管理平臺(tái)來進(jìn)行能力輸出,對(duì)于開發(fā)者集成裂允,也將是一道福音损离。
- 比較于云端帶寬資源,非固定IP和固定IP的帶寬绝编,上行輸出帶寬都太少了僻澎,完全不能夠滿足安防互聯(lián)網(wǎng)化直播的多路分發(fā)需求,如果有一個(gè)平臺(tái)十饥,能夠做到現(xiàn)場EasyNVR一個(gè)通道的直播流只需要一路上行窟勃,即可在云端進(jìn)行多客戶端的復(fù)用,充分利用云端的帶寬能力做視頻分發(fā)逗堵,那將會(huì)是對(duì)安防設(shè)備互聯(lián)網(wǎng)化直播能力的一次巨大提升秉氧。
4. EasyNVS管理平臺(tái)使用方式
- EasyNVS管理平臺(tái)就是專門用來跟EasyNVR智能云終端做配合的;
- EasyNVR能通過主動(dòng)注冊的方式注冊到EasyNVS管理平臺(tái)蜒秤,屏蔽了各種網(wǎng)絡(luò)環(huán)境問題汁咏,無論是有線亚斋、WIFI、4G攘滩、專網(wǎng)帅刊,只要有通道口子能讓EasyNVR訪問到EasyNVS管理平臺(tái),即可實(shí)現(xiàn)平臺(tái)對(duì)接漂问;
- EasyNVS管理平臺(tái)能獲取到EasyNVR的所有能力赖瞒,并進(jìn)行互聯(lián)網(wǎng)化輸出,同時(shí)進(jìn)行統(tǒng)一化的管理和接口輸出蚤假;
- EasyNVS管理平臺(tái)自帶流媒體分發(fā)功能冒黑,同一個(gè)EasyNVR設(shè)備的同一個(gè)通道流,只需要一路流上行到EasyNVS即可在EasyNVS管理平臺(tái)端進(jìn)行多路分發(fā)勤哗;
- EasyNVS管理平臺(tái)帶有在線統(tǒng)計(jì)和分析功能抡爹,能實(shí)時(shí)輸出EasyNVS所有接入的EasyNVR設(shè)備、通道的在線率芒划,流量占用以及硬件使用等綜合信息冬竟!
有了EasyNVS,可以通過一套平臺(tái)在云端就能進(jìn)行一站式的集中管控民逼,極大地節(jié)省了運(yùn)維的成本泵殴!
四、部署安裝
-
硬件推薦配置
1. EasyNVR
下載安裝包并解壓
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 超時(shí)時(shí)間(秒)
token_timeout=604800
; 直播頁面鑒權(quán), 即是否要求登錄后觀看視頻(0-關(guān)閉, 1-開啟)
live_streaming_auth=0
; 接口返回流地址類型(0-RTMP優(yōu)先輸出, 1-強(qiáng)制HLS輸出)
flash_stream_type=0
; 快照抓取時(shí)鐘周期(分)
channel_snap_interval=1
; 快照抓取超時(shí)時(shí)間(秒)
channel_snap_timeout=10
; 通道重連時(shí)鐘周期(秒)
channel_connect_interval=30
; 通道列表內(nèi)部遍歷時(shí)鐘周期(秒)
channel_loop_interval=10
; 播放逼床裕活超時(shí)時(shí)間(秒)
channel_touch_timeout=60
; ONVIF 發(fā)現(xiàn)內(nèi)部時(shí)鐘周期(秒)
onvif_discover_interval=30
; 通道啟動(dòng)間隔時(shí)間(毫秒)
channel_delay_ms=100
; 清理錄像時(shí)鐘周期(秒)
channel_clean_record_interval=60
; 是否需要接口鑒權(quán)(0-關(guān)閉, 1-開啟)
api_auth=1
; 是否需要開啟智能分析(0-關(guān)閉, 1-開啟)
ai_filter=0
; 直播鑒權(quán)第三方回調(diào)地址, HTTP GET
; 請求參數(shù): 除透傳流地址參數(shù)外, 固定參數(shù): app, call, name
; 響應(yīng): 200 - 鑒權(quán)通過, 其它 - 鑒權(quán)不通過
; 比如: http://demo.easynvr.com:10800/api/v1/check/stream/auth
stream_auth_url=
[https]
; 可選配置開啟 HTTPS 服務(wù)
port=
ssl_cert_file=
ssl_key_file=
[root@nvr EasyNVR]# cat nginx/conf/easydss.conf |grep listen
listen 10935; #rtmp
listen 10800; #web
使用軟件
執(zhí)行軟件根目錄下的腳本 start.sh 停止軟件執(zhí)行stop.sh
訪問EasyNVR
端口默認(rèn)為10810(http://ip:10810)
api接口文檔:http://ip:10810/apidoc
默認(rèn)用戶名/密碼為 easynvr/easynvr
進(jìn)行通道設(shè)置連接攝像頭
輸入接入攝像機(jī)的IP地址笑诅、端口、RTSP地址疮鲫、用戶名吆你、密碼、按需直播等選項(xiàng)俊犯,支持Onvif控
制的可以填入Onvif地址妇多,配置完成后點(diǎn)擊確定。
如果攝像機(jī)接入RTSP地址選項(xiàng)中可以配置賬號(hào)和密碼的盡量在這個(gè)url里面配置好賬號(hào)和密碼燕侠,地址格式正確
就可以正常訪問者祖。而在配置項(xiàng)里面給出的攝像機(jī)用戶名和攝像機(jī)密碼選項(xiàng)是為了兼容有些url里面不能帶有用戶名和密碼。兩個(gè)并不沖突绢彤。
RTSP協(xié)議規(guī)則配置
各個(gè)攝像機(jī)/NVR廠家的RTSP規(guī)則不一樣七问,我們列舉幾個(gè)常用的廠家的設(shè)備RTSP規(guī)則:
TP-Link攝像頭:rtsp://username:password@ip:port/stream1(2)
@注:stream1是主碼流 stream是子碼流
探測ONVIF IP
錄像保留設(shè)置
通道配置設(shè)置完成
視頻廣場查看
手機(jī)APP的EasyNVR進(jìn)行觀看
2. EasyNVS(云上)
下載安裝包
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(接入認(rèn)證端口)
[root@lcx-01 EasyNVS]# vim easynvs.ini
[http]
port=10811
; token 超時(shí)時(shí)間(秒)
token_timeout=604800
[https]
; 可選配置開啟 HTTPS 服務(wù)
port=
ssl_cert_file=
ssl_key_file=
[nvs]
port=10812
; 設(shè)備統(tǒng)一接入密碼
device_password=<passwd>
執(zhí)行軟件根目錄下的腳本 start.sh 停止軟件執(zhí)行stop.sh
進(jìn)行訪問:
? web頁面:http://ip:10811
? api接口:http://ip:10811/apidoc
賬號(hào)密碼默認(rèn)admin/admin
配置 EasyNVR 接入
接入成功后, 即可在 EasyNVS 主界面設(shè)備下拉列表中看到接入的 EasyNVR
五像吻、ONVIF Device Test Tool測試工具
ONVIF Device Test Tool測試工具使用方法