Desenvolvedores Fedora lançados faz pouco para que a próxima versão de Fedora 34, uma grande mudança está agendada para todos os fluxos de áudio dos servidores de som PulseAudio e JACK para PipeWire.
Usando PipeWire permite que você ofereça recursos de processamento de áudio profissional Em uma edição de desktop típica, elimine a fragmentação e unifique sua infraestrutura de áudio para diferentes aplicativos.
Atualmente, A estação de trabalho Fedora usa o processo em segundo plano do PulseAudio para processamento de áudio e os aplicativos usam a biblioteca cliente para interagir com este processo, mixar e gerenciar fluxos de áudio. O processamento de áudio profissional usa o servidor de som JACK e a biblioteca cliente associada.
Em vez de PulseAudio e JACK, é proposto o uso de servidor de mídia PipeWire próxima geração com uma camada de interoperabilidade que manterá todos os clientes e aplicativos PulseAudio e JACK existentes e funcionando em formato Flatpak.
Para clientes mais antigos que usam a API de baixo nível ALSA, um plugin ALSA será instalado que roteia fluxos de áudio diretamente para o PipeWire. Todos os aplicativos baseados em PulseAudio e JACK poderão ser executados no PipeWire, sem a necessidade de instalar o PulseAudio e JACK.
Esta proposta é substituir o daemon PulseAudio por uma implementação baseada em PipeWire funcional compatível. Isso significa que todos os clientes existentes que usam a Biblioteca do Cliente PulseAudio continuarão a funcionar como antes, assim como os aplicativos enviados como Flatpak.
Todo o áudio PRO é controlado pela biblioteca cliente JACK, que se comunica com o servidor JACK. Esta proposta irá instalar uma substituição de biblioteca cliente JACK que se comunica diretamente com o PipeWire. Todos os aplicativos de áudio PRO existentes funcionarão com o PipeWire.
Como um lembrete, PipeWire expande as capacidades do PulseAudio com streaming de vídeo, processamento de áudio de baixa latência e um novo modelo de segurança para transmissão e controle de acesso ao dispositivo.
Tubulação também oferece recursos para controlar fontes de vídeo como dispositivos de captura de vídeo, webcams ou conteúdo de tela de saída de aplicativo. O projeto é compatível com GNOME e já é amplamente usado no Fedora Linux para screencasting e compartilhamento de tela em ambientes baseados no Wayland.
Tubulação também pode atuar como um servidor de som de baixa latência com funcionalidade que combina os recursos do PulseAudio e JACK, até mesmo para as necessidades de sistemas de processamento de som profissionais que o PulseAudio não poderia reivindicar.
Além disso, PipeWire oferece um modelo de segurança aprimorado Ele permite o fluxo específico e o controle de acesso específico do dispositivo e facilita o roteamento de áudio e vídeo de e para contêineres isolados.
Características principais:
- Capture e reproduza áudio e vídeo com atraso mínimo.
- Ferramentas de processamento de áudio e vídeo em tempo real.
- Uma arquitetura multithread que permite que o conteúdo seja compartilhado entre vários aplicativos. A gestão e processamento dos gráficos multimédia são feitos em diferentes processos.
- Um modelo de processamento baseado em gráfico de nó multimídia com suporte para loops de feedback e atualizações de gráfico atômico.
- É permitido conectar drivers dentro do servidor e plug-ins externos.
- Interface eficiente para acessar streams de vídeo transferindo descritores de arquivo e acessando som por meio de buffers compartilhados.
- A capacidade de processar dados multimídia de qualquer processo.
- A presença de um plugin para GStreamer para simplificar a integração com aplicativos existentes.
- Suporte para ambientes sandbox e Flatpak.
- Suporte para plugins em formato SPA (Simple Plugin API) e possibilidade de criação de plugins que funcionam em tempo real.
- Sistema flexível para coordenar os formatos multimídia utilizados e alocar buffers.
Usando um único processo em segundo plano para rotear áudio e vídeo. Capacidade de funcionar como um servidor de som, um hub para fornecer vídeo para aplicativos (por exemplo, para a API de screencast do gnome-shell) e um servidor para controlar o acesso a dispositivos de captura de vídeo de hardware.
Finalmente a mudança ainda não foi revisada pelo Comitê de Direção de Engenharia do Fedora (FESCo), que é responsável pelo desenvolvimento técnico da distribuição Fedora.
fonte: https://www.mail-archive.com