LINUX.ORG.RU

Music Player Daemon 0.24

 , , ,


0

3

MPD (Music Player Daemon) — это гибкое и мощное серверное приложение для воспроизведения музыки. С помощью плагинов и библиотек он может воспроизводить различные звуковые файлы, при этом управляясь по собственному сетевому протоколу.

По словам разработчика Макса Келлерманна, это заняло более трёх лет (извините за долгую задержку), и за эти годы накопилось множество новых возможностей: улучшенная поддержка многоканальности, улучшенные разделы, множество новых протокольных возможностей, поддержка NFS4 и многое другое.

Основные изменения

  • MPD перешел на C++20 и, следовательно, нуждается в современном компиляторе (например, GCC 12).
  • Удалена зависимость от Boost.
  • Поддержка операционной системы Haiku удалена из-за отсутствия сопровождающего (приглашаю @X512).
  • Поддержка macOS была временно удалена, но возвращена новым сопровождающим (спасибо, Камиль Шольц).
  • Порт для Android всё ещё существует, но не получил достаточного внимания, чтобы стать действительно пригодным для использования.

С момента выхода MPD 0.23 было сделано 2397 коммитов 72 участниками.

Есть множество идей для MPD 0.25 и, к сожалению, слишком много открытых сообщений об ошибках. Макс Келлерманн обещает постараться закончить MPD 0.25 быстрее, чем 0.24, но нехватка времени всё ещё мешает. Изначально была идея закончить MPD 1.0 к его 20-летию, но спустя два года после этого код все еще кажется недостаточно зрелым, чтобы назвать его 1.0. Может быть, в 2028 году — к 25-летию MPD?

Также обновлён консольный клиент ncmpc до версии 0.52.

>>> Подробный список изменений

★★★

Проверено: CrX ()
Последнее исправление: hobbit (всего исправлений: 9)
apt install meson g++ pkgconf \
  libfmt-dev \
  libpcre2-dev \
  libmad0-dev libmpg123-dev libid3tag0-dev \
  libflac-dev libvorbis-dev libopus-dev libogg-dev \
  libadplug-dev libaudiofile-dev libsndfile1-dev libfaad-dev \
  libfluidsynth-dev libgme-dev libmikmod-dev libmodplug-dev \
  libmpcdec-dev libwavpack-dev libwildmidi-dev \
  libsidplay2-dev libsidutils-dev libresid-builder-dev \
  libavcodec-dev libavformat-dev \
  libmp3lame-dev libtwolame-dev libshine-dev \
  libsamplerate0-dev libsoxr-dev \
  libbz2-dev libcdio-paranoia-dev libiso9660-dev libmms-dev \
  libzzip-dev \
  libcurl4-gnutls-dev libyajl-dev libexpat1-dev \
  libasound2-dev libao-dev libjack-jackd2-dev libopenal-dev \
  libpulse-dev libshout3-dev \
  libsndio-dev \
  libmpdclient-dev \
  libnfs-dev \
  libupnp-dev \
  libavahi-client-dev \
  libsqlite3-dev \
  libsystemd-dev \
  libgtest-dev \
  libicu-dev \
  libchromaprint-dev \
  libgcrypt20-dev \
  libsystemd-dev \
  libpipewire-0.3-dev

Чот овердохрена зависимостей...

gns ★★★★★
()
Ответ на: комментарий от James_Holden

Прежде всего, серверный проигрыватель нужен, чтобы воспроизводить музыку на сервере.

Глубоко...

А бывает это нужно очень много когда, практически всегда, когда надо ее воспроизводить не на шипящем громче музыки и зудящем наводками компе под столом.

Как-то искусственно... А если он не «шипящий и зудящий», как быть??

Somebody ★★★
()
Ответ на: комментарий от James_Holden

Ядро в оффтопе 10-11 довольно любопытно устроено. Само оно на крестах, и имеет интерфейсы на разных языках программирования.

