Опубликован выпуск проекта PipeWire 0.3.33, развивающего мультимедийный сервер нового поколения, идущий на замену PulseAudio. PipeWire расширяет возможности PulseAudio средствами для работы с потоками видео, возможностью обработки звука с минимальными задержками и новой моделью безопасности для управления доступом на уровне отдельных устройств и потоков. Проект поддерживается в GNOME и уже по умолчанию применяется в Fedora Linux. Код проекта написан на языке Си и распространяется под лицензией LGPLv2.1.
تغییرات عمده در PipeWire 0.3.33:
- قابلیت سوئیچ خودکار بین پروفایل های بلوتوث HSP (حالت هدست) و A2DP (خروجی صدای با کیفیت بالا) پیاده سازی شده است.
- نمایه Pro Audio پشتیبانی از منابع مجازی و دستگاه های خروجی صدا را بهبود بخشیده است.
- هنگام اشتراک گذاری بافرهای دسترسی مستقیم به حافظه (DMA-BUF) بین چندین مشتری، مذاکره اصلاح کننده فرمت بهبود یافته است.
- گراف گره چند رسانه ای اکنون از استفاده همزمان از چند نرخ نمونه برداری (به طور پیش فرض غیرفعال) پشتیبانی می کند.
- لایه سازگاری PulseAudio یک ماژول ماژول-switch-on-connect را برای شبیه سازی رفتار PulseAudio هنگام اتصال دستگاه های جدید پیاده سازی می کند.
یادآوری می کنیم که PipeWire دامنه PulseAudio را با پردازش هر جریان چندرسانه ای گسترش می دهد و می تواند جریان های ویدئویی را میکس و تغییر مسیر دهد. PipeWire همچنین قابلیت هایی را برای کنترل منابع ویدیویی مانند دستگاه های فیلم برداری، دوربین های وب یا محتوای صفحه برنامه ارائه می دهد. به عنوان مثال، PipeWire به چندین برنامه وب کم اجازه می دهد تا با هم کار کنند و مشکلات مربوط به ضبط ایمن صفحه نمایش و دسترسی از راه دور به صفحه نمایش را در محیط Wayland حل می کند.
PipeWire همچنین میتواند به عنوان یک صدا عمل کند سرورکه حداقل تأخیر را تضمین میکند و عملکردی را ارائه میدهد که قابلیتهای PulseAudio و JACK را ترکیب میکند، از جمله رفع نیازهای سیستمهای پردازش صوتی حرفهای که PulseAudio نمیتوانست به آن دست یابد. علاوه بر این، PipeWire یک مدل امنیتی پیشرفته ارائه میدهد که امکان کنترل دسترسی در سطح دستگاه و جریان را فراهم میکند و مسیریابی صدا و تصویر را به و از کانتینرهای ایزوله ساده میکند. یکی از اهداف اصلی پشتیبانی از برنامههای مستقل در قالب Flatpak و اجرا بر روی یک پشته گرافیکی مبتنی بر Wayland است.
ویژگی های کلیدی:
- ضبط و پخش صدا و تصویر با حداقل تاخیر.
- ابزارهایی برای پردازش ویدئو و صدا در زمان واقعی.
- معماری چند فرآیندی که به شما امکان می دهد دسترسی مشترک به محتوای چندین برنامه را سازماندهی کنید.
- یک مدل پردازش مبتنی بر نمودار گره های چند رسانه ای با پشتیبانی از حلقه های بازخورد و به روز رسانی گراف اتمی. امکان اتصال هندلرها در داخل سرور و افزونه های خارجی وجود دارد.
- یک رابط کارآمد برای دسترسی به جریان های ویدئویی از طریق انتقال توصیفگرهای فایل و دسترسی به صدا از طریق بافرهای حلقه مشترک.
- توانایی پردازش داده های چند رسانه ای از هر فرآیند.
- در دسترس بودن یک پلاگین برای GStreamer برای ساده سازی ادغام با برنامه های موجود.
- پشتیبانی از محیط های ایزوله و Flatpak.
- پشتیبانی از پلاگین ها در قالب SPA (Simple Plugin API) و توانایی ایجاد پلاگین هایی که در زمان واقعی کار می کنند.
- سیستم انعطاف پذیر برای هماهنگی فرمت های چند رسانه ای استفاده شده و تخصیص بافرها.
- استفاده از یک فرآیند پس زمینه واحد برای مسیریابی صدا و تصویر. توانایی کار در قالب یک سرور صوتی، یک هاب برای ارائه ویدئو به برنامه ها (به عنوان مثال، برای API gnome-shell screencast) و یک سرور برای مدیریت دسترسی به دستگاه های ضبط ویدیوی سخت افزاری.
منبع: opennet.ru
