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 ef846e5cfa first commit 1 month ago
README.md first commit 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. 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):

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

Webcam 1 (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.).