Skip to content

Latest commit

 

History

History
165 lines (125 loc) · 8.87 KB

File metadata and controls

165 lines (125 loc) · 8.87 KB

MediaMTX Connect

Giao diện web cho MediaMTX.
Xem luồng trực tiếp, duyệt bản ghi, sửa mọi khóa cấu hình — ngay trong trình duyệt.

CI Release Docker MIT

MediaMTX Connect — lưới luồng trực tiếp, trình duyệt bản ghi và trình sửa cấu hình
🌍 Đọc bằng 30 ngôn ngữ

🇺🇸 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 • 🇹🇭 ไทย • 🇮🇳 हिन्दी • 🇧🇩 বাংলা

Đây là gì

MediaMTX là một máy chủ phát trực tuyến xuất sắc nhưng không có giao diện. Connect chính là phần front-end còn thiếu: một container nói chuyện với API của MediaMTX và biến nó thành bức tường camera, kho lưu bản ghi và trình sửa cấu hình.

Đây là bạn đồng hành, không phải bản thay thế. Mọi màn hình đều dựa trên thứ MediaMTX vốn đã phơi ra: một path, một endpoint API, một hook runOn*, một giao thức nó phục vụ sẵn. Không lưu video, không proxy media, không dùng cơ sở dữ liệu.

Bắt đầu nhanh

Image đa kiến trúc (linux/amd64, linux/arm64) — Docker sẽ tải đúng bản.

Đã chạy MediaMTX rồi? Đặt Connect bên cạnh nó:

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

Bắt đầu từ con số không? File compose đi kèm dựng cả hai:

git clone https://github.com/bcanfield/mediamtx-connect.git
cd mediamtx-connect
docker compose up -d

Sau đó mở http://localhost:3000.

Important

Connect cần api: yes trong mediamtx.yml của bạn. Cấu hình đi kèm chạy được ngay.

Bạn nhận được gì

Xem trực tiếp

Mọi path mà MediaMTX biết, trong lưới 2 đến 4 cột.

  • WebRTC hay HLS, tùy từng thẻ. AUTO lặng lẽ rơi về HLS, LOW-LAT nhất quyết dùng WebRTC, COMPAT ép dùng HLS — và mỗi thẻ báo đúng phương thức truyền tải nó thực sự có được.
  • Ảnh chụp ngay cả khi rảnh. Một tác vụ nền giữ một khung hình mới trên mỗi thẻ, kèm tuổi của nó trên nhãn.
  • Đo lường trực tiếp. Codec, số người xem và thời gian trực tuyến, lấy thẳng từ danh sách path.
  • Trạng thái ghi trung thực. Thẻ cho biết luồng có đang ghi trên thực tế hay không; trạng thái mà Connect không đọc được sẽ là chưa rõ, chứ không phải tắt.
  • URL phát lên vào clipboard. RTSP, RTMP và SRT, dựng từ chính địa chỉ lắng nghe của máy chủ.

Bản ghi

  • Các file MP4 của từng luồng, gom theo ngày, kèm ảnh thu nhỏ tự động.
  • Trình phát bung ra ngay tại chỗ, tua được nhờ request HTTP Range.
  • Tải xuống theo luồng, có tiến độ trực tiếp và nút hủy.
  • Nhấn / để lọc.

Cấu hình, không cần YAML

  • Toàn bộ cấu hình máy chủ — 65 điều khiển có kiểu và được kiểm tra, trải khắp Logging, API, Hooks, RTSP, RTMP, HLS, WebRTC và SRT.
  • Path defaults và ghi đè theo từng path, trên đúng phạm vi mà MediaMTX phục vụ chúng. Lưu một luồng nằm dưới ký tự đại diện sẽ ghi một mục thưa, nên những khóa bạn không đụng tới vẫn kế thừa.
  • Đủ cả 15 hook runOn*, kèm cảnh báo ở nơi việc lưu sẽ khởi động lại path.
  • Ghi thưa — chỉ những khóa bạn đã đổi.

Vận hành

Một tiến trình cho API, SPA và media · đa kiến trúc · GET /health · log có cấu trúc · PWA · sáng và tối · 30 ngôn ngữ · không cần cơ sở dữ liệu.

Biến môi trường

Chúng chỉ gieo giá trị cho lần khởi động đầu tiên. Phần còn lại vẫn sửa được trong Config.

Biến Mặc định Mục đích
BACKEND_SERVER_MEDIAMTX_URL http://mediamtx Nơi Connect với tới API của MediaMTX từ bên trong container của nó
MEDIAMTX_API_PORT 9997 Cổng API của MediaMTX
MEDIAMTX_RECORDINGS_DIR ./recordings Đường dẫn trên host được gắn cho bản ghi (chỉ với compose)
MEDIAMTX_SCREENSHOTS_DIR /screenshots Nơi lưu ảnh thu nhỏ

http://mediamtx chỉ phân giải được trong mạng của file compose đi kèm — với docker run độc lập, hãy trỏ tới host của bạn.

Cách hoạt động

Browser ──HLS / WebRTC (WHEP)──────────────────────────┐
   │                                                   │
   │ oRPC (typed)                                      ▼
   ▼                                              ┌──────────┐
┌─────────────────────┐    MediaMTX HTTP API      │ MediaMTX │
│ mediamtx-connect    │ ────────────────────────▶ │  server  │
│ Hono API + React SPA│                           └──────────┘
└─────────────────────┘                                │
   │ reads                                             │ writes
   ▼                                                   ▼
recordings/ + screenshots/  ◀────────────────────  MP4 segments

Việc phát đi từ trình duyệt tới MediaMTX. Connect chỉ chuyển JSON, cộng thêm các bản ghi và ảnh thu nhỏ nó đọc từ đĩa.

Tài liệu

Tính năng Mọi khả năng, route và thủ tục đã phát hành
Kiến trúc Các mảnh ghép khớp với nhau ra sao
Đóng góp Thiết lập môi trường dev, script, quy trình PR
Ví dụ Camera Raspberry Pi, luồng giả để kiểm thử

Đóng góp

Rất hoan nghênh issue và PR. pnpm install && pnpm dev dựng cho bạn nguyên bộ stack kèm dữ liệu mẫu — xem CONTRIBUTING.md, và lưu ý tiêu đề PR theo conventional commits. Chúng tôi tuân theo Quy tắc ứng xử.

Giấy phép

MIT