Вот я и думаю, не на 20-х ли крестах? Вообще, похоже.

sparkie ★★★★★
()
Ответ на: комментарий от gns

Если тебе в приложении надо ролик какой проиграть, например?

Так он же видео даже не умеет. Для аудио можно и просто мпг123 дёрнуть. Когда мне нужно было аудио+видео в приложении, то пришлось ксайне-либ использовать.

anonmyous ★★
()
Ответ на: комментарий от einhander

Фоновые сервисы не имеют никакого отношение к клиентской/серверной ОС. Клиентская ОС – это ОС, установленная на компьютер, с которым пользователь интерактивно взаимодействует через монитор, клавиатуру, мышь. Серверная ОС – это ОС 3снановленная на специальные серверный компьютер, с которым всё взаимодействие происходит по сети.

X512 ★★★★★
()
Ответ на: комментарий от anonmyous

Ну mpg123 из файла, а если откуда-то со стрима или с аудиовхода с перекодированием? Ну, в общем, есть применения такой штуке.

gns ★★★★★
()
Ответ на: комментарий от X512

Ты всё правильно говоришь. app_server и wayland-server на клиентской ОС не нужны, как и X.Org Server, их ставят только на серверные ОС.

Grapow ★★★
() автор топика
Последнее исправление: Grapow (всего исправлений: 1)
Ответ на: комментарий от Dmitry_Sokolowsky

Когда то у меня Raspberry Pi 1B стоял в виде торрентокачалки-nas с некоторыми элементами десктопа... Хотелось clementine, но он крашился 2-3 раза в час а когда работал - выжирал 50% цпу. И вот тогда я понял что mpd - очень хороший плеер. И что монжо по ssh включать музыку в другой комнате.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от anonmyous

А зачем люди ползуются ютубе музиком? Или яндес музиком?

Плейеров ведь и без них хватает.

usermod
()
Ответ на: комментарий от anonmyous

А для чего нужен серверный проигрыватель? Что то не вкуриваю, чем он лучше не-серверного?

Удобно для определенных задач.

Например,у меня есть гигантская коллекция музыки на довольно большом внешнем жестком диске, есть небольшой простейший неттоп (скажем, на Intel Atom с 2 гб RAM, лишь бы был не очень позорный звуковой чип), лежащий без дела, с более менее приличной звуковой картой.

Из неттопа делается многофункциональный файловый и медиа-сервер на базе Linux. К нему подключаются либо качественные комп. колонки, либо усилитель с колонками получше. Для аудиоколлекции туда ставится mpd (серверная часть).

В итоге получается управление вопроизведением звука непосредственно на этом сервере с любого компа в вашей домашней сети, либо со смартфона (планшета). Естественно на них должно быть установлено соответствующее ПО - mpd-плееры.

Также с этих смартфонов/планшетов/компов можно слушать с сервера mpd эту коллекцию и т.д. и т.п.

P.S. Помимо этого, на этом неттопе параллельно может быть организован dlna для коллекции фильмов, картинок, файловый сервер, торрент-сервер - в общем всё, что будет эксплуатировать этот большой внешний (а теперь уже больно дорогой, чтобы его таскать туда-сюда) ЖД в 4 тб.

My_quest ★★★★★
()
Последнее исправление: My_quest (всего исправлений: 3)
Ответ на: комментарий от X512

Как и два остальных, перечисленных твоим оппонентом, неужели ты иронию не почувствовал?

О том и речь, что серверы бывают разные, MPD это не веб-сервер и не сервер БД, а сервер, скажем так, для домашнего применения. Конечно, если Хайку рассматривать исключительно как клиентское во всех смыслах устройство, а для применений вроде MPD держать отдельный NAS под другой ОС – то да, MPD для Haiku не нужен.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

