Слушаем музыку с одного ПК на другом с помощью MPD HTTP-Streaming
Преветствую всех, кто ещё не отписался от моего блога. Давно меня что-то не было слышно, ну да ладно.
Так иногда случается, что хочется во время работы послушать музыку, но не таскать же с собой на работу всю музыкальную коллекцию, верно? Это создаёт определённые неудобства. Поэтому, искал способы слушать свою домашнюю музыкальную библиотеку находясь на работе.
Первое, что приходит на ум - MPD. Ведь это же демон и он слушает порт. Значит, он должен уметь то, что мы хотим.
Собственно, как это будет происходить: соединяемся с MPD демоном запущенном на домашнем компьютере и начинаем что либо слушать. MPD попутно с обычным выводом "стримит" аудио поток на порт. С порта мы и будем забирать поток и слушать его.
Версия, с которой MPD поддерживает HTTP Streaming - 0.15. Проверим какая у нас:
└─[% >mpd --version | grep mpd
mpd (MPD: Music Player Daemon) 0.16.5
Моя версия поддерживает.
Чтобы всё это заработало, меняем пару настроек в /etc/mpd.conf:
bind_to_address "0.0.0.0"
password "myverysecurepassword@read,add,control,admin"
И добавляем куда нибудь в конец файла следующее:
audio_output {
type "httpd"
name "linux.fm"
encoder "vorbis"
port "8000"
bitrate "128"
format "44100:16:1"
}
Немного про настройки:
- bind_to_address - какой адрес будет слушать MPD. По-умолчанию - localhost, но нам же это не подходит. Верно?
- password - думаю, тут всё понятно
- type - Тип аудио вывода
- name - Название потока
- encoder - В каком формате отдаём. Поддерживается vorbis, lame
- port - На какой порт будем вещать аудио-поток
- bitrate - Битрейт потока
- format - Характеристики. В данном случае вещаем 44100 KHz, 16 bit, 1 channel. Вещаем в моно, т.к. в stereo потребляется слишком много процессорного времени. У меня не очень новый ПК, поэтому мне бывает критично.
Перезапускаем MPD:
sudo service mpd restart
На этом настройку можно считать законченной. Если всё сделано верно, то сейчас можете открыть какую нибудь Sonata, запустить песню, открыть http://127.0.0.1:8000 (для некоторых плееров, возможно, потребуется указать формат потока через URL - http://192.168.1.2:8000/mpd.ogg) например, в firefox и должны услышать заветную музыку.
Если у Вас более старая версия, то можно сделать тоже самое с использованием icecast. Постараюсь описать это в следующей (следующих) статьях.
Совет: если планируете слушать музыку дома, то советую не забывать выключать акустику, дабы не пугать "домашних". :)