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.
72 lines
2.1 KiB
Markdown
72 lines
2.1 KiB
Markdown
# 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 `<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.).
|