Pipewire-1.0.0

Pipewire の概要

The pipewire package contains a server and userspace API to handle multimedia pipelines. This includes a universal API to connect to multimedia devices, as well as sharing multimedia files between applications.

[注記]

注記

LFS や依存パッケージが本ブックに示す最新安定バージョンでなかった場合には、BLFS 開発版においては、パッケージのビルドや処理実行が適切に行われないことがあります。

パッケージ情報

Pipewire の依存パッケージ

推奨

任意

alsa-lib-1.2.10, Avahi-0.8, fdk-aac-2.0.2, FFmpeg-6.1, libcanberra-0.30, libdrm-2.4.118 (for one example and libcamera support), libxcb-1.16, libsndfile-1.2.2, libusb-1.0.26, Opus-1.4, SDL2-2.28.5 (for some examples), Valgrind-3.22.0, Vulkan-Loader-1.3.273, Xorg ライブラリ, Doxygen-1.9.8 and Graphviz-9.0.0 (for documentation), JACK, ldacBT, libcamera, libmysofa, and xmltoman

編集ノート: https://wiki.linuxfromscratch.org/blfs/wiki/pipewire

Pipewire のインストール

以下のコマンドを実行して pipewire をビルドします。

mkdir build &&
cd    build &&

meson setup ..                \
      --prefix=/usr           \
      --buildtype=release     \
      -Dsession-managers="[]" &&
ninja

ビルド結果をテストする場合は ninja test を実行します。

root ユーザーになって以下を実行します。

ninja install

コマンド説明

--buildtype=release: 本パッケージの安定版リリース向けに適したビルドタイプを指定します。 デフォルトにしていると、最適化されていないバイナリを生成する場合があるためです。

-Dsession-managers="[]": This switch allows specifying the session managers to build as subprojects. We specify an empty list to prevent meson from downloading any external copy of the session managers. A Pipewire session manager recommended by the PipeWire developers for general use, Wireplumber-0.4.17, is available as a separate BLFS package. Build it after installing Pipewire if you need to run the Pipewire daemon (for example in order to support Snapshot-45.1).

-Ddocs=true: This switch enables the generation of HTML documentation. The optional dependencies for documentation need to be installed for this to work.

-Dman=true: This switch enables the generation of manual pages. The optional dependencies for documentation need to be installed for this to work.

-Dffmpeg=enabled: This switch enables using ffmpeg for audio conversion as a SPA backend.

-Dvulkan=enabled: This switch enables using Vulkan for video rendering as a SPA backend.

パッケージ構成

インストールプログラム: pipewire, pw-cat, pw-cli, pw-config, pw-dot, pw-dump, pw-jack, pw-link, pw-loopback, pw-metadata, pw-mididump, pw-mon, pw-profiler, pw-reserve, pw-top, pw-v4l2, spa-acp-tool, spa-inspect, spa-json-dump, spa-monitor, spa-resample, and pipewire-aes67, pipewire-avb, pipewire-pulse (symlinks to pipewire), pw-dsdplay, pw-encplay, pw-midiplay, pw-midirecord, pw-play, pw-record (symlinks to pw-cat)
インストールライブラリ: libpipewire-0.3.so and 60 modules below /usr/lib/pipewire-0.3 and /usr/lib/spa-0.2
インストールディレクトリ: /usr/include/pipewire-0.3, /usr/include/spa-0.2, /usr/lib/alsa-lib, /usr/lib/pipewire-0.3, /usr/lib/spa-0.2, /usr/share/alsa-card-profile, /usr/share/pipewire, /usr/share/spa-0.2

概略説明

pipewire

is a service that allows access to multimedia devices and allows sharing of multimedia files between applications

pipewire-pulse

starts a Pulseaudio-compatible version of the pipewire service

pw-cat

allows you to play or record media using a pipewire instance

pw-cli

allows you to interact with a pipewire instance

pw-config

allows you to interact with pipewire's configuration system for debugging purposes or syntax checking

pw-dot

lists all of the daemons and objects in use by pipewire

pw-dump

dumps debug messages from a local or remote pipewire instance to the console

pw-jack

runs JACK applications on a pipewire instance

pw-link

links pipewire ports together

pw-loopback

initializes a loopback link between two different pipewire ports. This is useful for testing and debugging

pw-metadata

inspects, adds, and removes metadata for objects

pw-mididump

dumps MIDI messages from a file to the screen

pw-mon

allows you to monitor pipewire instances

pw-profiler

tracks memory usage and API calls used by pipewire

pw-reserve

reserves or monitors a device via D-Bus

pw-top

displays real-time performance information from pipewire

pw-v4l2

runs v4l2 applications on a pipewire instance

spa-acp-tool

inspects the card profile of a given sound card

spa-inspect

allows you to inspect pipewire plugins

spa-json-dump

dumps the current pipewire configuration in JSON format.

spa-monitor

allows you to monitor pipewire plugins

spa-resample

resamples a given file

libpipewire-0.3.so

contains API functions for handling multimedia pipelines