MediaMTX 的 Web 界面。
在浏览器里观看直播、浏览录像、修改任意配置项。
🌍 用 30 种语言阅读
🇺🇸 English • 🇪🇸 Español • 🇨🇳 中文 • 🇮🇹 Italiano • 🇩🇪 Deutsch • 🇷🇺 Русский • 🇫🇷 Français • 🇵🇹 Português • 🇯🇵 日本語 • 🇵🇱 Polski • 🇰🇷 한국어 • 🇹🇷 Türkçe • 🇳🇱 Nederlands • 🇨🇿 Čeština • 🇹🇼 繁體中文 • 🇧🇷 Português (BR) • 🇮🇩 Bahasa Indonesia • 🇷🇴 Română • 🇸🇪 Svenska • 🇩🇰 Dansk • 🇳🇴 Norsk • 🇫🇮 Suomi • 🇬🇷 Ελληνικά • 🇭🇺 Magyar • 🇺🇦 Українська • 🇻🇳 Tiếng Việt • 🇵🇭 Tagalog • 🇹🇭 ไทย • 🇮🇳 हिन्दी • 🇧🇩 বাংলা
MediaMTX 是出色的流媒体服务器,但没有界面。Connect 就是它缺的那个前端:一个容器,对接 MediaMTX API,把它变成监控墙、录像库和配置编辑器。
它是伴侣,不是替代品。每个页面都对应 MediaMTX 本就暴露的东西:一条 path、一个 API 端点、一个 runOn* 钩子、一种它原生提供的协议。不存视频,不代理媒体,不用数据库。
多架构镜像(linux/amd64、linux/arm64)—— Docker 会拉取正确的那个。
已经在跑 MediaMTX? 把 Connect 放在它旁边:
docker run -d \
-p 3000:3000 \
-e BACKEND_SERVER_MEDIAMTX_URL=http://<your-mediamtx-host> \
-v /path/to/recordings:/recordings \
-v mediamtx-connect-data:/data \
bcanfield/mediamtx-connect:latest从零开始? 自带的 compose 会同时启动两者:
git clone https://github.com/bcanfield/mediamtx-connect.git
cd mediamtx-connect
docker compose up -d然后打开 http://localhost:3000。
Important
Connect 需要你的 mediamtx.yml 里有 api: yes。附带的配置开箱可用。
MediaMTX 已知的每条 path,2 到 4 列网格排布。
- 逐卡片选择 WebRTC 或 HLS。
AUTO静默回退到 HLS,LOW-LAT坚持走 WebRTC,COMPAT强制 HLS —— 每张卡片显示的都是实际用上的传输方式。 - 空闲时也有快照。 后台任务为每张卡片保留一帧近照,并在标签上标出它的时间。
- 实时遥测。 编解码、观看人数和在线时长,直接取自 path 列表。
- 如实的录制状态。 卡片显示流是否实际在录制;读不到的状态显示为未知,绝不显示为关闭。
- 推流地址一键复制。 RTSP、RTMP 与 SRT,由服务器自己的监听地址生成。
- 每条流的 MP4,按天分组,并自动生成缩略图。
- 就地展开的内嵌播放器,基于 HTTP Range 请求可自由拖动。
- 流式下载,带实时进度与取消。
- 按
/即可过滤。
- 完整的服务器配置 —— Logging、API、Hooks、RTSP、RTMP、HLS、WebRTC、SRT 共 65 个带类型、带校验的控件。
- path 默认值与逐 path 覆盖,落在 MediaMTX 真正提供它们的作用域上。保存通配符覆盖的流会写入一条稀疏条目,未改动的键继续跟随默认值。
- 全部 15 个
runOn*钩子,凡是保存后会重启 path 的地方都有提示。 - 稀疏写入 —— 只提交你改过的键。
单进程提供 API、SPA 与媒体 · 多架构 · GET /health · 结构化日志 · PWA · 明暗主题 · 30 种语言 · 无数据库。
它们只用于首次启动。之后一切都能在 Config 里改。
| 变量 | 默认值 | 用途 |
|---|---|---|
BACKEND_SERVER_MEDIAMTX_URL |
http://mediamtx |
Connect 在其容器内部访问 MediaMTX API 的地址 |
MEDIAMTX_API_PORT |
9997 |
MediaMTX API 端口 |
MEDIAMTX_RECORDINGS_DIR |
./recordings |
挂载录像的宿主机路径(仅 compose) |
MEDIAMTX_SCREENSHOTS_DIR |
/screenshots |
缩略图存放位置 |
http://mediamtx 只在自带 compose 的网络里能解析 —— 独立使用 docker run 时,请指向你自己的主机。
Browser ──HLS / WebRTC (WHEP)──────────────────────────┐
│ │
│ oRPC (typed) ▼
▼ ┌──────────┐
┌─────────────────────┐ MediaMTX HTTP API │ MediaMTX │
│ mediamtx-connect │ ────────────────────────▶ │ server │
│ Hono API + React SPA│ └──────────┘
└─────────────────────┘ │
│ reads │ writes
▼ ▼
recordings/ + screenshots/ ◀──────────────────── MP4 segments
播放是浏览器直连 MediaMTX。Connect 只搬运 JSON,外加它从磁盘读出的录像和缩略图。
| 功能清单 | 已交付的全部能力、路由与过程 |
| 架构 | 各部分如何组合 |
| 参与贡献 | 开发环境、脚本与 PR 流程 |
| 示例 | 树莓派摄像头、用于测试的模拟流 |
欢迎提 issue 和 PR。pnpm install && pnpm dev 会带起完整栈并预置示例数据 —— 详见 CONTRIBUTING.md,另外 PR 标题需遵循 conventional commits。我们遵守行为准则。