Задача: для собственных нужд разобрать как настраивается MPD on Lubuntu 18.04 Desktop ноутбука Sony Vaio Model PCG-5K3P

Music Player Daemon — музыкальный плеер с клиент-серверной архитектурой и широкими возможностями. Он умеет воспроизводить музыку из указанного каталога и транслировать ее по сети. Управлять демоном можно как локально, так и удаленно, а также есть широкий выбор фронтэндов — клиентов к mpd. Почему на ноутбуке, а потому что у меня нет свободных колонок, а тут есть.

Шаг №1: Установка системы Lubuntu 18.04 Desktop была произведена по заметке.

Шаг №2: Устанавливаю утилиту mpd в систему:

ekzorchik@srv-dbionic:~$ sudo apt-get install -y mpd curl

Шаг №3: Создаю резервную копию конфигурационного файла:

ekzorchik@srv-dbionic:~$ sudo cp /etc/mpd.conf /etc/mpd.conf.backup

Шаг №4: Активирую запуск демона при загрузки системы и предопределяю какой конфигурационный файл использовать:

ekzorchik@srv-dbionic:~$ sudo nano /etc/default/mpd 
START_MPD=true
MPDCONF=/etc/mpd.conf
ekzorchik@srv-dbionic:~$ mkdir ~/.mpd
ekzorchik@srv-dbionic:~$ mkdir ~/.mpd/playlists
ekzorchik@srv-dbionic:~$ sudo nano /etc/mpd.conf
#Директория, сканируемая MPD, при поиске музыки
music_directory			"/home/ekzorchik/Music"
#Директория, в которую сохраняются плейлисты
playlist_directory		"/home/ekzorchik/.mpd/playlists"
#База данных медиатеки
db_file				"/home/ekzorchik/.mpd/tag_cache"
log_file			"/home/ekzorchik/.mpd/mpd.log"
#Файл, в котором MPD хранит свой pid
pid_file			"/home/ekzorchik/.mpd/pid"
#Хранит текущее состояние MPD
state_file			"/home/ekzorchik/.mpd/state"
#Файл с метаданными аудиотреков (sticker database)
sticker_file                    "/home/ekzorchik/.mpd/sticker.sql"
user				"ekzorchik"
bind_to_address			"172.33.33.7"
port				"6600"
#Этот параметр включает автоматическое обновление базы данных MPD
#при изменении файлов в music_directory.
auto_update    "yes"
zeroconf_enabled		"yes"
zeroconf_name			"Music Player"
default_permissions             "read,add,control,admin"
input {
        plugin "curl"
}
#Вывод звука через pulseaudio
audio_output {
	type "pulse"
	name "pulse audio"
	#Регулировка звука с клиентского устройтва
	mixer_type "software"
}
#Вывод звука через потоковое вещание для плееров
#http://IP&DNS:8080/mpd.mp3
audio_output {
	#тип потока
	type	"httpd"
	#имя
	name "My HTTP Stream"
	#кодировка
	encoder	"lame"
	#порт
	port	"8080"
	#адрес
	bind_to_address "172.33.33.7"
	bitrate	"128"
	mount "/mpd.mp3"
	#формат
	format	"44100:16:2"
	#Максимальное количество подключений
	max_clients "5"
}
filesystem_charset		"UTF-8"
id3v1_encoding			"UTF-8"
metadata_to_use			"none"
ekzorchik@srv-dbionic:~/Music$ sudo systemctl restart mpd && sudo systemctl status mpd | head -n5
ekzorchik@srv-dbionic:~$ sudo netstat -tulpn | grep mpd
tcp        0      0 172.33.33.7:6600        0.0.0.0:*               LISTEN      6669/mpd            
tcp6       0      0 :::8080                 :::*                    LISTEN      6669/mpd            
ekzorchik@srv-dbionic:~$

На заметку: В каталог ~/Music помещаю каталоги с музыкой, все они будут проигрываться.

ekzorchik@srv-dbionic:~$ ls -l ~/Music/

total 4

drwxrwxr-x 2 ekzorchik ekzorchik 4096 May 7 20:38 'hard rock attack vol9'

Шаг №5: Проверяю, попробую на свою рабочую систему Ubuntu 18.04 Desktop ноутбука Lenovo E555 поставить клиентское приложение mpc:

ekzorchik@navy:~$ sudo apt-get install -y mpc

ekzorchik@navy:~$ mpc --host=172.33.33.7 -p 6600 play

Live - Don't Run to Wait

