blob: 9c215851fd4721e4f0f8c395319590cd2bf3d636 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
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. When the service starts it prints a session-specific manifest URL like `https://<your-domain>/dash/<session-hex>/manifest.mpd`; share that exact URL 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 manifest and segments are only exposed under `/dash/<session-hex>/`, making it infeasible to guess a live session path.
|