恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

MediaMTX上手指南:5分钟让一路摄像头同时被WebRTC、RTSP与HLS读取

  • 首页
  • 资讯中心
  • /
  • MediaMTX上手指南:5分钟让一路摄像头同时被WebRTC、RTSP与HLS读取

相关资讯

YOLOv3人脸表情识别实战:从数据集准备到OpenCV部署全流程 2026/9/8 23:17:52
归并排序全解析:分治思想、多语言源码实现与 O(n log n) 复杂度证明(基于《Hello 算法》日文版文档) 2026/9/8 23:12:52
HTML+CSS+JS+jQuery+Bootstrap响应式动态展示网站模板实战拆解 2026/9/8 23:12:52

最新资讯

EFI/ESP系统分区详解:UEFI启动核心原理与实战修复
基于STM32的GPS导航实战:NMEA解析与串口排错全攻略
硬件电路设计项目实例:从原理图到PCB调试的完整流程
PCIe链路CT扫描:用gudumpinfo透视LTSSM与信号完整性
Spring Boot二手交易系统源码解析:从CRUD到状态机实战
网络安全——Burpsuite

今日推荐

基于MongoDB的图书管理系统:数据建模与Spring Boot+Vue实战
Claude Code安装配置全攻略:从零开始用上终端AI编程助手
tmux 会话管理与终端复用:AI 编程工作流的调度中枢实战

本周热门

超人会飞不算本事:系统稳定依赖清晰规则与边界设计
超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论
基于CNN的调制信号识别:MATLAB实现时频图分类实战

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

MediaMTX上手指南:5分钟让一路摄像头同时被WebRTC、RTSP与HLS读取