В Haiku на данный момент не предусмотрена работа без монитора (app_server будет вечно перезапускаться и некоторые приложения не смогут запускаться). Так что да, для устройств воспроизведения музыки без монитора и управлением по сети Линукс лучше подходит.

X512 ★★★★★
()

mpd - пушка!

Помню, как удивил коллег(хоть они и старые АСУ-шники), когда у соседа на шашлыки собрались и я с телефона включил музыку у себя на участке))

mpd тогда жил у меня на неттопе, который был единственным сервером в моём доме, шлюзом в интернет для дворовой локалки на 10 соседских участков, NFS, Samba, Apache, много чего на нём крутилось, уже и не вспомню сходу, не справлялся он только с шейпингом трафика, отчего приходилось ему по SNMP свитчу командовать, кому сколько и когда можно.

sucosoft
()

Давно использую, хорошее решение, процветание приложению.

spawn_sp ★★★★
()
Ответ на: комментарий от My_quest

Это все, безусловно, все очень интересно, но для управления коллекциями и их воспроизведением на разных устройствах есть уже много лет как обкатанные решения типа рун и аудирвана. Вские heos там (но это специфика для денона и мэранца). Но вот - чем лучше сие - я так и не понял. Слушать просто какую-то музыку с сервера можно и без всего этого по dlna. Если нужно максимальное качество для устройства оконечного - это рун. Посему мне реально интересна сфера применения вот этого вот.

DrRulez ★★★★★
()
Ответ на: комментарий от James_Holden

Прежде всего, серверный проигрыватель нужен, чтобы воспроизводить музыку на сервере.

Зачем? Обычно как раз источников много, а акустика одна, и это на неё надо стримить с компа, телефона или что под рукой


Куды пропал с поркхаба? Там ваши не справляются уже, треба допомога

shalom_ ★★
()
Ответ на: комментарий от DrRulez

Слушать просто какую-то музыку с сервера можно и без всего этого по dlna.

Есть некоторые фишки интересные, например плейлист создается централизовано и может прослушиваться на разных устройствах - начал слушать на одном, сделал паузу, а потом продолжил слушать с того же места на другом устройстве.. Для dlna этого нет, тем более в телевизорах.

Автоматом обновляется коллекция при добавлении новой музыки, быстро работает..

И потом.. MPD уже почти 25 лет. Все упомянутые rune иже с ними зародились позднее. И почему они более обкатанные, нежели mpd? :)

Ладно бы rune был бы создан давно, а mpd вот только что - я бы понял недоумение типа «а зачем оно». А тут-то как раз наоборот.

My_quest ★★★★★
()
Последнее исправление: My_quest (всего исправлений: 1)
Ответ на: комментарий от DrRulez

Не пойму ты прикалываешься или серьезно. Во-первых что рун что аудирвана это проприетарщина. Во-вторых нужно оно прежде всего чтобы развязать интерфейс от воспроизведения музыки. Это может быть полезно для того чтобы доставать информацию о текущем треке, возможность не терять воспроизведение если иксы или сессия юзера упали, ну тут как настроишь, возможность неинтерактивного взаимодействия в целом, также не нужно держать клиент с интерфейсом постоянно запущенным, как минимум это лишнее окно которого хотелось бы избежать. Понятно что где-то можно скрыть в трей, но тогда получается привязка к gui.

e7z0x1 ★★★★★
()
Ответ на: комментарий от shalom_

Зачем? Обычно как раз источников много, а акустика одна, и это на неё надо стримить с компа, телефона или что под рукой

Выше писал уже. Стриминг тут это дело десятое. Прежде всего он нужен, чтобы выдавать аналоговый сигнал на усилитель, то есть должен работать на конечном устройстве, которое воспроизводит все эти потоки.

Там ваши не справляются уже, треба допомога

Запарило уже. Могу только сказать что обеим сторонам надо лечиться.

James_Holden ★★★★★
()
Ответ на: комментарий от DrRulez

Если нужно максимальное качество для устройства оконечного - это рун