[playing] #1/5 0:14/3:47 (6%)

volume: 65% repeat: off random: off single: off consume: off

ekzorchik@navy:~$

ekzorchik@navy:~$ mpc --host=172.33.33.7 -p 6600 random on

ekzorchik@navy:~$ mpc --host=172.33.33.7 -p 6600 update

Шаг №6: На смартфон Huawei Honor 5c устанавливаю приложение Play market - MPDroid

Запускаю установленное приложение:

(Предпочитаемое соединение

Настройки основанные на WLAN

  • Выберите WLAN сеть: ekzorchik
  • Сервер: 172.33.33.7
  • Порт: 6060
  • Пароль к серверу: не указываю, т.к. на /etc/mpd.conf его не устанавливал
  • Сервер потокового воспроизведения: 172.33.33.7
  • Порт потокового воспроизведения: 8080
  • Окончание URL: mdp.mp3
  • Persisten Notification: отмечаю галочкой

(Default connection)

Стандартные настройки соединения

  • Сервер: 172.33.33.7
  • Порт: 6060
  • Пароль к серверу: не указываю, т.к. на /etc/mpd.conf его не устанавливал
  • Сервер потокового воспроизведения: 172.33.33.7
  • Порт потокового воспроизведения: 8080
  • Окончание URL: mdp.mp3
  • Persisten Notification: отмечаю галочкой

Шаг №7: Можно заранее создать плейлисты и через смартфон их проигрывать:

ekzorchik@srv-dbionic:~$ cd Music/hard/

ekzorchik@srv-dbionic:~/Music/hard$ find *.mp3 > ~/.mpd/playlists/playlists.m3u

Запускаем с компьютера плейлист:

ekzorchik@navy:~$ mpc --host=172.33.33.7 -p 6600 clear

volume: 60% repeat: off random: on single: off consume: off

ekzorchik@navy:~$ mpc --host=172.33.33.7 -p 6600 load playlists

loading: playlists

ekzorchik@navy:~$ mpc --host=172.33.33.7 -p 6600 play

Valentine - You're Tearing Me Down

[playing] #64/151 0:00/3:22 (0%)

volume: 60% repeat: off random: on single: off consume: off

ekzorchik@navy:~$

Проиграть следующую композицию в playlist:

ekzorchik@navy:~$ mpc --host=172.33.33.7 -p 6600 next

Уменьшить/увеличить громкость воспроизведения (-+<number>) от 0 до 100:

ekzorchik@navy:~$ mpc --host=172.33.33.7 -p 6600 volume -10

На заметку: За используемыми командами следует обратиться к документации: man mpc

  • mpc pause — приостановить проигрывание музыки
  • mpc stop — остановить проигрывание музыки
  • mpc next — следующий трек в плейлисте
  • mpc prev — предыдущий трек в плейлисте
  • mpc random — включит режим случайной следующей песни
  • mpc listall — показать список всех треков в базе
  • mpc playlist — показать текущий плейлист
  • mpc volume [+-]<num> — установить громкость на <num> (от 0 до 100) или настроить с помощью [+ -] <num>
  • mpc play [<position>] — начинает играть с позиции <position>

Шаг №8: Текуще проигрываемую композицию можно открыть в браузере:

http://172.33.33.7:8080/

Шаг №9: Чтобы проигрывать onlineрадиостанции:

  • https://www.internet-radio.com/
  • https://onlineradiobox.com/ru/

находим любую радиостанцию, к примеру:

ekzorchik@navy:~$ mpc --host=172.33.33.7 -p 6600 clear

ekzorchik@navy:~$ mpc --host=172.33.33.7 -p 6600 add http://chanson.hostingradio.ru:8041/chanson256.mp3

ekzorchik@navy:~$ mpc --host=172.33.33.7 -p 6600 play

[playing] #1/1 0:00/0:00 (0%)

volume:100% repeat: off random: on single: off consume: off

ekzorchik@navy:~$

и воспроизведение идет.

Вот к примеру ссылка:

https://www.internet-radio.com/servers/tools/playlistgenerator/?u=http://uk6.internet-radio.com:8124/listen.pls&t=.m3u

ее нужно превратить в:

ekzorchik@navy:~$ mpc --host=172.33.33.7 -p 6600 add http://uk6.internet-radio.com:8124/listen.mp3

ekzorchik@navy:~$ mpc --host=172.33.33.7 -p 6600 play

ekzorchik@navy:~$ mpc --host=172.33.33.7 -p 6600 stop

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