文章目录
前言

本篇博客的由来如上图哈哈,WSL2 相关安装教程可以参考我之前的博客:Win11安装WSL2和Nvidia驱动
更多文章欢迎来我的博客小站看呀,会有更多的技术细节~
安装 CMake
ubuntu上请执行
sudo apt install cmake -y
或者编译安装
# 以v3.25.1版本为例
git clone -b v3.25.1 https://github.com/Kitware/CMake.git
cd CMake
# 你使用`--prefix`来指定安装路径,或者去掉`--prefix`,安装在默认路径。
./bootstrap --prefix=<安装路径> && make && sudo make install
# 验证
cmake --version
如果报错Could NOT find OpenSSL,安装如下依赖即可解决
sudo apt update
sudo apt upgrade
sudo apt install libssl-dev
安装 OpenCV 和 FFmpeg
sudo apt install libopencv-dev
sudo apt install ffmpeg
启动 Windows 本机的 RTSP 视频流
下载解压 EasyDarwin
Easydarwin是国内团队开发的开源流媒体框架。它是基于Go语言研发,从2012年12月创建并发展至今,从原有的单服务的流媒体服务器形式,扩展成现在的云平台架构开源项目,属于高性能开源RTSP流媒体服务器,在Github上受到广大欢迎。
特点:RTSP推模式转发、RTSP拉模式转发、录像、检索、回放、关键帧缓存、秒开画面、RESTful接口、WEB后台管理、分布式负载均衡。
直接运行 EasyDarwin.exe
以 Ctrl + C 停止服务。打开浏览器输入 http://localhost:10008, 进入控制页面,默认用户名密码是admin/admin
查看本机摄像头设备
Windows 本机安装 ffmpeg 这里不再赘述啦,网上教程很多~
查看本机摄像头设备命令如下
ffmpeg -list_devices true -f dshow -i dummy

开始推流
ffmpeg -f dshow -i video="USB2.0 Camera" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp rtsp://192.168.1.101/test
参数解释
-f dshow -i video="摄像头名称"指定从本地摄像头中读取视频流。将“摄像头名称”替换为您的摄像头名称,例如“USB2.0 Camera”。-vcodec libx264指定使用 x264 编码器进行视频编码。-preset ultrafast设置编码速度。这里使用的是最快的编码速度,但可能会导致视频质量下降。-tune zerolatency设置编码器以实现零延迟。-f rtsp指定输出流的格式为 RTSP。rtsp://<IP地址>/<路径>指定 RTSP 流的目标地址。请将<IP地址>替换为 Windows 本机 IP 地址,将<路径>替换为您想要为流指定的路径。
成功推流如下,注意保持控制台的运行

开放本机防火墙(可选)
因为我们要在 WSL2 里访问本机的 RTSP 视频流,所以需要打开本机的防火墙,如下图

关闭专用网络和公用网络即可

本文介绍了如何在WSL2环境下,通过CMake安装OpenCV和FFmpeg,利用EasyDarwin启动RTSP视频流,然后使用OpenCV在Linux下接收和显示Windows本机的摄像头视频流。同时,文章提到了开启防火墙的必要情况以及推流和接收的命令行参数。
最低0.47元/天 解锁文章
1269