О каком качестве речь? За счет чего конкретно Roon обеспечит более высокое качество воспроизведения, чем MPD? Играет какие-то форматы которые MPD не может? Или что?

James_Holden ★★★★★
()
Ответ на: комментарий от DrRulez

Посему мне реально интересна сфера применения вот этого вот.

В треде писали же много раз. Берем одноплатник, добавляем ЦАП, добавляем усилитель. Получается сетевой плеер. У него нет монитора, очевидно. Соответственно, воспроизводить звук на этом устройстве должно приложение серверного типа, без GUI и TUI, управляемое по сети с любого клиентского устройства, типа телефона.

Есть люди по всему миру, которые производят вот эти вот коробочки, и это даже не только марантц с деноном. Им нужен MPD внутри.

Мы на опенсорс форуме, и MPD это опенсорс решение для данной сферы применения. Лучше или хуже оно проприетарщины - это другой вопрос. Мы сейчас на ЛОРе, алло!

James_Holden ★★★★★
()

=Это гибкое и мощное серверное приложение для воспроизведения музыки=, действительно - гибкое и мощное, без шуток.

И часто, когда читаю новость про mpd, ставлю это средство вновь, в какой-то детской надежде, что вот уже, вот-вот, попрет мощнота. Но всякий раз спотыкаюсь об одно и то же (умные плейлисты, наверное, или что-то еще подобное, или что-то там с коллекциями), чего мне не хватает. И всякий раз удаляю это средство и забываю, что ж мне там не понравилось-то… И приходится снова потом ставить это средство и снова - go to 10.

Видимо, маразм во мне крепчает (:

Но, если на все эти невнятные жалобы не обращать внимания, а так и стОит сделать, то mpd действительно - хорош.

Aburus
()
Последнее исправление: Aburus (всего исправлений: 1)
Ответ на: комментарий от Aburus

И всякий раз удаляю это средство и забываю, что ж мне там не понравилось-то…

Ну так поставь и попробуй прямо сейчас. Что не понравилось, можешь написать, пока не забыл, прямо в комментариях к этой новости, пока она на главной.

Только клиентов имеет смысл потыкать не меньше двух, чтобы не путать недостатки mpd и недостатки конкретного клиента. Например, взять сначала клиент на самом удобном для тебя тулките (благо, выбор есть, в моём случае это когда-то была cantata), а потом тот же ncmpc.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от Shadow

Скажите, он как-нибудь winamp скины поддерживает?

Да, но пока нет.

James_Holden ★★★★★
()
Ответ на: комментарий от Aburus

mpd, на мой взгляд, это достаточно удобный интерфейс к текущей очереди проигрывания, плейлистам и проигрывателю, который позволяет на нем сверху накручивать все, что душе угодно. А если ничего особо не угодно - просто запускать играть, что сказано, на стационарную аудиосистему или аудио-системы.

Дополнительно легко обвесить всяким облачным добром - радио, last.fm и т.п.

У меня, например, музыка играется на два набора колонок - в комнате и спальне, играется с локальной коллекции на сервере. Управляется с телефона, конечно, но при этом можно зайти по ssh и сделать что-то руками, если надо.

Когда душе захотелось странного, я привернул скачивание в коллекцию добра из рекомендованного мне на last.fm, торрентов и из пары музыкальных каналов в телеге. А поверх этого, сделал формирование плейлиста из скачанных музык нового\рекомендованного для mpd на сегодня и это как раз примерно то, чего я хотел от «умного плейлиста».

Дойдут руки и желание души - приверну к этому какую-то локальную голосовалку уровня «совсем не зашло|а есть еще такое» и прицеплю ее на кнопку в телефоне.

Это все примерно 10-20 строчек на баше каждое по отдельности, и не то, чтоб тиражируется на другие уши и предпочтения. Просто это удобно лично мне и это было удобно сделать поверх именно Mpd.

keedley1
()
Ответ на: комментарий от anonmyous

почему на самом телефоне нельзя было бы это же проигрывать?

На его ущербном говнодинамике?

Я некоторое время прожил с домашним сервачком (есличо, причина его наличия была не в mpd конечно же) к которому были подключены колонки и установлен mpd как раз. Было удобно, просыпаешься, не вставая включаешь себе музыку с телефона, она играет из колонок сервачка. Под неё встаёшь, пересаживаешься за комп, на компе свой клиент есть, не надо хвататься за телефон если надо сменить трек/плейлист. Сейчас нужда в сервачке отпала, поэтому дома просто включаю музыку на компе, но скучаю по былому удобству mpd.

Еще там можно настроить разные выходы для звука (в том числе и стриминг через сеть) и переключаться из клиента между ними. Я настроил себе стриминг и слушал свою музыку на рабочем компе без необходимости перекачивать на него свои пераццкие ogg файлы.

STinger
()
Ответ на: комментарий от My_quest

Для dlna этого нет, тем более в телевизорах.

Ну ок. Только вот слушать музыку с телевизора я и сам не буду и другим - не советую :)

