Các nhà phát triển Fedora mới đây đã thông báo rằng một thay đổi lớn đang được lên kế hoạch cho phiên bản tiếp theo của Fedora 34, chuyển tất cả các luồng âm thanh từ máy chủ âm thanh PulseAudio và JACK sang PipeWire.
Việc sử dụng PipeWire cho phép bạn cung cấp các khả năng xử lý âm thanh chuyên nghiệp trong môi trường xuất bản trên máy tính để bàn thông thường, loại bỏ sự phân mảnh và thống nhất cơ sở hạ tầng âm thanh của bạn cho các ứng dụng khác nhau.
Hiện tại, Fedora Workstation sử dụng tiến trình nền PulseAudio để xử lý âm thanh, và các ứng dụng sử dụng thư viện máy khách để tương tác với tiến trình này, trộn và quản lý các luồng âm thanh. Việc xử lý âm thanh chuyên nghiệp sử dụng máy chủ âm thanh JACK và thư viện máy khách liên quan của nó.
Thay vì sử dụng PulseAudio và JACK, người ta đề xuất sử dụng máy chủ đa phương tiện PipeWire thế hệ tiếp theo với một lớp tương tác cho phép duy trì hoạt động của tất cả các ứng dụng và máy khách PulseAudio và JACK hiện có được phân phối ở định dạng Flatpak.
Đối với những khách hàng cũ sử dụng API cấp thấp ALSA, một plugin ALSA sẽ được cài đặt để định tuyến các luồng âm thanh trực tiếp đến PipeWire. Tất cả các ứng dụng dựa trên PulseAudio và JACK sẽ có thể chạy trên PipeWire mà không cần phải cài đặt PulseAudio và JACK.
Đề xuất này là thay thế daemon PulseAudio bằng một triển khai dựa trên PipeWire tương thích về chức năng. Điều này có nghĩa là tất cả các máy khách hiện có đang sử dụng Thư viện máy khách PulseAudio sẽ tiếp tục hoạt động như trước đây, cũng như các ứng dụng được vận chuyển dưới dạng Flatpak.
Tất cả âm thanh PRO được xử lý bởi thư viện máy khách JACK, thư viện này nói chuyện với máy chủ JACK. Đề xuất này sẽ cài đặt thay thế thư viện ứng dụng khách JACK nói trực tiếp với PipeWire. Tất cả các ứng dụng giắc cắm âm thanh PRO hiện có sẽ hoạt động qua PipeWire.
Xin nhắc lại, PipeWire mở rộng khả năng của PulseAudio với tính năng truyền phát video, xử lý âm thanh độ trễ thấp và mô hình bảo mật mới cho việc truyền phát và kiểm soát truy cập thiết bị.
PipeWire cũng cung cấp các khả năng điều khiển các nguồn video như thiết bị thu video, webcam hoặc nội dung màn hình đầu ra của ứng dụng. Dự án này tương thích với GNOME và đã được sử dụng rộng rãi trên Fedora Linux để ghi hình và chia sẻ màn hình trong môi trường dựa trên Wayland.
PipeWire cũng có thể hoạt động như một máy chủ âm thanh độ trễ thấp với chức năng kết hợp khả năng của PulseAudio và JACK, ngay cả đối với các nhu cầu của hệ thống xử lý âm thanh chuyên nghiệp mà PulseAudio không thể đáp ứng.
Ngoài ra, PipeWire cung cấp mô hình bảo mật nâng cao cho phép kiểm soát truy cập theo thiết bị và luồng dữ liệu cụ thể, đồng thời hỗ trợ định tuyến âm thanh và video đến và từ các vùng chứa biệt lập.
Các tính năng chính:
- Chụp và phát lại âm thanh và video với độ trễ tối thiểu.
- Các công cụ xử lý video và âm thanh thời gian thực.
- Một kiến trúc đa luồng cho phép chia sẻ nội dung giữa nhiều ứng dụng. Việc quản lý và xử lý đồ họa đa phương tiện được thực hiện theo các quy trình khác nhau.
- Mô hình xử lý dựa trên đồ họa của các nút đa phương tiện với hỗ trợ các vòng phản hồi và cập nhật đồ họa nguyên tử.
- Nó được phép kết nối trình điều khiển cả trong máy chủ và các plugin bên ngoài.
- Giao diện hiệu quả để truy cập luồng video bằng cách chuyển bộ mô tả tệp và truy cập âm thanh thông qua bộ đệm được chia sẻ.
- Khả năng xử lý dữ liệu đa phương tiện từ bất kỳ quy trình nào.
- Sự hiện diện của một plugin cho GStreamer để đơn giản hóa việc tích hợp với các ứng dụng hiện có.
- Hỗ trợ cho môi trường sandbox và Flatpak.
- Hỗ trợ các plugin ở định dạng SPA (Simple Plugin API) và khả năng tạo các plugin hoạt động trong thời gian thực.
- Hệ thống linh hoạt để điều phối các định dạng đa phương tiện được sử dụng và phân bổ bộ đệm.
Sử dụng một quy trình nền duy nhất để định tuyến âm thanh và video. Khả năng hoạt động như một máy chủ âm thanh, một trung tâm để cung cấp video cho các ứng dụng (ví dụ: đối với API truyền hình màn hình gnome-shell) và một máy chủ để kiểm soát quyền truy cập vào các thiết bị quay video phần cứng.
Cuối cùng thay đổi vẫn chưa được xem xét bởi Ủy ban Chỉ đạo Kỹ thuật Fedora (FESCo), cơ quan chịu trách nhiệm phát triển kỹ thuật của phân phối Fedora.
Nguồn: https://www.mail-archive.com