PipeWire
pipewire.org より:
- PipeWire は Linux における音声と動画の取り回しを大幅に向上させることを目標とするプロジェクトです。現在 PulseAudio と JACK によって処理されているユースケースを同時にサポートして、強力な動画入出力処理を実現することを目指しています。また、コンテナ化されたアプリケーションからオーディオビデオデバイスを簡単に扱えるようなセキュリティモデルを導入し、Flatpak アプリケーションをサポートすることが念頭に置かれています。Wayland や Flatpak と一緒に未来の Linux アプリケーション開発の中心的な存在となるよう期待されています。特徴:
- 遅延を最小限に押さえた音声・動画再生と録画。
- リアルタイムの音声・動画マルチメディア処理。
- アプリケーションがマルチメディアコンテンツを共有できるマルチプロセスアーキテクチャ。
- 最新のアプリケーションで使いやすい統合を提供する GStreamer プラグイン。
- サンドボックス化されたアプリケーションのサポート。
インストール
公式リポジトリの pipewire パッケージを インストール します。
Pipewire は systemd/ユーザー を使用してサーバーの管理と自動ソケット起動を行います。サービスの起動動作とログの詳細については、それぞれの systemd/ユーザー を参照してください。
必要に応じて、 pipewire-docs をインストールしてドキュメントを確認します。 pipewire-alsa、 pipewire-pulse、 pipewire-jack などの他のパッケージは、 PulseAudio/JACKの代わりにPipeWireを使用 したくない場合を除き、通常は必要ありません。 multilib をサポートするために、 lib 32-pipewireAUR、 lib 32-pipewire-jackAUR も利用できます。
使用方法
ビデオ
ソフトウェアはまだ実用段階とはいえませんが、問題なく使用することができます。PipeWire の GStreamer プラグインによって、GStreamer を使用して動画ストリームなどを処理しているほとんどのアプリケーションは特に設定をしなくても動作するはずです。例えば cheese などのアプリケーションで PipeWire を使って動画の入力を共有することができます。
GStreamer の autoplugging プロセスを使うには先に PipeWire プロセスを実行しておく必要があります。使用する前に pipewire
を起動してください。
オーディオ (JACK)
PipeWire 上での Jack プロトコルのサポートが実装されており、インターフェイスを使用するアプリケーションがテスト環境で動作します。プロオーディオに必要な低遅延環境を PipeWire によって組み立てることが可能です。
有効化して使用する方法は こちら を参照してください。
ALSA/レガシーアプリケーション
ALSA エミュレーションはまだ開発中ですが、動作するコードが出始めています。
Bluetooth
PipeWire は Bluez Bluetooth フレームワークに直接組み込むことができる bluetooth モジュールを提供しています。Paring and management hence works the same since it is handled by higher level interfaces.
参照
- Wiki — PipeWire Wiki on GitHub
- Pipewire Update Blog Post — PipeWire の2018年1月時点での進捗が書かれた記事