Все упомянутые rune иже с ними зародились позднее

Только roon а не rune. И библиотеки там тоже обновляются автоматом и плейлисты есть. И самое главное - все устройства roon tested (да и ready по большей части) выводят звук по максимуму, в зависимости от возможностей и ты можешь целиком отследить все этапы конвертации до нужного стримера, цапа, усилителя. А если уж так приспичило слушать с компа, то можно подключить внешний HQPlayer в виде программы и уже выводить на цап с него, а не с roon напрямую.

Ладно бы rune был бы создан давно, а mpd вот только что - я бы понял недоумение типа «а зачем оно». А тут-то как раз наоборот.

Ну ок - есть список hifi аппаратуры, поддерживающей mpd? Если нет, то лично мне не сильно интересно и больше я докапываться до сего не буду - есть и есть. Кому надо пусть пользуются.

DrRulez ★★★★★
()
Ответ на: комментарий от e7z0x1

Не пойму ты прикалываешься или серьезно. Во-первых что рун что аудирвана это проприетарщина.

Мне вообще наплевать на открытость и закрытость софта. Мне надо получить результат.

нужно оно прежде всего чтобы развязать интерфейс от воспроизведения музыки. Это может быть полезно для того чтобы доставать информацию о текущем треке, возможность не терять воспроизведение если иксы или сессия юзера упали,

Какие «иксы», какие «окна»? Мне надо вывести поток на внешний цап в максимальном качестве для определенного устройства. Пока ничего лучше roon я в этом плане не нашел. А сколько оно в год стоит мне - плевать. Но альтернативы я смотрю регулярно, потому как в roon есть моменты, которые меня не совсем устраивают. Но вот сколько не смотрю - практически все - это вариации на тему очередного плеера и все. Причем плеера для, пардон муа, качества мультимедиа.

DrRulez ★★★★★
()
Ответ на: комментарий от Grapow

А какие Линукс поддерживает достойные звуковые карты?

gmv4ever
()
Ответ на: комментарий от James_Holden

О каком качестве речь?

Даже вот не знаю что тебе и ответить-то. Вот смотри есть у меня файл с dsd256 например. И есть у меня стример, который максимум на dsd128. Вот рун может в режиме реального времени отконвертировать этот файл для проигрывания на данном стримере. Он видит, к примеру, мой усилитель в сети, считывает с него его максимальные параметры и выдает на него из библиотеки в том качестве, в котором он может воспроизвести музыку. При этом, я могу в одной компате играть через какой-нить кэмбридж, а в другой через audiolab 9000a совершенно разные музыкальные треки. Т.е. - мультирум. В максимальном качестве для каждого устройства.

