После восьми месяцев разработки сформирована новая стабильная ветка мультимедийного сервера PipeWire 1.4.0, пришедшего на смену звуковому серверу PulseAudio и отличающийся от него добавлением средств для работы с потоками видео, возможностью обработки звука с минимальными задержками и новой моделью безопасности для управления доступом на уровне отдельных устройств и потоков. Проект поддерживается в GNOME и по умолчанию применяется в Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE и многих других дистрибутивах Linux. Код проекта написан на языке Си и распространяется под лицензией MIT...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=62842
> Проект поддерживается в GNOME и по умолчанию применяется в Fedora Linux, RHEL, Ubuntu, Debian, SUSE/openSUSE и многих других дистрибутивах Linux.В Runtu применяется PulseAudio.
> RuntuОно ещё живо? 😳 в 2009 году некоторое время сидел на этом дистрибутиве.
Вполне. Но смотрю, на что заменить. Хотя 24 версия неудачна и у самой Ubuntu, и у всех сборок.
Хорошо что предупредил.
Долго думал качать смотреть или нет.
Повелся что дистрибутив российский, подумал вдруг что то есть.
Но iso малого обьема хорошо.
Mint / Lmde, непонравилась установкой хлама вроде Office, по умолчанию.
Да и хотел перейти для разнообразия, потыкать cinnamon.
Но каждый раз при update, что то глючит, не запускается.
Наверное хваленый wayland cinnamon.
Хотя он уже был testing, и вроде как stable.
Мне сразу же не понравилось, как в рунту настроен LXDE.
При хоткее "свернуть все окна" скрывается и панелька.
Посмотрел и бросил, поэтому больше сказать нечего
сносим pipe и используем pulse, все норм, все ок
так вроде как во всех дистрах pulse может работать поверх pipewire, просто ставь пакет pipewire-pulse а не pulse сервер
Не знал, что оно и видео на себя берёт. Прямо systemd для медиа.
Через pipewire еще и с камеры можно изображение получать. Комбайн!
Только pipe работает гораздо лучше.
Только в некоторых версиях не работал звук через HDMI. Но хорошо, что прилетели обновления и всё исправилось. Хотя, может, это в Ред ОС накосячили с конфигурацией.
конечно берёт, в этом весь смак - изначально называлось PulseVideo (серьёзно)
Я точно знаю, они уже готовятся переписывать сами знаете на что.
> даёт возможность организовать совместную работу нескольких приложений с веб-камеройСомнительное достижение. Одно приложение, например, клиент видеоконференции, - легально. Другое - как пожелает. Индикатор на камере кто их них захватывает?
>Индикатор на камере кто их них захватывает?Может, сам PipeWire? А софтинам-клиентам отдаются виртуальные устройства.
Судя по схеме из презентации Вима, именно так оно и работает. https://ibb.co/35Rqyn5X
Если возможность опциональна и не включена по умолчанию, то почему бы и нет.
> Индикатор на камере кто их них захватывает?Активность камеры, лол. Ему похрен как и почему она активна. Во всяком случае нормальным реализациям.
> проброс звука и видео из изолированных контейнеров и в нихТ.е. изолированный контейнер не такой уж изолированный?
Нет. Просто pw абстрагирует интерфейс доступа в файловый дескриптор (fd) и ничего нового для контроля за ними придумывать не надо.
а нужон ли это нам? pulse по сетке отлично звук гоняет
Пульс довольно хреново звук по сетке гоняет. И для этого клиенту надо явно указывать, куда ты хочешь отдать звук. Если бы был юних-сокет в дефолтном месте, это бы многое упростило.
Как минимум в pulse audio изоляции нет вообще никакой, и контейнер может молча включить микрофон и начать что-то записывать.
Если у меня есть условные 10 телевизоров подключенных по Эзернет, с помощью этого можно сделать трансляцию?
Нет, только инсталляцию.
А инсталляцию с трансляцией? Просто направьте в правильном направление, как бы это могла выглядеть.То же самое и с аудио, в смысле музыкой, есть колонки, по витухе в разных местах здания, надо чтобы они транслировали музыку из какого-нибудь источника, условного плеера на Винде.
Три магнитофона, три кинокамеры заграничных, три портсигара отечественных, куртка замшевая…
Ну очевидно, что речь идёт не про личное владение, ну ёмаё.
Для любителей магнитофонов, и радио.
https://cemaxecuter.com/Но наверное знающий человек сам поставит нужный софт.
10 мониторов это одно. 10 моноблоков это другое. 10 смарт-тв с Андроид-ТВ это третье. Что сказать-то хотел?
> 10 мониторов это одно. 10 моноблоков это другое. 10 смарт-тв с Андроид-ТВ
> это третье. Что сказать-то хотел?Я не писал мониторов или моноблоков. Я писал про телевизоры.
10 плёток на Windows, 10 дилдов на Линукс, 10 вребраторов на BSD, 10 BDSM корсетов и 10 перфораторов... Что сказать то хотел?
10 ТБ отборного коллекционного немецкого ..., 10 ТБ хентая, 10 ТБ Сталкер 3 и 10 метров карта RTX 6090.
Трансляцию можно с OBS сделать.
Я говорю про Телевидение для отелей и про музыку для отелей.
Чтобы на телеках можно было каналы щёлкать, а на музыке менять плеерлист.
flussonic или искать бесплатный аналог
Чтобы каналы щёлкать - это уже аппаратная поддержка нужна со стороны транслирующей. Телепередатчик небольшой мощности, чтоб по кабелю прогнать хватило.
Ваши телевизоры на полноценном линуксе, где у вас есть полный доступ к root? То да, можно наверное на каждый из них накатить PipeWire и через какой-нибудь модуль по TCP прокинуть звук и видео.
Только вы скорее всего хотите трансляцию по RTMP. Этого PipeWire не умеет, но вы можете либо найти/написать библиотеку для него, которая будет раздавать RTMP и представлять его на тачке как Sink для звука и видео, либо, что намного лучше, прокинуть потоки видео и звука в другой процесс (например nginx с модулем rtmp), который будет выступать в роли обычного клиента PipeWire.
> преобразованы в inline-функции. Все inline-функции SPA для упрощения
> доступа включены в библиотеку libspa.soWTF? Это как? И в чем смысл инлайнить что-то чтобы потом вызвать это из SOшки?!
В оригинале: "Many of the SPA macros are converted to inline functions. All SPA
inline functions are now also compiled into a libspa.so library to
make it easier to access them from bindings."Т.е. библиотека для того, чтобы в функции из биндингов можно было обращаться.
> Т.е. библиотека для того, чтобы в функции из биндингов можно было обращаться.Я не понял. Сконвертили макро в инлайн функции. И ... разинлайнили их нахрен сделав сошкой. Или я что-то выпускаю в этом заподвыподверте?
Продублировали их там видимо.
Это so-шка вот такого вида https://github.com/PipeWire/pipewire/blob/master/spa/lib/lib.c . Т.е. это просто провайдер для доступа к функциям из биндингов.Соответственно, т.к. функции определены в хидерах https://github.com/PipeWire/pipewire/commit/999b26c5907504a4... , то, соответственно, там где их слинковали в библиотеку они никуда не инклюдятся, но доступны, как обычные функции, а там, где данные хидеры используются в pw, там функции нормально инклюдятся.
В современном мире inline-функции имеют довольно косвенное отношение к инлайнингу. Сейчас они в первую очередь позволяют компилятору видеть тело функции и оптимизировать код, окружающий функцию, на основе кода функции. И это даже не означает, что компилятор примет решение реально заинлайнить функцию (он и не обязан)Т.е. по итогу, код, который раньше пользовался макросами, переписали на использование обычных функций (что почти всегда упрощает код и решает проблему с тем, что макросы игнорируют пространства имён в плюсах), позволив компилятору принимать решение, инлайнить ли код функцию прямо в место вызова (как у макросов), или же вызвать её обычным способом, держа её код в сошке
Если селфхостед образования не хватает, то используй deepl или что там у тебя доступно?
Написано же, что сконвертировали, но также скомпилировали для удобства.
Полагаю макросы заменили на inline обёртки функций, которые сидят в .so, т.е. заинлайнили и оставили в заголовках только обёртки функций, сами функции в библиотеке.
Что тут не понятного? Инлайн-функции они используются для простых вещей, как доступ по смещению и простая математика. Но это требует кодинга. Вот inline-функции эту проблему и решают.Для других языков обычно может быть намного лучше прямо в них накодить то же самое. Но это значит - накодить. Но в отличии от макросов у inline-функций есть достоинство - они полноценные функции. Инлайнить их, или нет - решает компилятор. Если ты их экспортируешь из библиотеки, то компилятор сгенерит обычные функции и эксопортирует их. Поэтому разрабам из других ЯП не надо будет реализовывать самим. Достаточно взять хедер и механистично сгенерить обвязку.
По чесноку - в эпоху LLM можно все эти inline-функции скормить LLMку - и она их переведёт на все ЯП.
>Включена собственная реализация JACK-сервера pipewire_jackserver (Jack Audio Connection Kit), предоставляющего API "PipeWire JACK Control".Вот тут они не туда сунулись.
Их и так несколько. Есть оригинальный на си с минимальными задержками и без рандомных багов, есть переписанный на плюсах и питоне с расширенной функциональностью, но почему-то проблемный. Ещё все используют разнообразные прослойки в итоге, т.е. поток копируется и конвертируется по 5 раз. Если сабж будет соответствовать апи и обеспечивать функциональность оригинального jackd, это будет предпочтительно.
"профессиональной обработки звука, на которую не мог претендовать PulseAudio" М - манипуляция, а про jack мы ничего не скажем
на самом деле слово "профессионал" - обозначает не супер-пупер крутого спеца, а того, кто берёт бабки за свою работу
Профессионал от слова профессия. Профессия это деятельность за которую платят деньги.
профессия - это не деятельность, а классификация деятельности
…за которую платят деньги.
а чего говорить про jack, если цель была сделать лучше чем в пульсе?
Если оно умеет работать с видеопотоками, то можно ли сделать из него wayland-сервер?
Есть прекрасная Alsa, а все эти пульсы и пайпы от школьников идут лесом, я даже Firefox пургнул, ибо он не может без apulse, ну не мошешь и не надо, Хром который ничего нам не должен и тот работает на Alsa.
Да, кстати, могли бы просто сделать альсу чуть удобнее в настройке, а не городить врапперы.
Alsa вещь низкоуровневая, не все прикладные программисты могут с ней правильно работать. Звуковые сервера PipeWire, PulseAudio по сути своей являются прослойками между программой и драйверами-alsa, но они также упрощают жизнь.
Я тебя удивлю, но что у пульсы, что у pipewire на столько кривой api, что по сложности оно не сильно уступает alsa. В общем одной простой функции там нет.PS у пульсы есть simple api, но в нём нет регулировки громкости, поэтому он бесполезен.
Если за 20 лет не исправили, значит в серверной ОС это не нужно.
> Firefox пургнул, ибо он не может без apulseЯ юзаю его через jack backend, потому что apulse backend в лисе работает криво (https://bugzilla.mozilla.org/show_bug.cgi?id=1873695). Но увы, для этого лису нужно собирать ручками с флагом --enable-jack
> Есть прекрасная Alsa, а все эти пульсы и пайпы от школьников идут лесомТоже пользуюсь ALSA, но не отрицаю, что у PulseAudio и PipeWire есть плюсы (и минусы).
> я даже Firefox пургнул, ибо он не может без apulse
Раньше был ключ сборки --enable-alsa. Уже удалили? Если да, вот попробуй мою сборку пыльмун: https://0x0.st/8TMh.tar Только имей в виду, что сборка под GTK2.
> Хром который ничего нам не должен и тот работает на Alsa
А вот на OSSv4 работает только через эмуляцию ALSA поверх OSS. Если удалить libasound-plugins2 из системы, звук из хрома в OSS больше не идёт...
Разве alsa не только с одной программой умеет работать, в роли которой и выступает звуковой сервер (pipewire, pulse, jack)? Или это было давно и не правда?
Было такое, ALSA (ядро) ---> alsa-lib (пространство пользователя) ---> Player. Эти знания ушли вместе с хакерами в свитерах. Молодые работают исключительно через звуковой сервер.
> Разве alsa не только с одной программой умеет работатьOSSv3 умел микширование только на дискретных картах (а интеграшках - нет). ALSA тоже умела только аппаратное микширование, однако существовал плагин dmix, позволяющий включить программное. А в 2005 году, в ALSA 1.0.9, dmix включается по умолчанию для аудиокарт, которые не поддерживают аппаратное микширование.
Вот подробнее: https://wiki.debian.org/ru/ALSA/FAQ
По ссылке пишут, что если dmix по какой-то причине не включился сам, его можно включить вручную.Также я где-то слышал, что при воспроизведении цифрового звука DTS, другой источник звука включить невозможно.
И чем прекрасна альса, когда тебе надо посмотреть видео в браузере (со звуком конеш) и фоном чтобы любимая мелодия играла ?
В SteamOS используется, значит нужен!
> Добавлена поддержка доставки звука по Bluetooth одновременно нескольким устройствамНаконец-то!