PipeWire é um aplicativo gratuito e de código aberto criado por Wim Taymansque trabalha como Engenheiro Principal na Red Hat e é o co-criador da estrutura de multimídia GStreamer.
Foi construído do zero com foco particular no suporte a Wayland e Flatpakem uma tentativa de modernizar o processamento de áudio e vídeo. Isso inclui suporte para capturas de tela de quadro único, captura de tela, gravação de desktop local para vídeo e talvez até transmissão nativa de desktops Wayland para TVs e monitores!
De acordo com o site do projeto, seu objetivo é
melhoram muito o manuseio de áudio e vídeo no Linux. Ele visa oferecer suporte aos casos de uso atualmente tratados por PulseAudio e Jack e, ao mesmo tempo, fornecer o mesmo nível de manipulação poderosa de entrada e saída de vídeo.
Ele também apresenta um modelo de segurança que facilita a interação com dispositivos de áudio e vídeo de aplicativos em contêineres, sendo o principal objetivo o suporte a aplicativos Flatpak. Juntamente com Wayland e Flatpak, esperamos que o PipeWire forneça um bloco de construção central para o futuro do desenvolvimento de aplicativos Linux.
Recursos do PipeWire
Nesta postagem do blog, Christian explica que o PipeWire apresenta um modelo de segurança que facilita as interações entre dispositivos de áudio e vídeo de aplicativos de sandbox; e com a forma como o Flatpak e outros modelos de contêineres estão dominando o mercado, isso parece uma situação em que todos saem ganhando.
Instalação e Documentação
No momento em que escrevo, PipeWire não está prontamente disponível para instalação na maioria das distribuições, mas você pode contornar isso pegando seu código-fonte do GitHub e compilar a partir do código-fonte ou instalar qualquer um dos pacotes feitos para Fedora 27 e Fedora Rawhide.
Para clonar o repositório do GitHub use o código abaixo:
$ git clone https://github.com/PipeWire/pipewire.git
Em seguida, usando o sistema de compilação Meson, insira os seguintes comandos:
$ ./autogen.sh --prefix=$PREFIX $ ganhar $ fazer instalar
O $PREFIX
é normalmente definido como /usr
ou /usr/local.
Agora, teste o servidor PipeWire a partir do diretório de origem com o comando:
$ make run
Se você quiser testar sua captura de vídeo e exibição com SDL do diretório de origem, use:
$ SPA_PLUGIN_DIR=build/spa/plugins PIPEWIRE_MODULE_DIR=build build/src/examples/export-sink
Você também pode brincar com os outros exemplos.
Lembre-se de que se você não definir as variáveis de ambiente corretas conforme mostrado acima, os plug-ins e módulos não serão encontrados.
Verifique uma coleção de páginas úteis em PipeWire em sua página wiki e sua documentação API aqui.
Claramente, é muito trabalhoso colocar PipeWire em execução no seu sistema, mas mais cedo ou mais tarde a instalação não será mais um problema .
Se você conseguir prosseguir com a instalação, não se esqueça de compartilhar sua experiência de uso conosco na seção de comentários abaixo.