Опубликован выпуск проекта PipeWire 0.3.33, развивающего мультимедийный сервер нового поколения, идущий на замену PulseAudio. PipeWire расширяет возможности PulseAudio средствами для работы с потоками видео, возможностью обработки звука с минимальными задержками и новой моделью безопасности для управления доступом на уровне отдельных устройств и потоков. Проект поддерживается в GNOME и уже по умолчанию применяется в Fedora Linux. Код проекта написан на языке Си и распространяется под лицензией LGPLv2.1.
Principais mudanças no PipeWire 0.3.33:
- A capacidade de alternar automaticamente entre os perfis Bluetooth HSP (modo fone de ouvido) e A2DP (saída de áudio de alta qualidade) foi implementada.
- O perfil Pro Audio melhorou o suporte para fontes virtuais e dispositivos de saída de áudio.
- Negociação de modificador de formato aprimorada ao compartilhar buffers de acesso direto à memória (DMA-BUFs) entre vários clientes.
- O gráfico do nó multimídia agora suporta o uso simultâneo de múltiplas taxas de amostragem (desativado por padrão).
- A camada de compatibilidade do PulseAudio implementa um módulo module-switch-on-connect para emular o comportamento do PulseAudio ao conectar novos dispositivos.
Lembramos que o PipeWire expande o escopo do PulseAudio processando qualquer fluxo de multimídia e é capaz de mixar e redirecionar fluxos de vídeo. PipeWire também oferece recursos para controlar fontes de vídeo, como dispositivos de captura de vídeo, câmeras web ou conteúdo da tela de aplicativos. Por exemplo, PipeWire permite que vários aplicativos de webcam trabalhem juntos e resolva problemas com captura segura de tela e acesso remoto à tela no ambiente Wayland.
PipeWire também pode funcionar como um som servidorO PipeWire garante latência mínima e oferece funcionalidades que combinam os recursos do PulseAudio e do JACK, incluindo o atendimento às necessidades de sistemas profissionais de processamento de áudio, algo que o PulseAudio não conseguia fazer. Além disso, o PipeWire oferece um modelo de segurança avançado que permite o controle de acesso em nível de dispositivo e de fluxo, simplificando o roteamento de áudio e vídeo de e para contêineres isolados. Um dos principais objetivos é dar suporte a aplicativos autocontidos no formato Flatpak e executá-los em uma pilha gráfica baseada em Wayland.
Principais características:
- Capture e reproduza áudio e vídeo com atrasos mínimos;
- Ferramentas para processamento de vídeo e áudio em tempo real;
- Arquitetura multiprocesso que permite organizar o acesso compartilhado ao conteúdo de diversas aplicações;
- Um modelo de processamento baseado em um gráfico de nós multimídia com suporte para loops de feedback e atualizações de gráficos atômicos. É possível conectar manipuladores tanto dentro do servidor quanto em plugins externos;
- Uma interface eficiente para acessar streams de vídeo através da transferência de descritores de arquivos e acessar áudio através de ring buffers compartilhados;
- Capacidade de processar dados multimídia de qualquer processo;
- Disponibilidade de plugin para GStreamer para simplificar a integração com aplicações existentes;
- Suporte para ambientes isolados e Flatpak;
- Suporte para plugins em formato SPA (Simple Plugin API) e capacidade de criar plugins que funcionam em tempo real;
- Sistema flexível para coordenação de formatos multimídia utilizados e alocação de buffers;
- Usando um único processo em segundo plano para rotear áudio e vídeo. A capacidade de trabalhar na forma de um servidor de áudio, um hub para fornecer vídeo para aplicativos (por exemplo, para a API gnome-shell screencast) e um servidor para gerenciar o acesso a dispositivos de hardware de captura de vídeo.
Fonte: opennet.ru
