From ef846e5cfa373c5c3279137e07e0634cd0738fd0 Mon Sep 17 00:00:00 2001 From: "Prof. Andy Couturier" Date: Sun, 1 Mar 2026 15:14:57 -0400 Subject: [PATCH] first commit --- README.md | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..45e9564 --- /dev/null +++ b/README.md @@ -0,0 +1,71 @@ +# OBS GStreamer Source Plugin - Setup Guide + +## Arch Linux (and variants) + +Install everything in one step: + +```bash +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: + +```powershell +[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 `` with the server IP address, which will be provided during the event. + +**Game stream** (H.265 over TCP with audio): + +``` +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. + +**Webcam 1** (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.).