基于mediamtx基于mediamiamt 基于python,ffmpeg实现视频推流
人民网>>社会·法治

基于mediamtx基于mediamiamt 基于python,ffmpeg实现视频推流

2025-06-24 12:28:54 | 来源:人民网
小字号

软件依赖:mediamtx、ffmpeg。
python包依赖:deffcode。
xff1,mediamtx下载地址a;https://github.com/bluenviron/mediamtx/releases。
ffmeg下载地址󿼚https://ffmpeg.org/download.html。
deffcode安装命令:pip install deffcode。

1、mediamtx下载安装。

MediaMTX(原名 rtsp-simple-server)实时媒体服务器和媒体代理࿰是一个即用的、零依赖的c;视频和音频流可用于发布、阅读、代理、录制和播放。它被设想为“媒体路由器”,可以将媒体从一端流向另一端。

其支持的流量协议包括:
在这里插入图片描述

打开https://github.com/bluenviron/mediamtx/releases/tag/v1.9.0,根据自己的硬件环境+操作系统下载软件。
在这里插入图片描述
下载解压文件,得到mediamtxx.exe与mediamtx.yml。
mediamtx.ym是软件配置文件,默认端口࿰可配置各种协议c;例如rtspadress设置。
在这里插入图片描述

2、推流拉流。

2.1 下载并安装ffmpeg。

打开 https://github.com/BtbN/FFmpeg-Builds/releases ,根据自己的系统下载软件包。
在这里插入图片描述
解压工程󿀌同时将 ffmpeg-master-latest-win64-gpl-shared\bin 将路径添加到系统环境变量中。

2.2 启动mediamtx。

双击mediamtx,可见开始监控指定端口。
在这里插入图片描述

2.3 进行推流。

执行cmd或终端。
ffmpeg -re -stream_loop -1 -i 共享风景视频素材.flv -c copy -f rtsp rtsp://127.0.0.1:8554/input。

其中。共享风景视频素材.flv。视频文件名称,rtsp://127.0.0.1:8554/input。推流地址。

执行推流时的终端如下。
在这里插入图片描述
此时mediamtx的输出如下。
在这里插入图片描述

2.4 拉流播放。

custom_ffmpeg是ffmpeg中的bin目录。

from。deffcode。 import。FFdecoder。import。cv2。# FFedecoder创建视频源和视频解码规则c;formulate在ffmpeg中执行语句。# 本地视频。# decoder = FFdecoder("test.mp4").formulate()。# rtsp流。decoder。 =FFdecoder。(。"rtsp://127.0.0.1:8554/input",custom_ffmpeg。=r"D:视频推流\/视频推流ffmpeg-master-latest-win64-gpl-shared\bin")。.。formulate。(。)。# 从decoder中捕获RGB图像。for。frame。 in。decoder。.。generateFrame。(。)。:。# 将rgb图像转换为bgr图像,给opencv展示。frame_bgr。 =frame。[。:。,:。,:。:。-。1。]。cv2。.。imshow。(。"Output Frame",frame_bgr。)。key。 =cv2。.。waitKey。(。1。)。&0xFF。if。key。 ==ord。(。"q")。:。break。# 安全关闭解码过程。decoder。.。terminate。(。)。

播放效果如下所示。
在这里插入图片描述
此时mediamtx软件页面信息如下。
在这里插入图片描述

(责编:人民网)

分享让更多人看到