使用监控摄像头通过OBS取流变身电脑摄像头
小编这里的应用场景为 “使用摄像头作为线上会议摄像头进行取流”,方便会议
使用到的软件工具:OBS Studio、VCL
系统环境:64位Windows 10系统
使用的摄像头为:大华
摄像头主码流:h.265
- tips:此方法仅适用于x64 Windows 10,目前已知此方法在Windows 7上无法实现
- 摄像头要求:摄像头或录像机必须能支持RTSP视频流
- 如果使用的是IP摄像头,那一般都支持RTSP视频流
将监控摄像头变成电脑摄像头的基本思路,是用OBS
抓取监控摄像头的RTSP
视频流,之后由OBS-virtualcam
虚拟一个摄像头,这样就可以让你电脑上需要调用摄像头的软件(如QQ、微信、腾讯会议)得到监控摄像头的画面。
一、OBS下载与安装
首先去OBS官网下载
小编这里使用的版本为 28.1.2
是截止目前的最新版本,从OBS Studio
的26.1
版本之后已经支持Virtualcam
模块,所以大家不需再次下载OBS-Virtualcam
插件
这里给大家展示下载界面:
这里我们选择点击Windows
下载,会重定向页面直接进行下载。如果弹出页面却没有下载的话,这里请大家耐心等待下。
安装步骤就是一路的Next
,但这里小编还是不推荐大家装到D盘
安装完成后运行OBS Studio
软件进入初始界面:
二、GStreamer下载与安装
GStreamer
是用来构建流媒体应用的开源多媒体框架(framework),其目标是要简化音/视频应用程序的开发,已经能够被用来处理像 MP3、Ogg、MPEG1、MPEG2、AVI、Quicktime 等多种格式的多媒体数据。
小编这里也不过多赘述了,此处使用它的作用说白了就是降低延迟,不适用GStreamer
虽然可以实现,但延迟大约在5秒左右
1.下载
这里是GStreamer
官方下载地址
首先点击Download
进入下载页面
这里我们选择MinGW 64-bit
,点击第一个进行下载安装
2.安装
安装步骤就是一路Next
3.添加环境变量
安装完成后需要我们手动添加环境变量,这里因为安装时并没有选择安装目录的流程,所以大家的安装目录可能会有所不同。
这里小编推荐大家打开此电脑
在搜索框
内输入GStreamer
进行搜索。
大家可以看到,小编的GStreamer
被安装到了D盘下
找到位置之后,我们回到桌面,右击此电脑
,点击属性
这里我们找到右边,点击高级系统设置
![在这里插入图片描述](
打开后点击环境变量
,进行配置
在下边的系统变量
上找到Path
,双击打开进行添加
这里避免我们输入错误,直接点击浏览
找到我们之前搜索到的GStreamer
文件夹,展开此文件夹,选择bin
目录
这里要根据自己的
GStreamer
文件夹目录进行添加
添加完成后,点击所有的确定
即可添加完成
三、添加插件
这里我们需要的OBS-Gstreame
插件在GitHub上,部分用户链接打不开的话可使用加速器
这里推荐大家去微软商店下载
Watt Toolkit
软件很小但很强大,重要的是免费!!!
这里选择GitHub后点击一键加速,出现下图后即为加速成功
- 部分用户电脑装有虚拟机,会占用端口,这里需要关掉虚拟机后重试
加速成功后重新进入页面进行下载
下载完成后将里边的windows
文件夹里的obs-gstreamer.dll
文件添加到OBS
安装目录里的插件目录里
到这里我们的基本配置就结束了,终于要开始进行接入啦
四、测试环境
摄像头配置:摄像头或摄像头连接的硬盘录像机需要与运行OBS的电脑处于同一局域网下且可以ping通。同时需要知道摄像头或录像机的用户名和密码。不同厂商的摄像头可能提供了摄像头搜索工具(如海康SADP、大华configtool)
这里需要下载VLC
进行连接测试
直接进入VLC官网点击下载,直接一路下一步
进行安装
安装完成后双击打开,左上角点击媒体
-> 打开网络串流
这里添加链接进去,模板是下边的,大家复制改为自己的就好
rtsp://用户名:密码@摄像头IP地址/cam/realmonitor?channel=1&subtype=0
配置完成点击播放出来如果出来画面后即为配置成功!
五、添加摄像机
打开OBS Studio
,点击➕号添加GStreamer Source
这里也是,复制下边的链接进行修改,添加后点击确定
rtspsrc location="rtsp://用户名:密码@摄像头IP地址/cam/realmonitor?channel=1&subtype=0" latency=0 buffer-mode=auto ! rtph265depay ! h265parse ! d3d11h265dec ! video.
添加完成后点击启动虚拟录像机
即可进行调用
六、接入会议
我们在线上会议的时候就可以调用OBS虚拟摄像机进行调用
注意事项
- 摄像头要与电脑处于同一局域网,如果此局域网有互联网连接,一定要注意安全问题,给摄像头设置足够强的密码。可以设置一个专门RTSP取流的账号在摄像头里,通过这个账号只能预览画面,不能更改摄像头设置以及回放录像等。同时请按照摄像头生产厂商的建议进行安全设置,配置防火墙等。
- 如果有条件尽量使用网线(经过交换机或直接)连接。
- OBS内置了RTSP取流,但是此功能延迟很高!这也是为什么我们通过GStreamer插件取流。
- 如果你的摄像头是会议摄像头、广播级PTZ摄像头,这些摄像头有可能没有RTSP输出但有其他形式(USB、NDI、HDMI等)输出,需要是用其他方式(如USB就当作普通摄像头,NDI需要obs-ndi插件,HDMI需要通过采集卡)采集信号,此文不适用。
- 如果你的摄像头是机器视觉摄像头等奇葩摄像头,则可能可以USB连接。如果实在不知道怎么连接,任何摄像头都可以通过OBS直接采集预览窗口的画面达到类似的功能。
- 如果OBS没有Gstreamer选项,检查环境变量。
- 如果摄像头在Gstreamer里打不开,拿VLC检查能否取流RTSP。请注意检查摄像头IP、摄像头取流地址以及取流地址中的用户名密码是否正确。
- 本人电脑环境为英文版WIndows10 测试录像机为Lorex(大华贴牌)。
- 如果觉得上面的麻烦 OBS有内置RTSP取流,不经过插件 但是延迟很高 不过也不是完全不能用