summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2025-10-14 19:22:10 -0700
committeryum <yum.food.vr@gmail.com>2025-10-28 17:19:36 -0700
commit32f304df0f463c08c93a22d67da6335bec2b3fbe (patch)
treebf2f12d417734032ad5e3d733098411644674ec3 /README.md
parentfdccac50e6740872ac5a6de881f39d660ced0c83 (diff)
switch to rtmps
Diffstat (limited to 'README.md')
-rw-r--r--README.md13
1 files changed, 9 insertions, 4 deletions
diff --git a/README.md b/README.md
index 6bc954d..5832972 100644
--- a/README.md
+++ b/README.md
@@ -2,18 +2,19 @@ Shitty service to proxy data from OBS into an HTTP Live Streaming (HLS) feed VRC
## Streamer instructions
-1. Configure OBS with a custom server pointing at `rtmp://<your-domain>/live`
- and in the stream server. Enter your stream key.
+1. Configure OBS with a custom server pointing at `rtmps://<your-domain>:1935/live`
+ in the stream settings and enter your stream key.
2. Press stream. Check status on bottom right of obs.
## Dev instructions
-1. Get ssh perms to yummers.dev.
+1. Get ssh perms to yummers.dev. `ssh yummers.dev` should log you in as yum if
+ not, you'll have to update the ssh commands below.
2. Run ./push.sh
3. Add this to your .bashrc:
```bash
function check_live {
- ssh yummers.dev 'sudo systemctl status obsproxy'
+ ssh yummers.dev 'sudo journalctl -u obsproxy -f'
}
function start_live {
ssh yummers.dev 'sudo systemctl start obsproxy'
@@ -38,10 +39,14 @@ function get_live {
3. Start the Python service (see `etc/systemd/system/obsproxy.service` for a sample unit). The bundled entrypoint now runs under [Waitress](https://docs.pylonsproject.org/projects/waitress/en/stable/) so you get a production-grade WSGI server out of the box.
4. When the service starts it prints a session-specific playlist URL like `https://<your-domain>/hls/<session-hex>/stream.m3u8`; share that exact URL with your VRChat video player. Multiple viewers can consume the feed concurrently.
+RTMPS termination happens at nginx (default port `1935`) via the `ngx_stream_module`, which proxies plain RTMP to the local nginx-rtmp listener on `127.0.0.1:1936`. Update the `INGEST_RTMP_*` settings if you run the backend elsewhere, and make sure the stream module is installed/enabled (on Debian/Ubuntu install `libnginx-mod-stream`).
+
Environmental knobs:
- `OBS_STREAM_KEY` / `STREAM_PSK`: required PSK for the single ingest client.
- `INGEST_THREAD_QUEUE_SIZE`: RTMP demux queue depth before frames are dropped (defaults to `4096`).
+- `INGEST_RTMP_HOST`: host FFmpeg pulls RTMP from (defaults to `127.0.0.1`).
+- `INGEST_RTMP_PORT`: port FFmpeg pulls RTMP from (defaults to `1936`).
- `HLS_SEGMENT_TIME`: length (in seconds) of the `.ts` segments emitted by FFmpeg (defaults to `2`).
- `HLS_PLAYLIST_SIZE`: number of segments retained in the rolling playlist (defaults to `6`).
- `HLS_DELETE_THRESHOLD`: additional historical HLS segments to keep on disk before pruning (defaults to `2`).