24.09.2009 10:17
muhas — Немного о Music Player Daemon (MPD)
Навеяно комментами о сложности mpd настройке (так же привожу мой скромный конфиг)Информация из wikipedia про mpd (советую тем кто не пробовал этот чудо музыкальный проигрыватель прочитать)
Music Player Daemon (MPD) - музыкальный проигрыватель с клиент-серверной архитектурой, который читает музыку из указанного каталога, а при помощи клиента можно управлять воспроизведением, то есть MPD разрешает удаленный доступ к воспроизведению музыкальных файлов другому (удаленному) компьютеру и управлять сервером (демоном) можно с любой машины из сети, но слушать музыку можно и на своём компьютере, если программу клиент для MPD настроить на воспроизведение через свой локальный хост (localhost)
К слову сказать, по умолчанию все виденные мною клиенты уже натравлены на локалхост, т.е. при запуске клиента вы сразу подсоеденитесь к mpdЕдинственным на мой взгляд минусом mpd является то что он играет музыку только из БД, а файлы не из неё проигрывать не может :(
Хотя я это обхожу c помощью inotify - композиция в БД добавляется сразу как я положил её в папку с музыкой (правда если в папку с музыкой не ложить то эту композицию mpd ни в жизнь не проиграет)
Моя конфигурация mpd достаточно минималистична в силу того что этого вполне достаточно мне =)
Собственно конфиг примера достаточно хорошо комментирован посему чего-то сложного там нет, хотя новичку в Linux что-то может показаться непонятным, но при ближайщем рассмотрении это непонятное становится понятным.
>>cat ~/.mpdconf
#папка с музыкой
music_directory "/home/muhas/all/muzlo"
# не забываем mkdir -p ~/.bak/mpd/playlists
playlist_directory "~/.bak/mpd/playlists"
db_file "~/.bak/mpd/mpd.db"
log_file "~/.bak/mpd/mpd.log"
error_file "~/.bak/mpdmpd.error"
pid_file "~/.bak/mpd/mpd.pid"
state_file "~/.bak/mpd/mpdstate"
bind_to_address "127.0.0.1"
# ALSA output, вообще output можно не указывать
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:0,0" # optional
format "44100:16:2" # optional
}
#визуализация для ncmpcpp
audio_output {
type "fifo"
name "mpdfifo"
path "/tmp/mpd.fifo"
format "44100:16:1"
}
mixer_type "alsa"
mixer_device "default"
mixer_control "Master"
volume_normalization "yes"
audio_buffer_size "2048"
id3v1_encoding "UTF-8"
конфиг лежит в домашней папке ибо я запускаю mpd от пользователя, а не стартую вместе со всеми остальными демонами
База mpd создается зачастую долго, но делает это один единственный раз (mpd --create-db). В последствии база только обновляется и делает это достаточно быстро (закидывая пару альбомов в папку с музыкой можно и не заметить этого обновления)
В общем не так страшен черт как его малюют.
Мой любимый клиент! Только я запускаю его от имени системы, в списке демонов, а в остальном все очень похоже...
Раньше все больше sonata использовал для управления базой и проигрывания музыкой, а в последнее время все больше ncmpcpp использую...
а для той музыки, что не в базе, это обычно новая музыка, которую я пока не решал, в какую папку выкладывать, я прослушиваю с помощью mplayer.
Раньше все больше sonata использовал для управления базой и проигрывания музыкой, а в последнее время все больше ncmpcpp использую...
а для той музыки, что не в базе, это обычно новая музыка, которую я пока не решал, в какую папку выкладывать, я прослушиваю с помощью mplayer.
сейчас тоже использую чаще ncmpcpp но только для добавления музыки в плейлист, остальное хоткеями (спасибо те за конфиг на лиспе для xbindkeys) - мне хавтает более чем сполна. но соната стоит для случайных посетителей и жены =)
в принципе у мну в папке с музыкой есть папочка tmp туда весь хлам который надо разобрать или удалить и попадает, поэтому даже mplayer мне для сих целей не нужен (inotify хватает).
в принципе у мну в папке с музыкой есть папочка tmp туда весь хлам который надо разобрать или удалить и попадает, поэтому даже mplayer мне для сих целей не нужен (inotify хватает).
напишу на днях =)
зы. о_О welinux разукрашивают =) я даже не сразу понял что кнопка ответить активна
зы. о_О welinux разукрашивают =) я даже не сразу понял что кнопка ответить активна
есть мнение, что лучше закоментировать строку bind_to_adress (в приведенном выше конфиге она одинадцатая по счету). у меня, например, вместо нее написаны следующие две:
где-то вычитал, что незакомменированная строка bind... позволяет mpd кушать больше ресурсов процессора, но могу ошибаться. в любом случае, до экзекуции у меня mpd действительно чуть ли не 20% процессора ел, а после ~3%
user "fix"
port "6600"
где-то вычитал, что незакомменированная строка bind... позволяет mpd кушать больше ресурсов процессора, но могу ошибаться. в любом случае, до экзекуции у меня mpd действительно чуть ли не 20% процессора ел, а после ~3%
>>cat ~/.mpdconf
Как я долго мучался, когда первый раз настраивал... Почему-то все материалы, которые я читал настраивая, не писали, что файл в /etc называется mpd.conf, а в домашнюю директорию надо копировать под именем .mpdconf...:)
Насчёт музыки только из БД - юзаю связку mpd+sonata, sonata при каждом запуске обновляет БД, ну или если срочно надо - mpd --create-db, тихо всё обновит.
Было много проблем, когда он бегал под юзером mpd, решила что оптимальный вариант - запускать от себя, все конфиги в папке ~/.mpd, с тех пор всё путём.
Живёт в .xinitrc вот в таком виде
mpd /home/aesdana/.mpd/mpd.conf &
Было много проблем, когда он бегал под юзером mpd, решила что оптимальный вариант - запускать от себя, все конфиги в папке ~/.mpd, с тех пор всё путём.
Живёт в .xinitrc вот в таком виде
mpd /home/aesdana/.mpd/mpd.conf &
абсолютно согласен