1.动机
高一接触了大华NVR 4.0网络录像机系统,发现查询监控录像步骤繁琐,若要高效只能本地操作;自带的web查询十分难用。想到原先的RTSP全校超低延时内网全链路1Gbps推流的经历,是否可以通过RTSP等流式传输协议实现远程拉取大华NVR系统的实时直播和录像查询?通过查询大华ICC开放平台的文档,在这里记录下笔记,方便记忆和快速调取命令
2.详解
关于NVR/IPC,也就是录像机/摄像头的拉流形式
IPC和NVR的RTSP的拉流格式是一样的
Tips:有时使用转码提示不可使用&符号,可换成/代替效果一样
格式
1.实时录像
rtsp://username:password@ip:port/cam/realmonitor?channel=1&subtype=0
参数解读
username:账户名
password:密码
ip:port:信宿(例如NVR)的IP地址+端口号
channel:目标摄像头在NVR中的通道数
subtype:目标码流,主码流为0,辅码流分别为1、2
2.录像回看
rtsp://username:password@ip:port/cam/playback?channel=1&subtype=0&starttime=YYYY_MM_DD_HH_mm_SS&endtime=YYYY_MM_DD_HH_mm_SS
参数解读
username:账户名
password:密码
ip:port:信宿(例如NVR)的IP地址+端口号
channel:目标摄像头在NVR中的通道数
subtype:目标码流,主码流为0,辅码流分别为1、2
starttime:录像的开始时间
endtime:录像的结束时间
Tips:时间格式为YYYY_MM_DD_hh_mm_ss,比如2024_10_24_11_45_14
3.实战
0.前置准备
NVR录像机在内网可被Ping通
NVR可以正常显示和录制IPC画面
有一台位于内网的电脑且安装了相应的播放器
我们以NVR的IP地址为192.168.1.110,通道为6,用户名&密码均为sample来演示操作
1.[实时]使用FFplay命令行播放
通过FFmpeg内置命令行播放器FFplay实现内网低延时拉流
打开终端,输入以下命令使ffplay播放网络流
ffplay "rtsp://sample:sample@192.168.1.110/cam/realmonitor?channel=6&subtype=0"
若配置正确,ffplay将弹出视频窗口。简单高效,方便快捷;可通过附加参数(如-fs
全屏显示)实现无人值守自动监看
2.[实时]使用VLC视频界面播放实时录像
启动VLC Media Player,通过Ctrl+N打开网络串流,输入rtsp链接即可监看
3.[实时]使用EasyPlayer特殊播放器播放
EasyPlayer是一款专为网络流播放而开发的播放器,但无法更改拉流分辨率,若要展示多个高分辨率视频,你可能需要一台解码性能强劲的PC
只需要在地址栏内输入地址,按下play,剩下的工作就是右键画面,隐藏工具栏并全屏,你就可以获得极为高效的显示器独占监看
最高支持16屏同屏监看,性能强劲
4.[录像]使用VLC播放录像
同理,打开VLC,修改RTSP的URL至你想要监看的时间段,此处以2024/09/20 00:00:00 - 2024/09/20 23:59:59举例
rtsp://sample:sample@192.168.1.110/cam/playback?channel=6&subtype=0&starttime=2024_09_20_00_00_00&endtime=2024_09_20_23_59_59
可以使用前跳和后跳快捷键快速查询录像。