docs(readme): mention the GUI surface in the quick-start
Users running v0.2 already have a full UI; calling it out so it isn't just discovered by accident.
This commit is contained in:
parent
86a5a50dec
commit
9a618f0b70
1 changed files with 23 additions and 8 deletions
31
README.md
31
README.md
|
|
@ -18,8 +18,9 @@ publisher (OBS / FFmpeg / SRT) ──▶ datarhei Core ──▶ WebRTC peers
|
||||||
Sub-second glass-to-glass on a LAN over WHEP, no SFU dependencies,
|
Sub-second glass-to-glass on a LAN over WHEP, no SFU dependencies,
|
||||||
single binary, single Docker image.
|
single binary, single Docker image.
|
||||||
|
|
||||||
> **Status:** M1–M4 complete, M5 (release) in flight. Live deploy
|
> **Status:** v0.2.0-dragonfork shipped 2026-05-03. Full GUI bundled
|
||||||
> running on TrueNAS since 2026-04-17.
|
> (Restreamer UI + Wild Dragon WebRTC admin). Live deploy running on
|
||||||
|
> TrueNAS since 2026-04-17.
|
||||||
|
|
||||||
## What this fork adds
|
## What this fork adds
|
||||||
|
|
||||||
|
|
@ -34,9 +35,12 @@ single binary, single Docker image.
|
||||||
- **`DELETE /api/v3/whep/{processID}/{resourceID}`** — idempotent
|
- **`DELETE /api/v3/whep/{processID}/{resourceID}`** — idempotent
|
||||||
teardown.
|
teardown.
|
||||||
- **`PATCH …/{resourceID}`** — trickle ICE.
|
- **`PATCH …/{resourceID}`** — trickle ICE.
|
||||||
- **Browser-side smoke player** at `test/whep-player.html` —
|
- **Bundled GUI** — the upstream Restreamer React UI is built into the
|
||||||
zero-dependency WHEP subscriber, ICE/codec/bitrate stats, JWT
|
TrueNAS deploy image with Wild Dragon branding, plus a single-file
|
||||||
field, shareable `?url=&token=` URLs.
|
Wild Dragon WebRTC admin page for one-click `webrtc.enabled` toggling.
|
||||||
|
- **Browser-side smoke player** at `whep-player.html` — zero-dependency
|
||||||
|
WHEP subscriber, ICE/codec/bitrate stats, JWT field, shareable
|
||||||
|
`?url=&token=` URLs.
|
||||||
- **Multi-viewer correctness:** per-stream peer cap, ICE-failure
|
- **Multi-viewer correctness:** per-stream peer cap, ICE-failure
|
||||||
auto-cleanup, process-stop broadcast tear-down.
|
auto-cleanup, process-stop broadcast tear-down.
|
||||||
- **Error matrix** per the design spec: `406` on codec mismatch,
|
- **Error matrix** per the design spec: `406` on codec mismatch,
|
||||||
|
|
@ -65,10 +69,17 @@ EOF
|
||||||
docker compose up -d --build
|
docker compose up -d --build
|
||||||
```
|
```
|
||||||
|
|
||||||
Then:
|
Then open in a browser (replace `<host>` with your `PUBLIC_IP`):
|
||||||
|
|
||||||
- Swagger UI: `http://<host>:8080/api/swagger/index.html`
|
| URL | What it does |
|
||||||
- WHEP smoke player: open `test/whep-player.html` in a browser
|
| --- | --- |
|
||||||
|
| `http://<host>:8080/` | **Restreamer UI** — manage processes, ingests, outputs |
|
||||||
|
| `http://<host>:8080/wilddragon-webrtc.html` | **Wild Dragon WebRTC admin** — toggle `webrtc.enabled` per process, copy WHEP URL |
|
||||||
|
| `http://<host>:8080/whep-player.html` | **WHEP smoke player** — verify the WebRTC stream renders |
|
||||||
|
| `http://<host>:8080/api/swagger/index.html` | **Swagger** — full API docs |
|
||||||
|
|
||||||
|
The Restreamer UI doesn't yet have a WebRTC checkbox in its process
|
||||||
|
editor — use `/wilddragon-webrtc.html` for that. Tracked in issue #15.
|
||||||
|
|
||||||
### Sample process JSON
|
### Sample process JSON
|
||||||
|
|
||||||
|
|
@ -108,6 +119,8 @@ SDI + file audio), use the `video_map` and `audio_map` fields:
|
||||||
| Design spec | [`docs/design/2026-04-16-datarhei-dragon-fork-webrtc-design.md`](docs/design/2026-04-16-datarhei-dragon-fork-webrtc-design.md) |
|
| Design spec | [`docs/design/2026-04-16-datarhei-dragon-fork-webrtc-design.md`](docs/design/2026-04-16-datarhei-dragon-fork-webrtc-design.md) |
|
||||||
| M1 (PoC) plan | [`docs/design/2026-04-16-datarhei-dragon-fork-m1-webrtc-poc.md`](docs/design/2026-04-16-datarhei-dragon-fork-m1-webrtc-poc.md) |
|
| M1 (PoC) plan | [`docs/design/2026-04-16-datarhei-dragon-fork-m1-webrtc-poc.md`](docs/design/2026-04-16-datarhei-dragon-fork-m1-webrtc-poc.md) |
|
||||||
| M2 (Core integration) spec | [`docs/design/2026-04-17-datarhei-dragon-fork-m2-webrtc-core-integration.md`](docs/design/2026-04-17-datarhei-dragon-fork-m2-webrtc-core-integration.md) |
|
| M2 (Core integration) spec | [`docs/design/2026-04-17-datarhei-dragon-fork-m2-webrtc-core-integration.md`](docs/design/2026-04-17-datarhei-dragon-fork-m2-webrtc-core-integration.md) |
|
||||||
|
| Prometheus metrics design (deferred) | [`docs/design/2026-05-03-datarhei-dragon-fork-webrtc-prometheus-metrics-design.md`](docs/design/2026-05-03-datarhei-dragon-fork-webrtc-prometheus-metrics-design.md) |
|
||||||
|
| TrueNAS deploy guide | [`deploy/truenas/core/README.md`](deploy/truenas/core/README.md) |
|
||||||
| Testing | [`test/TESTING.md`](test/TESTING.md) |
|
| Testing | [`test/TESTING.md`](test/TESTING.md) |
|
||||||
| Changelog (Dragon Fork) | [`CHANGELOG.md`](CHANGELOG.md) |
|
| Changelog (Dragon Fork) | [`CHANGELOG.md`](CHANGELOG.md) |
|
||||||
| Upstream Datarhei docs | [docs.datarhei.com/core](https://docs.datarhei.com/core) |
|
| Upstream Datarhei docs | [docs.datarhei.com/core](https://docs.datarhei.com/core) |
|
||||||
|
|
@ -142,6 +155,8 @@ Dragon Fork is built on:
|
||||||
|
|
||||||
- **datarhei Core** — Apache 2.0, © datarhei. The base repository this
|
- **datarhei Core** — Apache 2.0, © datarhei. The base repository this
|
||||||
fork tracks. See [`NOTICE`](NOTICE) for the required attribution.
|
fork tracks. See [`NOTICE`](NOTICE) for the required attribution.
|
||||||
|
- **datarhei Restreamer UI** — Apache 2.0, © datarhei. The React frontend
|
||||||
|
bundled into the TrueNAS deploy image with Wild Dragon overlays.
|
||||||
- **Pion WebRTC** — MIT. The Go WebRTC stack the egress path is built
|
- **Pion WebRTC** — MIT. The Go WebRTC stack the egress path is built
|
||||||
on.
|
on.
|
||||||
- **FFmpeg** — LGPL / GPL (build-flag dependent). Used as a subprocess
|
- **FFmpeg** — LGPL / GPL (build-flag dependent). Used as a subprocess
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue