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/mediamtxMediaMTX 是一个零依赖、单可执行文件的实时流媒体服务器和媒体代理把设备或程序用 RTSP、RTMP、SRT、WebRTC、LL-HLS 等协议发布的音视频流转成其他协议广播给任意读取者还能把流录到磁盘供事后回放。从解压到推流、拉流整个过程不超过十分钟。功能全景它能替你干哪些活先说一个很常见的场景车间里一台摄像头走 RTSP 出流办公室的同事想用网页看安全部还想把录像留存两周。用 MediaMTX这一个实例就同时完成三件事。开箱即用的能力包括多协议收发支持 Media-over-QUIC、SRT、WebRTC、RTSP、RTMP、LL-HLS、MPEG-TS、RTP 共 8 类协议同一台服务器可以分别监听。协议自动转换用 RTSP 发布一条流浏览器可以直接用 WebRTC 观看不需要客户端做任何转码。多路流并行每条流对应一个路径path互不干扰同一路径内一个发布者对应多个读取者。录制与回放流可录制成 fMP4 或 MPEG-TS 分段之后通过内置 HTTP 服务器默认端口:9996按时间段取回播放。运维接口内置 Control API:9997、Prometheus 格式的 metrics:9998以及连接、推流、录制完成等事件的外部命令钩子。快速上手三步跑通第一路流前提机器上装好 Go≥ 1.26或改用 Docker 镜像方式见 安装文档。1. 克隆并编译得到mediamtx二进制git clone https://gitcode.com/GitHub_Trending/me/mediamtx cd mediamtx go generate ./... CGO_ENABLED0 go build .2. 启动服务器运行./mediamtx。配置文件mediamtx.yml就在工作目录默认无需改动即可工作。3. 推流 拉流用 FFmpeg 发一个 MP4 文件并回读验证ffmpeg -re -stream_loop -1 -i file.mp4 -c copy -f rtsp rtsp://localhost:8554/mystream另开一个终端拉取同一地址ffmpeg -i rtsp://localhost:8554/mystream -c copy output.mp4此时流已经能正常转发、协议互转✅ 最短链路验证完成。实战场景录制、代理与网页播放 场景一录制流并事后回放在mediamtx.yml中打开录制pathDefaults: record: yes # 开启录制 recordFormat: fmp4 # 存储格式 recordSegmentDuration: 1h # 按小时分段 recordDeleteAfter: 1d # 保留 1 天后自动清理录制文件默认落在./recordings/路径名/下。再设置playback: yes端口默认:9996就能通过/list查询某条路径有哪些时间段、通过/get取回录像输出是 fMP4可直接塞进浏览器video标签无需转封装。细节见 录制文档。场景二一键代理现有流源已有流源比如别的 RTSP 服务器想挂进来统一分发在paths下加一个条目即可paths: camera1: source: rtsp://192.168.1.100:554/stream # 代理一个外部 RTSP 流之后任何人拉rtsp://服务器IP:8554/camera1拿到的都是转发后的流源地址只写在配置里。场景三浏览器直接播放不用写任何前端页面。把流发布到某条路径后浏览器访问http://服务器IP:8889/路径名MediaMTX 自带的 WebRTC 读取页面就能播放默认webrtcAddress就是:8889。进阶调优值得记住的高频配置项完整清单很长日常真正会动的就这几个均在mediamtx.yml中配置项默认值作用rtspAddress:8554RTSP 监听地址rtmpAddress:1935RTMP 监听地址hlsAddress:8888LL-HLS 输出地址webrtcAddress:8889WebRTC 地址含内置网页srtAddress:8890SRT 监听地址recordfalse录制总开关logLevelinfo日志级别error/warn/info/debug两个省心的机制配置热重载——改完mediamtx.yml自动生效不断开现有客户端所有配置项都可以用MTX_前缀的环境变量覆盖如MTX_RTSPTRANSPORTStcp适合容器化部署无需改文件。完整字段说明见 配置文件参考。常见问题摄像头或编码器连不上多半是 RTSP 的 UDP 被网络挡住了。把rtspTransports设为[tcp]或用环境变量MTX_RTSPTRANSPORTStcp覆盖再重试。一条流能同时被多少协议读取没有限制。同一路径内多个读取者共享同一份源RTSP、HLS、WebRTC 读取者可以并存。改配置会中断正在看的客户端吗不会。配置文件支持热重载改动自动生效。默认安全吗默认配置对所有人开放发布和读取权限生产环境请修改authInternalUsers或切换到 HTTP / JWT 外部鉴权。录像能直接在网页上看吗能。回放接口输出 fMP4 分段浏览器video标签原生支持无需播放器插件。以上是 MediaMTX 从启动到投入生产的最短路径。所有协议的客户端接法FFmpeg、GStreamer、OBS、Python 等和每个配置项的完整说明仓库内的文档目录都有对应章节建议配合使用功能总览发布、读取、转码、录制、回放的完整文档安装方式独立二进制、Docker、各平台包源码入口程序从internal/core启动核心逻辑均在internal/下【免费下载链接】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),仅供参考
返回列表