Мультимедиа сервери PulseAudio ордуна PipeWire 0.3 жеткиликтүү

жарыяланган маанилүү долбоорду чыгаруу PipeWire 0.3.0, PulseAudio ордуна жаңы муундагы мультимедиялык серверди иштеп чыгуу. PipeWire PulseAudio'нун мүмкүнчүлүктөрүн видео агымын иштетүү, аз күтүүдөгү аудио иштетүү жана түзмөк жана агым деңгээлинде кирүү мүмкүнчүлүгүн башкаруу үчүн жаңы коопсуздук модели менен кеңейтет. Долбоор GNOMEде колдоого алынган жана Wayland негизиндеги чөйрөлөрдө экранды жаздыруу жана экранды бөлүшүү үчүн Fedora Linux'та жигердүү колдонулат. Долбоордун коду C жана жазылган жайылуу LGPLv2.1 боюнча лицензияланган.

негизги өзгөрүүлөр PipeWire 0.3 ичинде:

  • Жипти иштетүү пландоочусу толугу менен кайра иштелип чыкты. Өзгөртүүлөр JACK үн сервери менен шайкеш келүүнү камсыз кылуу үчүн катмарды иштетүүгө мүмкүндүк берди, анын иштеши JACK2 менен салыштырылат.
  • Кайра иштеп чыгып, туруктуу деп жарыяланды API. API'ге бардык мындан аркы өзгөртүүлөр учурдагы тиркемелер менен артка шайкештикти бузбастан жасоо пландаштырылууда.
  • Ал PipeWireдеги мультимедиялык түйүндөрдүн графигин башкарууга, ошондой эле жаңы агымдарды кошууга мүмкүндүк берген сеанс менеджерин камтыйт. Азырынча менеджер негизги функциялардын жөнөкөй топтомун гана камсыз кылат жана келечекте ал кеңейтилет же функционалдык жана ийкемдүү опция менен алмаштырылат, мисалы WirePlumber.
  • Камтылган китепканалар PulseAudio, JACK жана ALSA менен шайкештикти камсыз кылуу үчүн жакшыртылды, PipeWire башка аудио системалары менен иштөө үчүн иштелип чыккан учурдагы тиркемелер менен колдонууга мүмкүндүк берет. ALSA китепканасы дээрлик даяр, бирок JACK жана PulseAudio китепканалары дагы эле жумушту талап кылат. PipeWire азырынча PulseAudio жана JACKты толугу менен алмаштырууга даяр эмес, бирок шайкештик маселелери келечектеги чыгарылыштарда артыкчылыктуу болот.
  • PipeWire менен иштешүү үчүн кээ бир GStreamer плагиндери камтылган. PipeWireди аудио булагы катары колдонгон pipewiresrc плагини көпчүлүк учурларда көйгөйсүз иштейт. PipeWire аркылуу аудио чыгаруу үчүн pipewiresink плагини азырынча белгилүү көйгөйлөргө ээ эмес.
  • PipeWire 0.3 колдоосу интеграцияланган GNOME долбоору тарабынан иштелип чыккан Mutter терезе менеджерине.

Эске сала кетсек, PipeWire ар кандай мультимедиялык агымдарды иштетүү менен PulseAudio чөйрөсүн кеңейтет жана видео агымдарды аралаштырып, кайра багыттоого жөндөмдүү. PipeWire ошондой эле видео тартуу түзмөктөрү, веб камералар же колдонмонун экранынын мазмуну сыяктуу видео булактарын башкаруу мүмкүнчүлүктөрүн камсыз кылат. Мисалы, PipeWire бир нече веб-камера тиркемелерин чогуу иштөөгө мүмкүндүк берет жана Wayland чөйрөсүндө коопсуз экранды тартуу жана алыстан экранга кирүү менен көйгөйлөрдү чечет.

PipeWire ошондой эле минималдуу күтүү убактысын камсыз кылуу жана функцияларды айкалыштыруу менен аудио сервер катары иштей алат PulseAudio и Джек, анын ичинде PulseAudio талап кыла алган кесипкөй аудио иштетүү системаларынын муктаждыктарын эске алуу менен. Кошумчалай кетсек, PipeWire өнүккөн коопсуздук моделин сунуштайт, ал түзмөктө жана агым деңгээлинде кирүү мүмкүнчүлүгүн көзөмөлдөөгө мүмкүндүк берет жана аудио жана видеону обочолонгон контейнерлерге жана андан ары багыттоону жеңилдетет. Негизги максаттардын бири - өз алдынча Flatpak тиркемелерин колдоо жана Wayland негизиндеги графикалык стекте иштөө.

негизги мүмкүнчүлүктөр:

  • Минималдуу кечигүү менен аудио жана видеону тартуу жана ойнотуу;
  • реалдуу убакытта видео жана аудио иштетүү үчүн аспаптар;
  • Бир нече тиркемелердин мазмунуна жалпы кирүү мүмкүнчүлүгүн уюштурууга мүмкүндүк берген көп процесстик архитектура;
  • Мультимедиа түйүндөрүнүн графигине негизделген кайра иштетүү модели, пикир алмашуу циклдерин жана атомдук графикти жаңыртууну колдойт. Иштетүүчүлөрдү сервердин ичинде да, тышкы плагиндер менен да туташтыруу мүмкүн;
  • Файлдын дескрипторлорун өткөрүп берүү жана бөлүшүлгөн шакек буферлери аркылуу аудиого жетүү аркылуу видео агымдарга жетүү үчүн эффективдүү интерфейс;
  • Ар кандай процесстерден мультимедиялык маалыматтарды иштетүү мүмкүнчүлүгү;
  • Учурдагы тиркемелер менен интеграцияны жөнөкөйлөтүү үчүн GStreamer үчүн плагиндин болушу;
  • обочолонгон чөйрөлөрдү жана Flatpak колдоо;
  • Форматтагы плагиндерди колдоо SPA (Simple Plugin API) жана кыйын реалдуу убакытта иштеген плагиндерди түзүү мүмкүнчүлүгү;
  • Колдонулган мультимедиялык форматтарды координациялоо жана буферлерди бөлүштүрүү үчүн ийкемдүү система;
  • Аудио жана видеону багыттоо үчүн бирдиктүү фон процессин колдонуу. Аудио сервер, тиркемелерди видео менен камсыз кылуу үчүн хаб (мисалы, gnome-shell скринкаст API үчүн) жана аппараттык видео тартуу түзүлүштөрүнө кирүү мүмкүнчүлүгүн башкаруу үчүн сервер түрүндө иштөө мүмкүнчүлүгү.

Source: opennet.ru

Комментарий кошуу