https://github.com/erodozer/pipewire-gd
Pipewire audio and video capture for Godot
https://github.com/erodozer/pipewire-gd
Last synced: 3 months ago
JSON representation
Pipewire audio and video capture for Godot
- Host: GitHub
- URL: https://github.com/erodozer/pipewire-gd
- Owner: erodozer
- License: unlicense
- Created: 2024-01-24T21:56:45.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-25T16:25:09.000Z (9 months ago)
- Last Synced: 2025-01-10T15:17:13.958Z (5 months ago)
- Language: C++
- Size: 37.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pipewire-gd
Pipewire interface library, specifically designed for capturing and rendering streams within a Godot context.
Pipewire is a *nix specific library. As such, this project is designed and maintained such that building is expected to be done on a Linux system.
Primary use-cases for this library include
- Applying advanced visual effects to captured application that are not possible in software like OBS
- Mirroring desktop windows into VR/XR contexts### Getting started:
0. Make sure you have libpipewire-0.3 headers available on your build system.
- ex. on a Pop_OS system you can do this easily with
`apt install libpipewire-0.3-dev`
1. Clone this repository with submodules.
- `git clone --recurse-submodules https://github.com/erodozer/pipewire-gd.git`
- `cd pipewire-gd`
2. Update to the latest `godot-cpp`.
- `git submodule update --remote`
2. Build a debug binary for the current platform.
- `scons`
3. Import, edit, and play `project/` using Godot Engine 4+.
- `godot --path project/`### Repository structure:
- `project/` - Godot project boilerplate.
- `addons/example/` - Files to be distributed to other projects.¹
- `demo/` - Scenes and scripts for internal testing. Not strictly necessary.
- `src/` - Source code of this extension.
- `godot-cpp/` - Submodule needed for GDExtension compilation.¹ Before distributing as an addon, all binaries for all platforms must be built and copied to the `bin/` directory. This is done automatically by GitHub Actions.