ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

MediaMTX 完整部署指南:一个 Go 程序搞定直播流多协议接入、播放与录像

MediaMTX 完整部署指南:一个 Go 程序搞定直播流多协议接入、播放与录像 MediaMTX 完整部署指南一个 Go 程序搞定直播流多协议接入、播放与录像【免费下载链接】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摄像头用 RTSP 推流、OBS 用 RTMP 推流、前端却想要 WebRTC 或低延迟 HLS——传统做法往往要写一堆胶水代码或同时运维好几台转码服务。MediaMTX 是一个开箱即用、零依赖的实时媒体服务器用 Go 写成一个二进制文件即可承接 RTSP、RTMP、WebRTC、SRT、LL-HLS、MPEG-TS、RTP 等协议的发布与读取并自动完成协议间的转换。一路 RTSP 推进来就能直接从 RTMP 或 LL-HLS 播出去不需要你操心转码。MediaMTX 是什么一个会自动换协议的媒体路由器一句话定位它把自己设计成media router媒体路由器——流从一端进来按需路由到另一端同时只做重封装remux不做重编码所以延迟低、CPU 占用小。核心能力速览多协议接入MoQMedia-over-QUIC基于 QUIC 的新一代媒体协议、SRT面向弱网、低延迟的传输协议、WebRTC、RTSP、RTMP、HLS、MPEG-TS、RTP 都能发布和读取协议自动转换用 RTSP 推入的流可以直接用 RTMP、WebRTC 或 LL-HLS 读出互不干扰录像与回放把流记录为 fMP4 或 MPEG-TS 文件之后可从磁盘回放按需拉流sourceOnDemand有观众才去上游拉流省带宽转发与代理forward / proxy把流转发到其它服务器或代理上游源站认证内置用户、外部 HTTP、JWT 三种方式运维配套Control APIHTTP 接口远程控制、Prometheus 指标、pprof 性能分析、事件钩子外部命令支持 Linux / Windows / macOS无需任何依赖和解释器配置文件修改后热加载、不断开已有客户端想深入了解架构设计可以读仓库里的 docs/2-features/02-architecture.md。三种部署方式从快速尝鲜到生产环境MediaMTX 是单可执行文件部署几乎没有门槛按场景三选一即可。Docker 一键拉起生产推荐下面这条命令以 host 网络模式启动官方镜像:1标签锁定 1.x 最新小版本升级时保证向后兼容docker run --rm -it --networkhost bluenviron/mediamtx:1选择--networkhost是为了绕过 Docker 的 NAT 层——RTSP 的 UDP 传输需要看到真实的 IP 和端口而 NAT 会把它们改掉。如果不用 host 模式就加-e MTX_RTSPTRANSPORTStcp强制 RTSP 走 TCP。镜像还有1-ffmpeg内置 FFmpeg供钩子命令用、1-rpi支持树莓派摄像头等变体按需选择。独立二进制尝鲜最快到项目发布页下载与你操作系统、架构对应的压缩包如 Linux amd64、Windows 版解压得到单文件可执行程序在终端启动./mediamtx零依赖、无需安装运行时Windows 上双击mediamtx.exe也能跑。默认配置已经可用适合先在本地验证一遍完整链路。包管理器以 Arch Linux 为例用 AUR 工具安装升级也由包管理器统一处理yay -S mediamtx配置文件最小可运行配置与常用端口MediaMTX 不加任何配置就能启动。如果只想要一个最小可运行配置整个文件可以只有这几行——paths下每个键就是一条流的路径这里给cam1开启磁盘录像其余全部走默认值paths: cam1: record: yes完整配置项日志级别、各协议开关与端口、认证、录像格式等都在 mediamtx.yml 中有逐项注释可作为模板直接改。各协议默认监听的端口排查连通性时对照着看端口服务用途8554RTSP发布/读取1935RTMP发布/读取8888LL-HLS读取低延迟 HLS8889WebRTC发布/读取8890 (UDP)SRT发布/读取8892 / 8893MoQ发布/读取9997Control APIHTTP 远程控制默认关闭9998MetricsPrometheus 指标默认关闭推一路流两条命令验证播放验证思路很简单先用 FFmpeg 往cam1路径推一路 RTSP再从另一个协议把它读出来——能读到就说明进和出两条链路都通了。第一条命令把本地视频循环推入服务器ffmpeg -re -stream_loop -1 -i test.mp4 -c copy -f rtsp rtsp://localhost:8554/cam1第二条命令验证读取任选其一# 用 RTSP 直接播放或把 URL 填进 VLCrtsp://localhost:8554/cam1 ffplay rtsp://localhost:8554/cam1 # 用 LL-HLS 验证协议转换拉取播放列表文件 curl http://localhost:8888/cam1/index.m3u8第二条 curl 若返回#EXTM3U开头的播放列表内容说明 RTSP 推入的流已被自动转成 HLS 对外提供。也可以打开浏览器访问http://localhost:8889用内置的 WebRTC 页面观看同一路流。上生产前的两个实用建议镜像不要用latest式浮动标签固定到具体版本再升级避免协议行为变化影响下游客户端对外提供服务时把authMethod从internal的默认any用户收紧为具体账号密码并开启api: true和metrics: true接入监控。延伸阅读安装方式细节、完整配置项参考、Control API 用法、录像与回放。【免费下载链接】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),仅供参考
返回列表