И вот сколько я не искал - нет ни одного open source проекта, который хотяб немного приблизился к roon по функционалу. Вон выше - я про качество воспроизведения, мне опять про какие-то иксы, юзверей и окна с консолями…

DrRulez ★★★★★
()
Ответ на: комментарий от DrRulez

И есть у меня стример, который максимум на dsd128. Вот рун может в режиме реального времени отконвертировать этот файл для проигрывания на данном стримере

Конвертировать DSD в DSD и говорить о качестве это само по себе странно, чисто математически. Вы там точно уверены, что понимаете теорию DSD? Но ладно, это другая тема. Допустим, надо вот так делать и скорее всего, MPD это сделать не может. Как я и предполагал, крайняя экзотика форматов и крайне спорные задачи. Для опенсорса это явно слишком, неподъемно.

нет ни одного open source проекта

Конкретно MPD это конечный элемент, вокруг него часто используются обвязки от производителя железки, которые дают нужные возможности и интерфейс пользователя. А MPD нужен чтобы непосредственно воспроизводить, готовая гибко настраиваемая игралка всех основных форматов. Поскольку это опенсорс, всегда надо понимать, что это не готовые продукты, а инструменты для решения задачи, кирпичики. Сравнивать с проприетарными готовыми решениями тут изначально некорректно.

Это нужно для тех кто что-то сам делает, а не просто покупает.

James_Holden ★★★★★
()
Ответ на: комментарий от DrRulez

я про качество воспроизведения

Так что качество-то. Если надо пердолится в консоли, это не значит что нет качества. О чем речь то. Консоль - это плохой юзер экспириенс и не потребительское готовое решение, но само по себе это никак не говорит о том, что нельзя воспроизвести звук в каком-то заданном качестве.

Поэтому я и задаю вопрос - а что конкретно с качеством не так. Ну понятно, конвертировать на лету DSD 256 в DSD 128 нельзя. У меня не взорвется голова от попытки понять смысл сего странного действия, так это же даже хорошо. А более нормальные примеры про плохое качество MPD есть? Конвертировать PCM 192/24 в PCM 96/24 сможет вполне. Это нормальное качество?

То есть, у меня в голове есть отдельно качество звука, а есть пользовательский функционал (мультирум, гипер-плейлисты и подобное). А у тебя как-то это вместе, или что, не могу понять.

Вообще, решений подобных руну нету, потому что, при всем уважении, это надо ничтожной доле пользователей линукса, чисто социологически. Нет никого кто занялся бы.

James_Holden ★★★★★
()
Последнее исправление: James_Holden (всего исправлений: 2)
Ответ на: комментарий от James_Holden

нормальные примеры про плохое качество MPD есть?

Где ты у меня вычитал хоть одну фразу про «плохое качество mpd» ?

То есть, у меня в голове есть отдельно качество звука, а есть пользовательский функционал (мультирум, гипер-плейлисты и подобное). А у тебя как-то это вместе, или что, не могу понять.

Разумеется - это и ДОЛЖНО быть вместе. Иначе это не продукт, а полуфабрикат.

А MPD нужен чтобы непосредственно воспроизводить, готовая гибко настраиваемая игралка всех основных форматов

Я уже понял - обычный плеер. Для себя в нем смысла не вижу теперь.

DrRulez ★★★★★
()
Ответ на: комментарий от DrRulez

Где ты у меня вычитал хоть одну фразу про «плохое качество mpd» ?

Очевидно что я не понял то что ты писал, поэтому пытаюсь спросить что конкретно имелось в виду. Кстати, до сих пор не понял причем тут качество.

Иначе это не продукт, а полуфабрикат.

Всмысле? Продукт покупается за деньги. Опенсорс это не продукт по определению. Это для тех кто на его базе что-то делает. Вроде мы все еще на ЛОРе?

Я уже понял - обычный плеер

Это просто плеер для линукса, только без GUI. Почему у всех вызывает непонимаение вот этот факт, я не понимаю.

James_Holden ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.