资讯动态

MediaMTX 快速上手:一条命令部署你的实时流媒体服务器

发布时间:2026/9/8 18:49:02 来源:尧图企业网站定制
MediaMTX 快速上手一条命令部署你的实时流媒体服务器【免费下载链接】mediamtxReady-to-use Media-over-QUIC / SRT / WebRTC / RTSP / RTMP / LL-HLS / MPEG-TS / RTP live media server and media proxy that allows to read, publish, proxy, record and playback real-time video and audio streams.项目地址: https://gitcode.com/GitHub_Trending/me/mediamtx读完本文你能从零部署MediaMTX 实时媒体服务器用一条命令把视频推上去再用 VLC 或浏览器拉流回放。全程不到 10 分钟不需要装任何依赖。30 秒认识 MediaMTXMediaMTX 是一个零依赖、开箱即用的实时媒体服务器兼媒体代理核心是媒体路由器它接住一个端点推来的音视频流再原样或转协议地路由给另一个端点。你可以用 SRT、WebRTC、RTSP、RTMP、LL-HLS 等协议往里推流也可以用这些协议往外拉流它自动在协议之间互相转换。适合安防监控、直播中转、浏览器实时视频这类一个源、多路分发的场景。它只用 Go 写成最终就是一个单独可执行文件不需要 Python、FFmpeg 等解释器除非你自己要跑外部命令支持 Linux、Windows、macOS。选一种适合你的安装方式四种途径效果一样区别只在部署环境和维护习惯。先看这张表挑一个就行安装方式适合谁一句话说明Docker 镜像生产环境 / 想隔离运行一条docker run拉起官方推荐独立二进制Windows / macOS / 想先试试下载对应系统压缩包解压即用Arch Linux 包Arch / Manjaro 用户走 AUR 的makepkg -si安装FreeBSD 包FreeBSD 用户pkg install mediamtx一条命令下面只展开最推荐的 Docker 方式其余你照着上面的方式名自己装即可。Docker 一行命令部署用 host 网络模式最省事能直接避开容器 NAT 对 UDP 的影响一条命令跑起来docker run --rm -it --networkhost bluenviron/mediamtx:1--networkhost让容器和宿主机共用网络SRT、WebRTC 的 UDP 端口都能正常收包:1表示最新的 1.x 版本。如果你要精确锁定版本把1换成具体版本号即可。提示Docker 镜像有四个变体需要 FFmpeg 或树莓派摄像头支持时把镜像名换成bluenviron/mediamtx:1-ffmpeg或bluenviron/mediamtx:1-rpi即可命令不变。不用 Docker直接跑二进制如果你只是本机尝鲜从发布页下载匹配系统和架构的压缩包例如linux_amd64解压后在终端执行./mediamtxWindows 上直接双击mediamtx.exe也行。看到一堆levelINFO日志、没有报错说明它已经起来了。最小配置跑通第一版默认配置开箱即用不改任何内容就能推流拉流。真正需要动手的往往只是给某一路流指定来源。你只需要编辑随包附带的mediamtx.ymlDocker 镜像里在/mediamtx.yml在paths下加一条路径。举一个让摄像头/文件自动推流的最小例子把它粘到paths:下面paths: cam: runOnInit: ffmpeg -re -stream_loop -1 -i /dev/video0 -c:v libx264 -preset ultrafast -f rtsp rtsp://localhost:8554/$MTX_PATH runOnInitRestart: yes逐条解释改了会发生什么cam:—— 路径名。任何客户端访问rtsp://服务器:8554/cam就是这一路流改成mystream就变成/mystream。runOnInit—— 服务器启动时自动执行的命令。上面这条是让 FFmpeg 从摄像头/dev/video0Windows 换成-f dshow -i video摄像头名持续编码后推到本机的 RTSP。runOnInitRestart: yes—— 命令意外退出后自动重启防止一路流悄悄断掉。改完保存即可MediaMTX 支持热重载它检测到文件变化会自动应用不用重启也不会踢掉已连接的客户端。更细的配置项含义完整参考 docs/5-references/1-configuration-file.md。启动与验证看到画面才算成功验证分两步成本从低到高。第一步用 FFmpeg 往服务器推一个测试流假设上面没配paths用默认publisher来源ffmpeg -re -stream_loop -1 -i 你的视频.mp4 -c copy -f rtsp rtsp://localhost:8554/mystream-stream_loop -1是无限循环-re让推送速度贴合实时mystream是路径名和上面读流要一致。第二步开一个客户端把流拉出来看。任选其一ffmpeg -i rtsp://localhost:8554/mystream -c copy output.mp4或者直接用VLC媒体 → 打开网络串流填rtsp://localhost:8554/mystream点播放。成功标志很明确VLC 里出现会动的画面或者ffmpeg命令不再报连接错误、output.mp4体积持续变大就说明推流、转发、拉流全链路通了。踩坑速查启动报bind: address already in use—— 8554RTSP、1935RTMP、8888HLS等端口被占。换个端口改rtspAddress等或停掉占用进程。Docker 里 RTSP 的 UDP 收不到 / WebRTC 拉不动—— 容器 NAT 改了 UDP 源地址改用--networkhost启动即可。别的机器访问 WebRTC浏览器打不开—— 客户端要能直连到服务器真实 IP在配置里设置webrtcAdditionalHosts填对外可达的 IP。配置改了不生效—— 先确认 YAML 缩进没写错MediaMTX 对缩进敏感保存后看日志是否出现热重载提示也可用环境变量覆盖如MTX_RTSPADDRESS127.0.0.1:8554。读流 404 / 找不到路径—— 推流和拉流的路径名必须完全一致/mystream和/mystream2是两路流。下一步到这里一个能推流、能拉流的 MediaMTX 已经在跑了。想继续往前走建议先了解如何用source把已有摄像头或别的服务器地址直接拉进来、以及如何开启录制和回放完整说明见 docs/2-features/ 下的官方文档。【免费下载链接】mediamtxReady-to-use Media-over-QUIC / SRT / WebRTC / RTSP / RTMP / LL-HLS / MPEG-TS / RTP live media server and media proxy that allows to read, publish, proxy, record and playback real-time video and audio streams.项目地址: https://gitcode.com/GitHub_Trending/me/mediamtx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价