【rtsp推流】rtsp服务器+ffmpeg+Python+VLC
一. 应用场景
本地摄像头实时监控/mp4视频文件通过rtsp服务器转为rtsp地址通过VLC将rtsp地址传入PythonPython检测并标记好检测框(人脸识别/是否佩戴口罩)通过ffmpeg推流,抛出一个新的rtsp地址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,一下输入的是本地摄像头 ③ 点击 “播放”,即可实时监控视频
六. 结果展示
① 实时监控:未出镜😀 ② 指定视频检测:类似
七. 附
常见命令
卸载ffmpeg pip uninstall ffmpeg 或 conda uninstall ffmpeg安装ffmpeg pip install install ffmpeg 或 conda install ffmpeg