Capture and playback of audio and video with minimal latency.
Real-time Multimedia processing on audio and video.
Multiprocess architecture to let applications share multimedia content.
Seamless support for PulseAudio, JACK, ALSA and GStreamer applications.
Sandboxed applications support. See Flatpak for more info.
An older version of PipeWire (0.2) that does not support the audio use cases should be available in most distributions.
If you want to get the code from GitLab then the latest PipeWire source code is available at GitLab. To clone the repository, just:
$ git clone https://gitlab.freedesktop.org/pipewire/pipewire.git
PipeWire is using the Meson build system and we provide a convenience script and Makefile that makes building PipeWire fairly straightforward:
$ ./autogen.sh --prefix=$PREFIX $ make $ make installThe
$PREFIXis commonly set to
You can test the PipeWire server from the source directory with:
$ make run
To test video capture and display with SDL from the source directory, try in another window:
$ make shell
This sets up the environment variables to run the example apps from the build directory like this:
You can play around with the other examples as well. Don't forget to set the correct environment variables as shown above or else the plugins and modules won't be found.
PipeWire is Free Software and is developed in the open. It was created by Wim Taymans, Principal Engineer at Red Hat and co-creator of the GStreamer multimedia framework. Code can be found on GitLab.
Join us on IRC at #pipewire on Freenode.
Issues are tracked on GitLab Issues.
We adhere to the Contributor Covenant for our code of conduct: Code of Conduct.