You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Prof. Andy Couturier be78f984ac Improved instructions 1 month ago
README.md Improved instructions 1 month ago

README.md

OBS GStreamer Source Plugin - Setup Guide

Arch Linux (and variants)

Install everything in one step:

yay -S obs-gstreamer

No further setup needed. Skip to the OBS pipelines below.


Windows

1. Install GStreamer

Download the latest MinGW x86_64 runtime installer from the official GStreamer site:

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. 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

Open PowerShell and run:

[Environment]::SetEnvironmentVariable("PATH", "C:\gstreamer\1.0\mingw_x86_64\bin;" + [Environment]::GetEnvironmentVariable("PATH", "User"), "User")

This prepends the GStreamer binaries to your user PATH. You can also do this manually via System Properties > Environment Variables by adding C:\gstreamer\1.0\mingw_x86_64\bin to your user PATH.

3. Install obs-gstreamer

Download obs-gstreamer.zip from the latest release (currently v0.4.1):

https://github.com/fzwoch/obs-gstreamer/releases

Extract the zip and copy obs-gstreamer.dll from the windows folder to:

C:\Program Files\obs-studio\obs-plugins\64bit\

Restart OBS if it was running.


OBS Pipelines

Add a GStreamer Source in OBS and paste the appropriate pipeline. Replace <IP> with the server IP address, which will be provided during the event.

Game stream (H.265 over TCP with audio, NVIDIA GPU):

tcpclientsrc port=5000 host=<IP> ! matroskademux name=demux ! queue ! h265parse ! nvh265dec ! videorate ! videoconvert ! video.  demux. ! queue ! audiorate ! audioconvert ! audio.

Game stream (H.265 over TCP with audio, no NVIDIA GPU):

tcpclientsrc port=5000 host=<IP> ! 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=<IP> 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).