60 lines
1.7 KiB
Markdown
60 lines
1.7 KiB
Markdown
# Wild Dragon
|
|
|
|
Self-hosted Media Asset Management platform built to replace Grass Valley AMPP FramelightX.
|
|
|
|
## Services
|
|
|
|
| Service | Port | Description |
|
|
|---------|------|-------------|
|
|
| **web-ui** | 8080 | Browser-based MAM interface + capture controls |
|
|
| **mam-api** | 3000 | REST API — assets, projects, bins, jobs |
|
|
| **capture** | 3001 | SDI capture daemon (Blackmagic DeckLink + FFmpeg) |
|
|
| **worker** | — | Async job processor (proxy gen, thumbnails, conform) |
|
|
| **db** | 5432 | PostgreSQL 16 metadata store |
|
|
| **queue** | 6379 | Redis 7 job queue (BullMQ) |
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# Clone
|
|
git clone https://forge.wilddragon.net/zgaetano/wild-dragon.git
|
|
cd wild-dragon
|
|
|
|
# Configure
|
|
cp .env.example .env
|
|
# Edit .env with your S3 credentials and secrets
|
|
|
|
# Launch
|
|
docker compose up -d
|
|
|
|
# Open
|
|
open http://localhost:8080
|
|
```
|
|
|
|
## Architecture
|
|
|
|
```
|
|
SDI Input (DeckLink) → capture service → dual FFmpeg streams
|
|
├─ HiRes (ProRes) → S3
|
|
└─ Proxy (H.264) → S3
|
|
↓
|
|
web-ui ← mam-api ← PostgreSQL ← worker (BullMQ)
|
|
├─ proxy_gen
|
|
├─ thumbnail
|
|
└─ conform (EDL → FFmpeg → export)
|
|
```
|
|
|
|
## Tech Stack
|
|
|
|
- **Backend:** Node.js / Express
|
|
- **Frontend:** Vanilla HTML/CSS/JS
|
|
- **Database:** PostgreSQL 16
|
|
- **Queue:** Redis 7 + BullMQ
|
|
- **Storage:** S3-compatible (RustFS)
|
|
- **Media Processing:** FFmpeg
|
|
- **Capture:** Blackmagic DeckLink SDK
|
|
- **Deployment:** Docker Compose
|
|
|
|
## License
|
|
|
|
MIT
|