一. 应用场景

  1. 本地摄像头实时监控/mp4视频文件
  2. 通过rtsp服务器转为rtsp地址
  3. 通过VLC将rtsp地址传入Python
  4. Python检测并标记好检测框(人脸识别/是否佩戴口罩)
  5. 通过ffmpeg推流,抛出一个新的rtsp地址
  6. VLC即可访问新的rtsp地址
    Python接收rtsp地址

二. 系统环境

1. 系统

我使用的是Windows 10 64位

2. 查看本机设备规格和WIndows规格

 此电脑 - 右键 - 属性

三. VLC下载

1. 下载

① 官网:http://www.videolan.org/](http://www.videolan.org/

② 下载后,双击exe文件


③ 按照步骤依次安装




2. VLC安装成功

四. RTSP服务器下载

1. 下载rtsp服务器

① 路径: https://github.com/aler9/rtsp-simple-server/releases

五. ffmpeg的安装配置以及在python中的使用

1. 下载ffmpeg

① 路径:https://github.com/BtbN/FFmpeg-Builds/releases
( 我下载的版本:ffmpeg-n4.4-latest-win64-gpl-4.4.zip)
② 解压到一个文件夹(我这里和rtsp放一个文件夹了)

2. 配置环境变量

① 得到 “ffmpeg.exe的路径”,复制
② 此电脑 – 属性 -高级系统设置-系统属性 – 环境变量 – 系统变量 – Path – 编辑 – 新建 – 填入 ① 中的路径


3. 测试安装的ffmpeg的结果

4. 在python中使用ffmpeg

① 用 PyCharm 打开 文件夹
② 在终端执行命令
pip install ffmpeg

六. 推流

1. 找到存放rtsp服务器的文件夹

① 双击 rtsp-simple-server.exe,打开rtsp服务器
② 路径处输入cmd,打开命令行窗口

窗口如下:

2. 通过命令行获取摄像头设备名称

ffmpeg -list_devices true -f dshow -i dummy

3. 推流

① 本地摄像头
ffmpeg -f dshow -i video="摄像头设备名称" -vcodec libx264 -r 30 -f rtsp rtsp://127.0.0.1:8554/camera_test

② 指定的mp4文件
mp4文件和ffmpeg.exe处于同级目录
ffmpeg -re -stream_loop -1 -i mp4文件的路径 -c copy -f rtsp rtsp://127.0.0.1:8554/videoFile_test

4. 使用VLC

① 打开VLC,输入rtsp地址,即上一步的末尾命令行:
若为本地摄像头:rtsp://127.0.0.1:8554/camera_test
若为指定mp4文件:rtsp://127.0.0.1:8554/videoFile_test
② 选择 “右上角媒体(M)” ,选择 “打开网络串流(N)” ,tab标签选择 “网络(N)” ,输入网络URL,一下输入的是本地摄像头

③ 点击 “播放”,即可实时监控视频

六. 结果展示

① 实时监控:未出镜

② 指定视频检测:类似

七. 附

常见命令

  1. 卸载ffmpeg
    pip uninstall ffmpeg 或 conda uninstall ffmpeg
  2. 安装ffmpeg
    pip install install ffmpeg 或 conda install ffmpeg