2021.4.8 更新:本文缺失重要部分,添加环境变量。大家评论和私信。此部分现在已经补齐。
2021.5.19 1.感谢各位朋友私信提问 目前看大家遇到的问题还是比较多 我会对文章进行一些修改尽量更加详细的说明各种步骤。2.貌似海康萤石一些新版本固件的ONVIF、RTSP功能受限,本人没有海康的设备无法测试只是道听途说但出于谨慎考虑还是提醒手上有用萤石的设备的同学请谨慎更新固件或使用替代方案。
2021.12.9 更新支持摄像头的列表以及部分错误修改
2022.10 更新:新版obs更新了 不需要装virtual input 因为这个功能内置了
2022.11 更新:加了几种其他取流方式
——————–
将监控摄像头变成电脑摄像头的基本思路,是用OBS抓取监控摄像头的RTSP视频流,之后由OBS-virtualcam虚拟一个摄像头,这样就可以让你电脑上需要调用摄像头的软件(如QQ、微信、Zoom)得到监控摄像头的画面。
本文假设读者了解基本的OBS使用方法以及对监控设备有基本的了解。
需要的软件:OBS,GStreamer,OBS-Gstreamer(插件),OBS-VirtualCam(插件)。此方法适用于64位WIndows 10。目前已知与Windows 7有兼容性问题此方法无法在Win7上实现请用Win10。
摄像头要求:摄像头或录像机必须能输出RTSP视频流。
如果使用的是IP摄像头,一般都支持RTSP视频流,根据厂商不同RTSP抓取视频流的地址可能不同。如果摄像头连接了NVR,视频流可以从NVR抓取。如果摄像头是模拟摄像头,则可以通过连接DVR抓取RTSP流。基本上海康(包括部分萤石产品)、大华、安讯士生产的任何网络摄像头(IPCAM),硬盘录像机(DVR),网络硬盘录像机(NVR)均可以抓取RTSP视频流。
如果摄像头是“云录像”摄像头,比如米家、360、nest、arlo、ring等,这个方法可能就不适用了。因为这些摄像头并没有公开的抓取RTSP视频流等方法,因此没办法使用本方法。
支持的摄像头(部分) | 此方法不支持的摄像头(部分) |
---|---|
海康全系列(不包括部分萤石) | 没有Web设置界面的摄像头 |
大华全系列 | 只有云录像的摄像头 |
Axis、华为安防(非家用款)、天视通等 | Ring、nest、agro |
支持RTSP/ONVIF的编码器和摄像头(部分直播伴侣、KTV大厅转播设备、直播编码器等) | 米家全系列 |
支持RTSP的会议摄像头(如DATAVIDEO、PTZOPTICS部分型号)这些摄像头可能有更优的连接方式如采集卡、NDI、USB,请酌情选择。 | GOPRO、大疆、山狗等运动相机(通过wifi链接不可使用此方法,不过部分型号支持采集卡) |
软件下载与安装:首先下载并安装OBS
然后安装OBS-Virtualcam插件(如果OBS下载的是最新版此插件已经集成不需要单独下载)
OBS Virtualcam
然后安装GStreamer
下载安装MinGW的runtime installer
下载完成Gstreamer后,我们需要将C:gstreamer1.0x86_64bin添加到环境变量path下。
不知道如何添加环境变量的小伙伴可以看看下面CSDN的操作方法。
然后安装OBS-Gstreamer插件,首先去Releases · fzwoch/obs-gstreamer然后安装OBS-Gstreamer插件,首先去
下载好zip后,将压缩包解压缩,将windows下的DLL放在C:Program Filesobs-studioobs-plugins64bit下。
摄像头配置:摄像头或摄像头连接的硬盘录像机需要与运行OBS的电脑处于同一局域网下可以ping通。同时需要知道摄像头或录像机的用户名和密码。不同厂商的摄像头可能提供了摄像头搜索工具(如海康SADP、大华configtool),可以通过这些工具获取摄像头的IP地址。
摄像头默认会叠加OSD水印(时间和摄像头名)。如果这些影响效果可以通过配置摄像头关掉。需要注意的是关闭水印会导致录像也没水印,如果你连接的摄像头在监控请考虑这个操作是否会造成其他影响。引用下文是海康摄像头配置的方法。
配置摄像头码流:网络摄像头一般有两个码流,分辨率和帧率可能不一样。一般我们要让帧率在30以上以保证视频流长,同时尽量保证在这个帧率上视频分辨率尽量的高,最好1080P或720P。引用下文是海康的设置方法。
获取摄像头RTSP抓流地址:我们需要获取摄像头RTSP的取流地址。下文说明了大多数厂商摄像头的取流地址。由于不同厂商摄像头RTSP地址不同,且有很多摄像头不支持RTSP取流所以如果你没有办法获得摄像头的RTSP地址请更换设备。我们没办法对某单一设备解答,
使用摄像头WEB客户端(浏览器客户端)检查摄像头是否能预览(验证网络是否正常)
使用VLC验证RTSP地址有效:使用VLC打开摄像头RTSP地址,如果能看到摄像头画面则有效。否则根据VLC报错则根据报错检查原因(网络问题还是地址问题还是密码问题)
当VLC可以抓取摄像头RTSP后,即电脑可以与摄像头连通。我们可以打开OBS,添加一个GStreamer源。
在弹出的窗口中首先确认是不是下面截图的画面。如果不对或者OBS启动报错或者找不到GStreamer说明设置有问题。,删掉Pipeline中所有内容并替换成下文的内容
rtspsrc location="摄像头的RTSP取流地址" latency=0 buffer-mode=auto ! rtph264depay ! h264parse ! d3d11h264dec ! video.
<< · Back Index ·>>
下一篇