【rtsp推流】rtsp服务器+ffmpeg+Python+VLC

一. 应用场景

  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

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/78e4695f1b.html