Добро пожаловать на сайт Quasiocculti

Блог об интернет-технологиях

Установка и настройка MPD (Music Player Daemon) на Arch Linux

Идея реализации музыкального плеера по принципу архитектуры “клиент-сервер” прекрасно подходит для применения в ОС Arch Linux. Дело в том, что при таком подходе ресурсы компьютера расходуются только на самое необходимое – воспроизведение музыкальных файлов. Плюс такие нересурсоемкие функции, как поддержка базы данных треков и организация плейлистов.

При этом, в составе пакета находится CLI-плеер MPC. CLI или Command-Line Interface предполагает, что музыку можно воспроизводить запуском из командной строки плеера с необходимыми параметрами. Привычный GUI-интерфейс при таком подходе практически отсутствует:

CLI-плеер mpc из пакета mpd

Однако если вы привычны к использованию командной строки, можно, например, “отдать” плееру MPC заранее сформированный плейлист с опцией повтора, и мы получим консольный плеер, который по качеству звука не будет уступать интерфейсному аналогу:

Управление воспроизведением mpd с помощью CLI-клиента mpc

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

Установка и настройка MPD / MPC

Мы уже рассматривали вопрос установки Music Player Daemon на платформу Raspberry. Установка на Arch Linux схожа. Кроме этого, в этот раз мы рассмотрим многопользовательский вариант установки, при котором для каждой учетной записи можно иметь свою библиотеку и свои настройки.

Прежде всего, установка. Сразу установим и плеер:

sudo pacman -S mpd mpc

После завершения установки копируем файл настроек в домашнюю папку:

mkdir ~/.config/mpd
cp /usr/share/doc/mpd/mpdconf.example ~/.config/mpd/mpd.conf

С этим файлом настроек мы и будем работать в дальнейшем. Но сперва создадим необходимые файлы и папки:

touch ~/.config/mpd/{database,log,pid,state,sticker.sql}
mkdir ~/.config/mpd/playlists ~/music

Теперь займемся настройками:

nano ~/.config/mpd/mpd.conf

Далее я приведу только те параметры, которые необходимо указать обязательно. Все остальное – на ваше усмотрение:

music_directory    "~/music"
playlist_directory "~/.config/mpd/playlists"
db_file            "~/.config/mpd/database"
log_file           "~/.config/mpd/log"
pid_file           "~/.config/mpd/pid"
state_file         "~/.config/mpd/state"
sticker_file       "~/.config/mpd/sticker.sql"
user "ВАШЮЗЕРНЕЙМ"
audio_output {
    type       "pulse"
    name       "pulse audio"
    mixer_type "software"
}

При отсутствии параметра audio_output mpd попытается автоматически определить устройство воспроизведение, и скорее всего у него получится. Но лучше все-таки указать явно.

Из опциональных параметров можно определить следующие:

restore_paused "yes"

если хотите чтобы плеер возобновлял воспроизведение после перезагрузки компьютера и:

input {
    plugin "curl"
#   proxy "proxy.isp.com:8080"
#   proxy_user "user"
#   proxy_password "password"
}

для воспроизведения внешних URL в плейлистах.

Запуск и тестирование MPD

После внесения данных настроек нам необходимо остановить службу mpd и запустить ее с указанием локации с настройками:

mpd –kill
mpd ~/.config/mpd/mpd.conf
systemctl --user enable mpd # автоматически запускать службу mpd при авторизации

Копируем в папку ~/music mp3-файлы и пробуем протестировать работу mpd:

mpc update
mpc add ‘01. Funk - Blue Monday.mp3’ # или что там еще
mpc play

Если все сделано правильно, из динамиков или наушников вы услышите звуки любимой композиции.

NCMPCPP или чуть больше удобства

Конечно, рабочий MPD / MPC доставит радость только упорным поклонниками минимализма и командной строки. Да, если оперировать плейлистами и режимами Repeat и Shuffle, то до определенного предела все будет неплохо. Но все же, хочется чуть больше комфорта – и локально и удаленно.

Для себя в качестве альтернативного варианта я выбрал ncmpcpp – NCurses Music Player Client (Plus Plus). Формально это дальнейшее развитие клиента ncmpc, переписанное на C++ с некоторыми дополнительными возможностями в виде редактора тегов и локального поискового движка.

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

С другой стороны, за все время использования я ни разу не сталкивался с какими-либо проблемами. Если хотите протестировать, установка предельно простая:

sudo pacman -S ncmpcpp

Если mpd вы установили правильно, ncmpcpp (как и любой другой mpd-клиент) запустится и будет воспроизводить медиафайлы из вашей библиотеки без проблем – как локально, так и удаленно:

Linux-клиент mpd ncmpcpp

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

cp /usr/share/doc/ncmpcpp/config ~/.config/ncmpcpp/
nano ~/.config/ncmpcpp/config

Для себя я изменил только одну настройку:

user_interface = “alternative”

Заключение

Мы разобрали особенности установки и настройки mpd в многопользовательском режиме. Вообще, использование Arch Linux (как и Raspberry OS) включает в себя и вариант с незатейливым headless-аудиоплеером. Так что настроенный звук и готовый к работе аудиоплеер с архитектурой “клиент-сервер” никогда лишними не будут.

Надо сказать, что ncmpcpp не является единственной альтернативой. mpd-клиенты существуют под Linux, Windows, macOS и Android. Их сравнение – тема отдельной публикации.

  • Linux
  • 236 просмотров
  • 4 минуты
Комментарии
Комментарии отсутствуют
Новый комментарий
Имя:
Ваш комментарий будет доступен для редактирования 10 минут
Quasiocculti

Блог об интернете и интенет-технологиях. Рассказываем об интересных событиях c 2012 года.

Поиск
Популярные хештеги: