سرور چندرسانهای PipeWire 1.0.0 منتشر شده است و اولین نسخه پایدار این پروژه را رقم میزند. نسخه ۱.۰ با شاخه ۰.۳ در سطوح API و ABI سازگار است. PipeWire به عنوان جانشین سرور صوتی PulseAudio قرار گرفته و دارای قابلیتهای پخش ویدئو، پردازش صوتی با تأخیر کم و یک مدل امنیتی جدید برای کنترل دسترسی در سطح دستگاه و پخش است. این پروژه در گنوم پشتیبانی میشود و در حال حاضر به طور پیشفرض در فدورا موجود است. Linux، رِهِل، Ubuntu, Debian، SUSE/openSUSE و بسیاری از توزیعهای دیگر Linuxکد پروژه به زبان C نوشته شده و تحت مجوز LGPLv2.1 توزیع شده است.
PipeWire قابلیتهایی را برای پردازش هر جریان چندرسانهای ارائه میکند، میتواند جریانهای ویدئویی را ترکیب و تغییر مسیر دهد، و میتوان از آن برای کنترل منابع ویدئویی مانند دستگاههای فیلمبرداری، دوربینهای وب، یا محتوای صفحه نمایش داده شده توسط برنامهها استفاده کرد. به عنوان مثال، PipeWire به چندین برنامه وب کم اجازه می دهد تا با هم کار کنند و مشکلات مربوط به ضبط ایمن صفحه نمایش و دسترسی از راه دور به صفحه نمایش را در محیط Wayland حل می کند.
PipeWire همچنین میتواند به عنوان یک صدا عمل کند سرورکه حداقل تأخیر را تضمین میکند و عملکردی را ارائه میدهد که قابلیتهای PulseAudio و JACK را ترکیب میکند، از جمله رفع نیازهای سیستمهای پردازش صوتی حرفهای که PulseAudio نمیتوانست به آن دست یابد. علاوه بر این، PipeWire یک مدل امنیتی پیشرفته ارائه میدهد که امکان کنترل دسترسی در سطح دستگاه و جریان را فراهم میکند و مسیریابی صدا و تصویر را به و از کانتینرهای ایزوله ساده میکند. یکی از اهداف اصلی پشتیبانی از برنامههای مستقل در قالب Flatpak و اجرا بر روی یک پشته گرافیکی مبتنی بر Wayland است.
ویژگی های کلیدی:
- ضبط و پخش صدا و تصویر با حداقل تاخیر.
- ابزارهایی برای پردازش ویدئو و صدا در زمان واقعی.
- معماری چند فرآیندی که به شما امکان می دهد دسترسی مشترک به محتوای چندین برنامه را سازماندهی کنید.
- یک مدل پردازش مبتنی بر نمودار گره های چند رسانه ای با پشتیبانی از حلقه های بازخورد و به روز رسانی گراف اتمی. امکان اتصال هندلرها در داخل سرور و افزونه های خارجی وجود دارد.
- یک رابط کارآمد برای دسترسی به جریان های ویدئویی از طریق انتقال توصیفگرهای فایل و دسترسی به صدا از طریق بافرهای حلقه مشترک.
- توانایی پردازش داده های چند رسانه ای از هر فرآیند.
- در دسترس بودن یک پلاگین برای GStreamer برای ساده سازی ادغام با برنامه های موجود.
- پشتیبانی از محیط های ایزوله و Flatpak.
- پشتیبانی از پلاگین ها در قالب SPA (Simple Plugin API) و توانایی ایجاد پلاگین هایی که در زمان واقعی کار می کنند.
- سیستم انعطاف پذیر برای هماهنگی فرمت های چند رسانه ای استفاده شده و تخصیص بافرها.
- استفاده از یک فرآیند پس زمینه واحد برای مسیریابی صدا و تصویر. توانایی کار در قالب یک سرور صوتی، یک هاب برای ارائه ویدئو به برنامه ها (به عنوان مثال، برای API gnome-shell screencast) و یک سرور برای مدیریت دسترسی به دستگاه های ضبط ویدیوی سخت افزاری.
در میان تغییرات نسبت به شاخه 0.3، گنجاندن پیش فرض پشتیبانی jackdbus ذکر شده است که به شما امکان می دهد از PipeWire به عنوان یک مشتری تمام عیار سیستم صوتی JACK استفاده کنید. ALSA از زمانبندی مبتنی بر IRQ در نمایه Pro-Audio برای دستیابی به تأخیر در سطح JACK استفاده میکند. پشتیبانی از هر دو نسخه قدیمی و جدید webrtc-audio-processing اضافه شده است. پشتیبانی از فایل های DFF DSD به pw-cat اضافه شده است. پشتیبانی از پلتفرم گنو/هورد اضافه شد.
منبع: opennet.ru
