Fedora 開發人員最近宣布,計劃在Fedora 34的下一個版本中進行重大更改,將所有音訊串流從 PulseAudio 和 JACK 音訊伺服器切換到 PipeWire。
使用 PipeWire ,您可以在典型的桌面出版環境中提供專業的音訊處理功能,消除碎片化,並統一不同應用程式的音訊基礎架構。
目前,Fedora 工作站使用 PulseAudio 後台進程進行音訊處理,應用程式則使用用戶端程式庫與該進程交互,進行音訊串流的混合和管理。專業的音訊處理則使用 JACK 音訊伺服器及其配套的客戶端程式庫。
建議使用下一代 PipeWire 媒體伺服器,而不是 PulseAudio 和 JACK,該伺服器具有互通層,可保持所有以 Flatpak 格式交付的現有 PulseAudio 和 JACK 用戶端和應用程式的運作。
對於使用ALSA低級API的老客戶,將安裝ALSA插件,將音頻流直接路由到PipeWire。 所有基於PulseAudio和JACK的應用程序都將能夠在PipeWire上運行,而無需安裝PulseAudio和JACK。
該建議是用功能兼容的基於PipeWire的實現替換PulseAudio守護程序。 這意味著所有使用PulseAudio客戶端庫的現有客戶端以及Flatpak附帶的應用程序將繼續像以前一樣工作。
所有PRO音頻均由與JACK服務器對話的JACK客戶端庫處理。 該建議將安裝直接與PipeWire對話的JACK客戶端庫替換。 然後,所有現有的PRO音頻插孔應用程序都將通過PipeWire運行。
需要提醒的是, PipeWire透過視訊串流、低延遲音訊處理以及用於串流媒體和裝置存取控制的新安全模型,擴展了 PulseAudio 的功能。
PipeWire還提供了控制視訊來源的功能,例如視訊擷取裝置、網路攝影機或應用程式輸出螢幕內容。該專案與 GNOME 相容,並已在 Fedora Linux 上廣泛用於基於 Wayland 的環境下進行螢幕錄製和螢幕共享。
PipeWire還可以作為低延遲音訊伺服器,其功能結合了 PulseAudio 和 JACK 的功能,甚至可以滿足 PulseAudio 無法滿足的專業音訊處理系統的需求。
此外,PipeWire還提供了一種增強的安全模型,允許對特定設備和特定流程進行存取控制,並方便將音訊和視訊路由到隔離的容器或從隔離的容器路由出去。
主要特徵:
- 以最小的延遲捕獲和播放音頻和視頻。
- 實時視頻和音頻處理工具。
- 一種多線程體系結構,允許在多個應用程序之間共享內容。 多媒體圖形的管理和處理是通過不同的過程完成的。
- 多媒體節點的基於圖形的處理模型,支持反饋循環和原子圖形更新。
- 允許在服務器和外部插件中都連接驅動程序。
- 通過傳輸文件描述符和通過共享緩衝區訪問聲音來訪問視頻流的有效接口。
- 處理來自任何進程的多媒體數據的能力。
- GStreamer插件的存在,以簡化與現有應用程序的集成。
- 支持沙盒和Flatpak環境。
- 支持SPA(簡單插件API)格式的插件,並能夠創建實時工作的插件。
- 靈活的系統,用於協調使用的多媒體格式和分配緩衝區。
使用單個後台進程路由音頻和視頻。 可以用作聲音服務器,向應用程序提供視頻的集線器(例如,用於gnome-shell屏幕廣播API)和用於控制對硬件視頻捕獲設備的訪問的服務器。
最後,負責Fedora發行版技術開發的Fedora工程指導委員會(FESCo)尚未審查更改。
資料來源:https://www.mail-archive.com