ARTICLE DETAIL

资讯详情

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

MediaMTX 入门指南:一个单文件服务器打通多协议推流与拉流

MediaMTX 入门指南:一个单文件服务器打通多协议推流与拉流 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想把一个视频源同时分发给多类客户端——VLC 用 RTSP 看、浏览器用 WebRTC 看、移动端用 HLS 看——传统做法要部署好几台服务还要自己写转封装逻辑。MediaMTX媒体服务器支持 Media-over-QUIC、SRT、WebRTC、RTSP、RTMP、HLS 等协议把这件事收敛成一个单文件进程流从任一协议进来自动转换成其他协议出去中间不转码也无需安装任何依赖。项目全景MediaMTX 媒体路由器的内部结构MediaMTX 的定位是媒体路由器media router负责把流从一端路由到另一端重点在效率与可移植性。它对外暴露多组协议服务器RTSP、RTMP、WebRTC、SRT、HLS 等内部由三个核心部件协作负责管理与认证的 path manager路径管理器、承载单一流的 path路径一个路径对应一路流、负责落盘的 recorder录制器。所有行为都由配置文件mediamtx.yml或环境变量控制兼容 Linux、Windows、macOS。快速上手MediaMTX 的启动与验证环境要求无需编译器或解释器一个可执行文件即可若用 Docker 则需任意支持容器的环境。获取从仓库 Releases 页下载对应平台的压缩包解压或拉取bluenviron/mediamtx:1镜像生产环境官方推荐 Docker 方式。启动用 Docker 启动并映射常用端口# 启动 MediaMTXRTSP/RTMP/WebRTC/HLS 常用端口 docker run --rm -it \ -p 8554:8554 \ -p 1935:1935 \ -p 8889:8889 \ -p 8888:8888 \ bluenviron/mediamtx:1验证用 FFmpeg 把本地视频循环推入 RTSP再用 VLC 拉流画面出现即跑通# 推流把 file.mp4 以 RTSP 推给 MediaMTX ffmpeg -re -stream_loop -1 -i file.mp4 -c copy \ -f rtsp rtsp://localhost:8554/mystream# 拉流VLC 读取同一路流 vlc --network-caching50 rtsp://localhost:8554/mystream核心用法三个关键配置协议互转换协议拉流而不是转码MediaMTX 不做转码只做协议间的自动转换remuxing。推流端用 RTMP 推入观看端就可以直接换一种方式拉取无需改配置浏览器http://localhost:8889/webrtc/index.htmlHLShttp://localhost:8888/hls/mystream/index.m3u8多路流通过路径名区分各占独立 path互不影响。配置热加载与环境变量覆盖修改mediamtx.yml保存即可MediaMTX 会检测变更并热应用不踢掉在线客户端。不想挂载配置文件时用MTX_前缀环境变量覆盖任意参数例如MTX_RTSPADDRESS127.0.0.1:8554 ./mediamtxDocker 场景下配合-e传参最方便。录制到磁盘并回放录制属于 path 级参数在mediamtx.yml的pathDefaults下开启pathDefaults: record: yes # 开启录制 recordPath: ./recordings/%path/%Y-%m-%d # 按路径名和日期分目录 recordFormat: fmp4 # fmp4 或 mpegts recordSegmentDuration: 1h # 每段最小时长 recordDeleteAfter: 1d # 保留时长防磁盘占满录制文件可通过内置的回放服务器从磁盘读回无需二次处理。细节见录制文档与回放文档。效果验证与常见坑确认跑通启动终端会打印MediaMTX is ready推流和拉流日志中能看到对应路径的连接记录用 FFmpeg 拉流时Stream #信息与源流一致。坑一Docker 里 RTSP 的 UDP 传输失效。容器默认网络栈会改写入站 UDP 报文来源导致 UDP 传输异常。按官方建议设置-e MTX_RTSPTRANSPORTStcp禁用 UDP或改用--networkhost。坑二WebRTC 从其他设备访问失败。服务器需要知道自己对外暴露的地址把可达 IP 写入webrtcAdditionalHostsDocker 中即MTX_WEBRTCADDITIONALHOSTS。坑三录制文件消失。recordDeleteAfter默认为 1d超过保留期自动删除需要长期保存时自行调大该值或结合 rclone 钩子把文件同步到远端见录制文档的 remote upload 一节。延伸方向生产环境可进一步接入控制 API默认http://localhost:9997做流管理以及 Prometheus 格式的 metrics 端点做监控详见控制 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),仅供参考
返回列表