发布时间:2026/9/8 23:17:52
MediaMTX上手指南:5分钟让一路摄像头同时被WebRTC、RTSP与HLS读取 MediaMTX上手指南5分钟让一路摄像头同时被WebRTC、RTSP与HLS读取【免费下载链接】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 摄像头同时喂给网页预览、手机 App 和存档系统时传统做法往往要部署多套服务器再配转发。MediaMTX 是一个单二进制、零依赖的实时流媒体服务器兼代理它从摄像头拉流或接收推流再以 RTSP、RTMP、WebRTC、LL-HLS、SRT 等多种协议同时分发给任意客户端并支持录制到磁盘、之后回看。对需要快速搭起流媒体服务的安防工程师、直播开发者来说它足够简单直接。项目速览MediaMTX 的定位是“媒体中枢”一个进程管理所有 path即一路流每条 path 由单一发布者或外部拉流源供流再广播给任意多个读取端。单二进制部署无外部依赖覆盖 Linux、Windows、macOS 与树莓派内置 RTSP、RTMP、HLS、WebRTC、SRT 等协议流可任取任发自动转封装、不转码流可录制为 fMP4 / MPEG-TS并通过内置 playback 服务默认 9996 端口回看按需拉流没有客户端读流时不向摄像头发起连接省带宽事件钩子流就绪、有人读、录完一段等事件可触发自定义命令客观信息内容输入/输出协议MoQ、SRT、WebRTC、RTSP、RTMP、LL-HLS、MPEG-TS、RTP支持平台Linux、Windows、macOS、树莓派最小化启动最轻量的路径是容器化挂载仓库自带的默认配置 mediamtx.yml并映射所需端口。下面这条命令启动官方镜像端口映射即各协议的默认监听口。docker run --rm -it \ -v $(pwd)/mediamtx.yml:/mediamtx.yml \ -p 8554:8554 -p 1935:1935 -p 8888:8888 -p 8889:8889 -p 8890:8890 \ bluenviron/mediamtx执行后如果本地端口已被占用日志会立刻报出对应错误按提示改-p映射即可。正常运行时日志会依次打印各监听器地址末尾出现 ready 字样表示服务就绪、五条协议链路全部打开INF [RTSP] listener opened on [::]:8554 (TCP) INF [RTMP] listener opened on [::]:1935 (TCP) INF [HLS] listener opened on [::]:8888 (HTTP) INF [WebRTC] listener opened on [::]:8889 (HTTP) INF [SRT] listener opened on [::]:8890 (UDP) INF server is ready启动前快速确认三件事上述端口未被占用防火墙放行 UDPWebRTC 与 SRT 依赖它配置文件挂载路径正确。如果不想用容器也可执行git clone https://gitcode.com/GitHub_Trending/me/mediamtx后自行编译仓库是标准 Go 模块构建过程很直接。核心能力拆解协议接入与互转是免配置的内建行为流从 RTSP 进来客户端可以用 WebRTC 读浏览器 WebRTC 推流进来的流也能被 RTSP 客户端读取。服务端在中间完成转封装你只需保证编码格式在服务支持范围内。录制与保留策略通过pathDefaults统一开启。下面这段配置把所有流录为 fMP4按小时切段、保留 7 天后自动清理路径里的%path和日期变量会被替换为流名与时间。pathDefaults: record: yes recordFormat: fmp4 recordPath: ./recordings/%path/%Y-%m-%d_%H-%M-%S-%f recordSegmentDuration: 1h recordDeleteAfter: 7d保存后录制文件会按流名和日期落在./recordings/下需要调取历史画面时可通过 9996 端口的 playback 服务在浏览器回看适合需要按天归档的监控场景。按需拉流与事件钩子解决“没人看就不该拉流”的问题。对外部流地址开启sourceOnDemand只有客户端来读时才建立连接空闲一段时间后自动断开而runOnDemand则定义一条按需启动的推流命令方便用本地文件做测试源。paths: cam1: source: rtsp://192.168.1.101:554/stream1 sourceOnDemand: yes demo: runOnDemand: ffmpeg -re -stream_loop -1 -i demo.mp4 -c copy -f rtsp rtsp://localhost:$RTSP_PORT/$MTX_PATH runOnDemandRestart: yes保存并重启后cam1 路径在首次被读取前不会向摄像头发起连接demo 路径则在被请求播放时自动起推意味着测试不再依赖真实硬件。场景实战摄像头矩阵的多协议查看假设办公室有三路摄像头入口、停车场、办公区需求是网页直接预览、按天归档、允许其他系统用 RTSP 对接。既然录制与按需参数已在上一节的pathDefaults中统一设置这里只需声明三条流地址其余行为全部继承paths: entrance: source: rtsp://192.168.1.101:554/stream1 parking: source: rtsp://192.168.1.102:554/main office: source: rtsp://192.168.1.103:554/ch1保存配置并重启容器后任选一条流、任选一种协议即可验证服务是否在线流名网页预览WebRTCHLS 地址RTSP 地址entrancehttp://服务器IP:8889/entrancehttp://服务器IP:8888/entrance/index.m3u8rtsp://服务器IP:8554/entranceparkinghttp://服务器IP:8889/parkinghttp://服务器IP:8888/parking/index.m3u8rtsp://服务器IP:8554/parkingofficehttp://服务器IP:8889/officehttp://服务器IP:8888/office/index.m3u8rtsp://服务器IP:8554/office如果不想看画面、想程序化确认状态则把全局的api: true打开通过 9997 端口的 Control API 查询每条 path 的在线状态与读取数字段说明见官方文档。实战经验与避坑常见问题按“现象 → 原因 → 处理”排查WebRTC 黑屏、ICE 连接失败。现象是浏览器端无法起播。原因是 UDP 被 NAT 或防火墙拦截双端发现不了彼此。处理放行 WebRTC 所需 UDP 端口公网环境下配置webrtcICEServers指向一个 STUN 服务。播放延迟达数秒。现象是 HLS 画面明显滞后。原因是默认 HLS 分段约 6 秒。处理对延迟敏感的客户端改用 RTSP 或 WebRTC 观看确需 HLS 时把hlsVariant切到lowLatency。内存占用持续上涨。现象是进程常驻内存缓慢升高。原因是写队列、UDP 缓冲偏大或单路读取端过多。处理先开启 metrics 观察读取端数量与各 path 状态再回调writeQueueSize与udpReadBufferSize。调优参数速查详见仓库根目录 mediamtx.yml 的注释参数作用建议值writeQueueSize发包队列长度调低省内存512默认udpReadBufferSizeUDP 读缓冲调低缓冲减少丢包4194304hlsVariantHLS 分段模式lowLatencyrecordDeleteAfter录制保留时长控制磁盘占用7dlogLevel日志级别debug 输出量很大infoapi是否启用 Control APItrue监控方面把metrics设为 true 后9998 端口以 Prometheus 格式暴露指标配合logDestinations: [stdout, file]落盘日志排查线上问题基本够用。下一步全部配置字段与默认值docs/5-references/1-configuration-file.md各协议的发布与读取教程docs/3-publish/、docs/4-read/事件钩子hooks参考docs/2-features/20-hooks.md核心实现path 管理与各协议服务端internal/core/、internal/servers/打开仓库里的 mediamtx.yml挑一路你手上的摄像头填进paths十分钟内你手上就会有一个能看、能录、能回看的流媒体服务。【免费下载链接】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),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号