diff options
| author | yum <yum.food.vr@gmail.com> | 2025-10-13 18:38:58 -0700 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2025-10-28 17:19:35 -0700 |
| commit | 8aca05a7e644f3d4aff6bcf636514882dd2ae934 (patch) | |
| tree | f2b6ad908083affb13dca32f803180e60d67638f /README.md | |
| parent | 906f53826285a713512f199b1c99fd68bc1dbc52 (diff) | |
meow
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..5faee83 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +Shitty service to proxy data from OBS into a low-latency MPEG-DASH stream VRChat understands. + +## Usage + +1. Configure OBS with a custom server pointing at `rtmp://<your-domain>/live` and the pre-shared key stored in `STREAM_PSK`. +2. Start the Python service (see `etc/systemd/system/obsproxy.service` for a sample unit). +3. Share `https://<your-domain>/dash/manifest.mpd` with your VRChat video player. Multiple viewers can consume the feed concurrently. + +Environmental knobs: + +- `STREAM_PSK`: required PSK for the single ingest client. +- `DASH_SEGMENT_TIME` / `DASH_FRAGMENT_TIME`: tweak DASH segment/fragment durations to balance latency vs resilience. + +The server seeds a fresh 128-bit session ID on every restart and writes DASH fragments under `<STREAM_DIR>/live/<session-hex>`. The public manifest route stays fixed at `/dash/manifest.mpd`. |
