PipeWire — бесплатное приложение с открытым исходным кодом, созданное Вимом Таймансомработает главным инженером в Red Hat и является одним из создателей мультимедийной среды GStreamer.
Он был создан с нуля с особым упором на поддержку Wayland и Flatpakв стремлении модернизировать обработку аудио и видео. Это включает в себя поддержку однокадровых скриншотов, захват экрана, локальную запись рабочего стола в видео и, возможно, даже встроенную трансляцию рабочих столов Wayland на телевизоры и мониторы!
Согласно сайту проекта, его целью является
значительно улучшить обработку аудио и видео в Linux. Он направлен на поддержку вариантов использования, которые в настоящее время обрабатываются как PulseAudio, так и Jack, и в то же время обеспечивает такой же уровень мощной обработки ввода и вывода видео.
Он также представляет модель безопасности, которая упрощает взаимодействие с аудио- и видеоустройствами из контейнерных приложений, при этом основной целью является поддержка приложений Flatpak. Мы ожидаем, что наряду с Wayland и Flatpak PipeWire станет основным строительным блоком для будущей разработки приложений для Linux.
Возможности PipeWire
В этом сообщении в блоге Кристиан объясняет, что PipeWire представляет модель безопасности, которая облегчает взаимодействие между аудио- и видеоустройствами из изолированных приложений; и с учетом того, как Flatpak и другие модели контейнеров захватывают рынок, это кажется беспроигрышной ситуацией.
Установка и документация
На момент написания PipeWire недоступен для установки в большинстве дистрибутивов, но вы можете обойти это, скачав его исходный код. с GitHub и скомпилировать из исходного кода или установить любой из пакетов, созданных для Fedora 27 и Fedora Rawhide.
Чтобы клонировать репозиторий с GitHub, используйте следующий код:
$ 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 на его вики-странице и документацию по API здесь.
Очевидно, что запуск PipeWireв вашей системе требует значительных усилий, но рано или поздно установка перестанет быть проблемой .
Если вы можете продолжить установку, не забудьте поделиться с нами своим опытом использования в разделе комментариев ниже.