MediaMTX + FFmpeg 流媒体服务器搭建¶
在 Windows 上快速搭建一个稳定、低延迟、支持多协议的流媒体服务器并不复杂。本文将手把手带你完成从环境准备、推流到播放验证的完整流程,并提供实用的优化技巧。
本方案非常适用于: 🟢 本地视频循环播放 🟢 RTSP / RTMP / WebRTC 多协议分发 🟢 设备测试、局域网直播、AI 视频输入管线搭建 🟢 替代海康 / 大华摄像头作为自定义视频源
1. 核心组件介绍¶
本方案使用两大关键组件:
MediaMTX:轻量级全协议媒体服务器¶
MediaMTX 是一个零依赖的跨平台媒体网关,主要特点包括:
- 支持 RTSP、RTMP、WebRTC、SRT、HLS 等协议
- 自带 Web 管理界面
- 单文件运行,无需安装
- 资源占用极低,非常适合嵌入式、Windows 桌面、服务器场景
它的定位是: 将任意媒体源转化为多协议输出的万能网关。
FFmpeg:开源多媒体处理工具¶
FFmpeg 是音视频领域常用的工具套件之一,用于:
- 读取音视频文件/设备
- 转码、滤镜、音视频处理
- 推流到 RTSP / RTMP / WebRTC 等服务器
在本方案中: FFmpeg 用来推流(输入源) → MediaMTX 用来分发(流媒体服务器)。
2. 安装与配置¶
2.1 安装 MediaMTX¶
-
进入 GitHub Releases: https://github.com/bluenviron/mediamtx/releases
-
下载 Windows 版本,例如:
mediamtx_v1.15.5_windows_amd64.zip -
解压后得到:
- 启动服务器 双击
mediamtx.exe或命令行运行:

启动后控制台会显示服务器监听的端口,例如:
- RTSP: 8554
- RTMP: 1935
- WebRTC: 8889
- HLS: 8888
此时 MediaMTX 已经是一个可以实时使用的流媒体服务器。
2.2 安装 FFmpeg¶
- 推荐从 gyan.dev 下载 Windows 版本:

- 解压得到文件夹,内部包含:
- 添加到环境变量:
“添加 ffmpeg/bin 路径”
验证是否成功:
3. 推流命令深度解析¶
举例子:将本地视频文件推送到 MediaMTX(RTSP):
下面是逐一解释:
| 参数 | 含义 |
|---|---|
-re | 以真实帧率读取输入,模拟实时直播 |
-stream_loop -1 | 无限循环播放视频文件 |
-i 1111+.mp4 | 输入源,可换成你的实际视频路径 |
-c copy | 直接复制音视频流,不转码 → 极低 CPU 占用 |
-f rtsp | 输出格式是 RTSP 流 |
rtsp://127.0.0.1:8554/video | 推流地址:IP + 端口(8554)+ 流路径 |
推流成功后,MediaMTX 控制台会显示类似:

说明视频已经成功进入服务器。
4. 验证与播放¶
方法一:使用 VLC 播放¶
打开 VLC → 媒体 → 打开网络串流 输入:
即可看到实时视频。
方法二:使用 ffplay¶
方法三:MediaMTX 自带 WebRTC 播放器¶
浏览器打开:
选择“读流(video)”,可以低延迟播放同一个视频流。 (这是 MediaMTX 相对其它 RTSP 服务器非常强的优势。)
5. 进阶配置与技巧¶
5.1 修改默认端口¶
编辑 mediamtx.yml:
改完重启即可。
5.2 设置推流密码(防止被恶意推流)¶
推流:
ffmpeg ... rtsp://admin:[email protected]:8554/video
5.3 推流 USB 摄像头¶
5.4 推流桌面屏幕¶
6. 总结¶
使用 MediaMTX + FFmpeg 搭建 Windows 流媒体服务器大概流程如上,当然还有很多其他的软件,比如 VLC、Nginx + RTMP、SRS、Nimble、OBS 等。
参考:https://github.com/bluenviron/mediamtx