Драйвер mpd

Fork me on GitHub

Описание

Драйвер mpd является клиентом для управления проигрывателем MPD (Music Player Daemon).

MPD – музыкальный аудио проигрыватель с клиент-серверной архитектурой, который воспроизводит музыку из указанного каталога (библиотеки). Воспроизведением управляют при помощи клиента. Управлять сервером (демоном) можно с любого компьютера, телефона или планшета (iOS/Android) в сети, а с помощью данного драйвера со странички в VIS или из JS скриптов в iobroker. Выводить звук можно как локально на том устройстве где установлен демон так и через потоковое аудио по HTTP. Соответствующие настройки задаются в конфигурационном файле. Описание протокола проигрывателя находится тут.

 Информация

Актуальная версия
Необходимые условия установленная серверная часть MPD
Разработчик instalator
Ключевые слова
управление
Github icon_link Ссылка
Платформа Javascript/Node.js
Лицензия MIT

Установка драйвера

Установка осуществляется на вкладке Драйвера странички администрирования системы. В группе драйверов Медиа находим строчку с названием mpd client adapter и нажимаем кнопку со значком плюса в этой строке справа.

На экране появится всплывающее окно установки драйвера, в конце установки оно автоматически закроется.

Если все прошло удачно, на вкладке Настройка драйверов появится строка mpd.0 с установленным экземпляром драйвера.

По-умолчанию драйвер не запущен, чтобы его стартовать, нажимаем на кнопку Неактивно. Нажать для старта (красная с иконкой play). Если драйвер настроен верно установлено соединение с сервером MPD, то индикатор состояния (значок) слева от названия инстанции драйвера (mpd.0) будет зеленый. Если он желтый то это означает, что драйвер запущен, но не установлено соединение с сервером MPD.

Настройка драйвера

Для перехода на окно настроек нажимаем кнопку Настроить.

Откроется окно настроек драйвера. В поле IP и PORT задается ip адрес  устройства на котором запущена серверная часть проигрывателя MPD и порт на котором он работает.

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

Установка MPD на Linux

Установим mpd с помощью apt-get (или любым удобным для вас способом)

sudo apt-get install mpd

Переходим к настройке. За конфигурацию демона mpd отвечает файл /etc/mpd.conf

sudo -e /etc/mpd.conf

Нам откроется структурированный файл с кучей комментариев после каждой из переменных настроек. Отредактируем некоторые из них:
Указываем пути на наши папки, не забыв создать необходимые с помощью команды

mkdir -p ~/.mpd/playlists

Настроим пользователя и адрес нашего демона

Отключим вывод через alsa закомментировав знаком ‘#’ следующий строки:

Настроим вывод звука через pulseaudio

Настроим потоковое вещание (открыть :8000/mpd.ogg в любой плеере, например vlc. Если хотите проигрывать поток как mp3 – замените ниже vorbis на lame).

Еще раскомментируйте опцию mixer_type, выбрав наиболее подходящий вам. Например: mixer_type “software”

Основные настройки закончены. Теперь применим несколько команд, позволяющих избежать проблем с уровнем доступа или с pulseaudio. Вы можете как столкнуться с этими проблемами, так и не встретить их. В любом случае перестраховка не помешает.
#Настроим права доступа
sudo usermod -a -G {folder_owner} {mpd_user}
sudo chmod g+rX {path_to_folder}

где folder_owner – имя владельца папки (в моем случае – username), mpd_user – пользователь указанный в mod.conf (в нашем случае – mpd), ну и path_to_folder в нашем случае /home/username/Music и /home/username/.mpd
sudo usermod -a -G username mpd
sudo chmod g+rX /home/username/Music
sudo chmod a+rwx /home/username/.mpd/

#Настраиваем права доступа в pulseaudio для mpd_user
sudo usermod -a -G pulse-access mpd
sudo usermod -a -G pulse mpd

Перезапустим mpd (после установки он запускается автоматически):
sudo /etc/init.d/mpd stop
sudo /etc/init.d/mpd start-create-db

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

Для вывода звука аудиоплеером MPD через именную звуковую карту:

уточняем наличие и маркировку звуковых карт

в файле конфигурации /etc/mpd.conf секция audio_output приводится например к виду

Установка MPD на Windows

Скачать версию MPD Windows можно по этой ссылке.

Распаковываем проигрыватель в любой каталог, например на диск D: в каталог mpd (d:/mpd/). Изменяем настройки в конфигурационном файле mpd.conf. Стоит отметить что все пути в конфигурационном файле пишутся  через два обратных слеша (\\) или через одну косую черту (/).

Файл конфигурации mpd.conf для Windows:

После этого можно запускать проигрыватель командой:

Либо запустив файл start_mpd.bat, для автоматического запуска проигрывателя при загрузке Windows, добавляем файл в автозагрузку.

Конфигурационный файл MPD

Конфигурация вывода потокового аудио через HTTP:

Возможности проигрывателя

  • Поддержка форматов Ogg Vorbis, FLAC, OggFLAC, MP2, MP3, MP4/AAC, MOD, Musepack, APE и WAV, а также всех остальных, которые поддерживаются FFMpeg.
  • Удалённое управление MPD через сеть (есть поддержка IPv4 и IPv6).
  • Потоковое HTTP воспроизведение FLAC, OggFLAC, MP3 и Ogg Vorbis.
  • Читает и кэширует информацию метаданных (теги) — (ID3 (id3v1 и id3v2)), комментарии Vorbis и теги MP4.
  • MPD умеет перекодировать теги.
  • Поддержка буфера при проигрывании (предотвращает пропуски при высокой загруженности или большом времени отклика сети).
  • Воспроизведение музыки без кратковременных пауз между композициями (gapless playback — особенно важен при прослушивании записей с концертов, а также оперы).
  • Поддержка плавного наложения/плавного перехода (Crossfading).
  • Поддержка прокрутки.
  • Поддержка Cue sheets (как встроенных в теги файла, так и внешних), но только в старых версиях, в новых нет.
  • Возможность обновления только части базы данных.
  • Сохранение, загрузка и управление плей-листами (в формате m3u, с относительными или абсолютными путями).
  • Контроль громкости (OSS, ALSA и программные микшеры).
  • Поддержка широкого диапазона аудиоустройств (OSS, ALSA, Sun, esd, ARts, PulseAudio и др.), в том числе и потокового вещания (Icecast, также имеет встроенный сервер).
  • Минимальные системные требования.
  • Демон тестирован на Linux, FreeBSD, OpenBSD, NetBSD, Solaris и HP-UX.
  • Возможность скроблинга на Last.fm

Описание объектов

  • play, pause, stop, next, previous – Воспроизвести, пауза, стоп, следующий трек, предыдущий трек.
  • mute – Отключение звука, воспроизведение при этом продолжается.
  • random – включает/отлючает случайное воспроизведение.
  • repeat – Повтор воспроизведения плейлиста.
  • volume – Регулировка уровня громкости от 0 до 100.
  • add – добавить файл или папку в текущий плейлист, путь относительно библиотеки.
  • save – Записав сюда произвольное имя, в каталоге playlists сохранится текущий плейлист с заданным именем.
  • addplay – добавить в текущий плейлист и воспроизвести добавленный трек, путь относительно библиотеки либо http ссылка на аудио поток.
  • lsinfo – навигация по библиотеке. В этот объект записываем путь, в ответ получаем объект с содержимым папки.

Например: Вид получаемого объекта на запрос содержимого папки Flac/Armin van Buuren – Mirage (2010):

  • playlist_list –  Объект содержания текущего плейлиста: