Jump to content
  • Pipewire — Multimedia Processing

    aum

    • 733 views
    • 3 minutes
     Share


    • 733 views
    • 3 minutes

    PipeWire is a project that aims to greatly improve handling of audio and video under Linux.

     

    It provides a low-latency, graph based processing engine on top of audio and video devices that can be used to support the use cases currently handled by both pulseaudio and JACK. PipeWire was designed with a powerful security model that makes interacting with audio and video devices from containerized applications easy, with supporting Flatpak applications being the primary goal. Alongside Wayland and Flatpak we expect PipeWire to provide a core building block for the future of Linux application development. 

     

    Features include:

     

    • 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.

     

    Getting PipeWire

     

    PipeWire (0.3) with support for audio use cases should be available in most distributions. Most distributions however will not have enabled the audio parts by default but you can read here how to run some examples.

     

    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

     

    Setup


    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 install

     

    The $PREFIX is commonly set to /usr or /usr/local.

     

    Running


    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:

     

      $ build/src/examples/video-play


    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.

     

    Documentation

     

    There is documentation here.

     

    Developers can also check out the (incomplete) PipeWire API documentation.

     

    A collection of other useful pages can be found on the PipeWire wiki.

     

    Get Involved


    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 OFTC.

     

    Issues are tracked on GitLab Issues.

     

    We adhere to the Contributor Covenant for our code of conduct: Code of Conduct.

     

    Follow us on Twitter: PipewireP.

     

    Source


    User Feedback

    Recommended Comments

    There are no comments to display.



    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.
    Note: Your post will require moderator approval before it will be visible.

    Guest
    Add a comment...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...