Files
mediamtx/docs/maintainer/3-architecture-and-code-map.md
T
QiuSW ca667251d2
lint / go (push) Canceled after 0s
lint / go_mod (push) Canceled after 0s
lint / conf (push) Canceled after 0s
lint / docslinks (push) Canceled after 0s
lint / docsorder (push) Canceled after 0s
lint / apidocs (push) Canceled after 0s
lint / other (push) Canceled after 0s
test / test_64 (push) Canceled after 0s
test / test_32 (push) Canceled after 0s
test / test_e2e (push) Canceled after 0s
chore: adopt DevHarness workflow (#1)
2026-08-28 10:11:59 +08:00

1.8 KiB
Raw Blame History

generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Architecture-and-Code-Map wiki_url: https://git.ilapage.cn/OPC/mediamtx/wiki/Architecture-and-Code-Map.- wiki_revision: 998205ee17d1cdea34d6e68681f7cff8ac34b941 synchronized_at: 2026-08-28T02:10:15Z

架构与代码地图

上游入口

  • main.go:程序入口。
  • internal/core/:服务装配、配置重载和生命周期。
  • internal/api/:Control API,当前版本使用 /v3 路由。
  • internal/conf/:配置结构、默认值与校验。
  • internal/servers/webrtc/:WebRTC/WHEP 服务及内置原生播放页面。
  • internal/servers/hls/:HLS 服务。
  • mediamtx.yml:完整配置参考。
  • api/openapi.yaml:Control API 契约。
  • internal/**/*_test.go:单元和集成测试。

定制管理页面目标结构

MediaMTX API HTTP 服务 :9997
├─ /admin/                         嵌入式原生 HTML/CSS/JS
└─ /v3/...                         现有 Control API

MediaMTX WebRTC :8889/{path}       低延迟预览
MediaMTX HLS    :8888/{path}       兼容预览

管理页面只负责调用既有 Control API、展示状态和嵌入播放器,不代理 RTSP 媒体数据,不引入 Node、数据库或前端框架。

主要 API

  • GET /v3/config/paths/list
  • POST /v3/config/paths/add/{name}
  • PATCH /v3/config/paths/patch/{name}
  • DELETE /v3/config/paths/delete/{name}
  • GET /v3/paths/list

API 契约以当前仓库 api/openapi.yaml 为唯一代码级事实来源。

修改边界

  • UI 静态资源与路由集中在 API 包的独立目录。
  • 不改变 RTSP 拉流、转封装、协议协商等媒体核心行为。
  • 管理路由必须复用现有 API 认证边界。
  • 上游内置播放器优先复用,避免维护第二套媒体播放实现。