PipeWire是由Wim Taymans创建的免费开源应用程序 红帽首席工程师,GStreamer 多媒体框架的共同创造者。
它是从头开始构建的,特别注重支持Wayland和Flatpak旨在实现音频和视频处理的现代化。这包括支持单帧屏幕截图、屏幕捕获、本地桌面录制到视频,甚至可能将 Wayland 桌面本地投射到电视和显示器!
根据该项目的网站,其目标是
大大改进了Linux下音频和视频的处理。它旨在支持当前由 PulseAudio 和 Jack 处理的用例,同时提供相同级别的强大视频输入和输出处理。
它还引入了一种安全模型,使容器化应用程序与音频和视频设备的交互变得容易,支持 Flatpak 应用程序是主要目标。除了 Wayland 和 Flatpak,我们期望 PipeWire 为未来的 Linux 应用程序开发提供核心构建块。
PipeWire的特点
在这篇博文中,Christian 解释说 PipeWire 引入了一种安全模型,该模型有助于更轻松地在沙盒应用程序的音频和视频设备之间进行交互;随着 Flatpak 和其他容器模型接管市场的方式,这似乎是一个双赢的局面。
安装和文档
在撰写本文时PipeWire无法在大多数发行版上轻松安装,但您可以通过获取其源代码来解决这个问题来自 GitHub 并从源代码编译或安装为 Fedora 27 和 Fedora Rawhide 制作的任何一个软件包。
To clone the repo from GitHub use the code below:
$ git clone https://github.com/PipeWire/pipewire.git
接下来,使用Meson构建系统,输入以下命令:
$ ./autogen.sh --prefix=$PREFIX $使 $ 进行安装
$PREFIX
通常设置为/usr
或/usr/local.
现在,使用以下命令从源目录测试运行PipeWire 服务器:
$ 运行
如果你想从源目录用SDL测试它的视频捕获和显示,使用:
$ SPA_PLUGIN_DIR=build/spa/plugins PIPEWIRE_MODULE_DIR=build build/src/examples/export-sink
你也可以尝试其他例子。
记住,如果你没有设置正确的环境变量,如上所示,将找不到插件和模块。
在PipeWire的wiki页面和此处的API文档上查看有用页面的集合。
显然,让PipeWire在您的系统上运行需要相当大的麻烦,但迟早安装将不再是问题.
如果您能够顺利安装,请不要忘记在下方评论区与我们分享您的使用体验。