LiveNVR 常見問題
直播流地址格式
WEBRTC: webrtc[s]://{ip}:{基礎配置 HTTP[S] 端口}/rtc/stream_{通道號}
FLV: http[s]://{ip}:{基礎配置 HTTP[S] 端口}/flv/hls/stream_{通道號}.flv
WS_FLV: ws[s]://{ip}:{基礎配置 HTTP[S] 端口}/ws-flv/hls/stream_{通道號}.flv
HLS: http[s]://{ip}:{基礎配置 HTTP[S] 端口}/hls/stream_{通道號}/live.m3u8
RTMP: rtmp://{ip}:{基礎配置 RTMP 端口}/hls/stream_{通道號}
RTSP: rtsp://{ip}:{基礎配置 RTSP 端口}/stream_{通道號}
LiveNVR 如何做通道分組?
管理員用戶登錄 LiveNVR, 左側菜單進入 >【分屏展示】:
鼠標右鍵【目錄樹】>【新建目錄】;
鼠標右鍵【目錄節點】>【選擇通道】;
鼠標右鍵【目錄節點】>【編輯目錄】;
鼠標右鍵【目錄節點】>【刪除目錄】;
切換數據庫
LiveNVR 默認使用 sqlite3 文件數據庫, 當接入通道數量達到萬級時, 文件數據庫會拖慢系統;
這時我們建議使用 MariaDB(推薦) 或 MySQL(5.7及以上) 數據庫, 數據庫服務需要您提前安裝好, 切換到 MariaDB 數據庫很簡單:
(注意:數據庫的默認引擎應為 InnoDB,查詢命令: show engines)
第一步 連接數據庫
客戶端連接 或 命令如 :
mysql -h127.0.0.1 -uxxx -pyyy -P3306第二步 創建數據庫實例(整段復制下面的建庫SQL并執行,不要去除注釋部分的字符集設定!)
DROP DATABASE IF EXISTS `livenvr`; CREATE DATABASE IF NOT EXISTS `livenvr` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; USE `livenvr`;第三步 配置 livenvr.ini > [db] > MariaDB/MySQL 連接信息(其中 dialect 固定為 mysql)
[db] dialect=mysql url=username:password@(ip:port)/livenvr?charset=utf8&parseTime=True&loc=Local第四步 重啟 LiveNVR 服務, 系統自動完成建表操作, 至此, 數據庫切換完成
開啟輸出 RTSP 流
登錄 LiveNVR 界面, 配置 RTSP 端口即可 >【基礎配置】>【RTSP 端口】
注意
在 Linux 下面開啟 554 端口通常需要 root 權限, 需要以 sudo 來運行 livenvr 服務程序
拉取一路直播流 /api/v1/getchannelstream?channel=4&protocol=RTSP, 帶參數 protocol=RTSP, 返回結果中包含了這一路直播流的 RTSP 流地址, 這個 RTSP 地址可以用 ffplay 來播放
開啟 HTTPS 服務
配置 LiveNVR 開啟 HTTPS
【基礎配置】>【HTTPS 端口(可選)】、【HTTPS Cert 證書路徑】、【HTTPS Key 證書路徑】
驗證 HTTPS
瀏覽器訪問 https://{證書域名}:{LiveNVR HTTPS 端口} 驗證 HTTPS 是否開啟成功
關于集成直播頁面
首先LiveNVR自身直播頁面提供iframe集成相關代碼, 其次我們也支持通過直接調用分享地址傳遞參數集成,傳遞對應參數獲取對應功能
iframe:是否以iframe形式嵌入,支持傳遞參數yes、no;
autoplay:是否開啟自動直播,支持傳遞參數yes、no;
stretch:是否拉伸顯示,支持傳遞參數yes、no;
aspect: 播放器的比例,傳遞形式x:y,默認16:9, aspect=fullscreen 時, 整頁顯示播放器
例: ip:port/play.html?channel=id&iframe=yes&aspect=4:3&autoplay=yes&stretch=yes
云臺控制按鈕沒有(灰掉)
通道配置接入類型是 ONVIF 、 SDK 或 ISUP 的攝像機才有云臺控制功能,前端頁面的按鈕才會顯示可用;
接口返回 401 Unauthorized
原因:【基礎配置】>【接口鑒權】開啟, 接口調用會驗證是否攜帶有效的 token
方法一:先調用 登錄接口,登錄后會返回 token,以后的接口調用攜帶 token 信息
方法二:【基礎配置】>【接口鑒權】關閉,不推薦
Linux 非 root 用戶啟動和停止
注意
安裝成系統服務的時候必須root權限,但是有時沒有root權限,可以進行如下處理
啟動腳本
#!/bin/bash
CWD=$(cd "$(dirname $0)";pwd)
nohup "$CWD"/livenvr > /dev/null 2>&1 &
停止腳本
#!/bin/bash
CWD=$(cd "$(dirname $0)";pwd)
pid=`pidof livenvr`
[ -n "$pid" ] && kill -INT "$pid"
如何更新升級?
先上傳部署包到服務器, 再解壓
停止運行老服務(如果已開啟云端錄像, 建議將云端錄像目錄配置到版本目錄外面)
拷貝老服務運行目錄下的 *.db 和 *.ini 文件到新解壓目錄(livenvr.db, livenvr.ini)
在新解壓目錄下, 啟動新服務
服務器硬件配置

WEB 播放器
播放鑒權
與您業務系統鑒權對接, 配置文件位置:LiveNVR 安裝包解壓目錄 > livenvr.ini > [base_config] > stream_auth_url
此處填寫您業務系統提供的鑒權地址
填寫示例: stream_auth_url=http://yourhost:port/playauth
流程說明:
用戶請求播放地址
示例如: http://localhost:10800/flv/hls/t.flv?param1=111¶m2=222
其中param1和param2是附加的任意傳參,名稱不限
LiveNVR 系統會GET請求回調上面
stream_auth_url地址的接口,并透傳附加的參數示例如:http://yourhost:port/playauth?param1=111¶m2=222
等待您的鑒權接口的返回:
成功:200 (Status Code)
失敗:401
LiveNVR 判斷返回的鑒權結果:
成功 : 開始播放
失敗 : 阻止播放
忘記登錄密碼
可以在命令行下運行 LiveNVR 可執行程序, 帶 resetpass 參數來重置密碼
Windows
.\LiveNVR.exe resetpass
Linux
./livenvr resetpass
停止服務, 重新啟動后生效
LiveQing