diff --git a/README.md b/README.md index 45e9564..bf342d6 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ https://gstreamer.freedesktop.org/download/#windows The current stable version is **1.28.1**. Make sure you pick the **MinGW** variant and the **x86_64** architecture, not MSVC, and not x86. -Run the installer. It will install to `C:\gstreamer\1.0\mingw_x86_64\` by default. +Run the installer. When prompted, select the **Complete** installation to ensure all plugins (including libav, needed for software decoding) are included. It will install to `C:\gstreamer\1.0\mingw_x86_64\` by default. ### 2. Add GStreamer to PATH @@ -54,18 +54,29 @@ Restart OBS if it was running. Add a **GStreamer Source** in OBS and paste the appropriate pipeline. Replace `` with the server IP address, which will be provided during the event. -**Game stream** (H.265 over TCP with audio): +**Game stream** (H.265 over TCP with audio, NVIDIA GPU): ``` tcpclientsrc port=5000 host= ! matroskademux name=demux ! queue ! h265parse ! nvh265dec ! videorate ! videoconvert ! video. demux. ! queue ! audiorate ! audioconvert ! audio. ``` -This demuxes a Matroska stream into video (H.265, decoded via NVIDIA hardware) and audio. +**Game stream** (H.265 over TCP with audio, no NVIDIA GPU): -**Webcam 1** (MJPEG over TCP): +``` +tcpclientsrc port=5000 host= ! matroskademux name=demux ! queue ! h265parse ! avdec_h265 ! videorate ! videoconvert ! video. demux. ! queue ! audiorate ! audioconvert ! audio. +``` + +The first pipeline uses `nvh265dec` for NVIDIA hardware decoding. The second uses `avdec_h265` for software decoding and works on any system (AMD, Intel, or no dedicated GPU). Software decoding uses more CPU but requires no specific graphics card. + +**Webcam** (MJPEG over TCP): ``` tcpclientsrc port=5001 host= do-timestamp=true ! multipartdemux ! image/jpeg, framerate=30/1 ! jpegparse ! jpegdec ! queue ! video. ``` For additional webcams, duplicate the pipeline and increment the port number (`5002`, `5003`, etc.). + +### TomorrowLAN stream layout + +- **Quad stream**: one player cam per IP (4 IPs total, one webcam each). +- **Main stream**: two player cams per IP (2 IPs total, two webcams each, ports `5001` and `5002`).