Mpd и ncmpcpp
Настройка mpd сервера и консольного плеера ncmpcpp. Локальное и удаленное управление.
Установка локально
Локально, на своей машине установите пакеты.
yay -S mpd mpc ncmpcpp mpv
Конфигурация mpd
mkdir -p ~/.config/mpd
nano ~/.config/mpd/mpd.conf
Важно, указывайте именно
0.0.0.0
, а неlocalhost
и не127.0.0.1
.
bind_to_address "0.0.0.0"
port "6600"
music_directory "/media/files/mega/music"
playlist_directory "~/.config/mpd/playlists"
db_file "~/.config/mpd/db"
log_file "/tmp/logmpd"
pid_file "~/.config/mpd/pid"
state_file "~/.config/mpd/state"
auto_update "yes"
auto_update_depth "2"
audio_output {
type "pulse" # or pulse,alsa
name "MPD live"
}
audio_output {
type "fifo"
name "MPD FIFO"
path "/tmp/mpd.fifo"
format "44100:16:2"
}
Конфигурация ncmpcpp
mkdir ~/.ncmpcpp
nano ~/.ncmpcpp/config
{{<
mpd_host = localhost
mpd_port = 6600
mpd_crossfade_time = 2
visualizer_data_source = /tmp/mpd.fifo
visualizer_output_name = "Visualizer feed"
visualizer_in_stereo = no
visualizer_type = spectrum
visualizer_look = ●┃
visualizer_color = cyan, green, yellow, magenta, red
song_list_format = "{{%a - %t}|{%f}}{$R%l}"
song_status_format = "{{%a{ $2//$9 %b{, %y}} $2//$9 }{%t$/b}}|{$b%f$/b}"
song_library_format = {{%a - %t} (%b)}|{%f}
now_playing_prefix = "$b$5"
now_playing_suffix = "$/b$9"
playlist_display_mode = classic
autocenter_mode = yes
progressbar_look = "▃▃▃"
header_visibility = no
statusbar_visibility = no
titles_visibility = no
follow_now_playing_lyrics = no
enable_window_title = no
external_editor = nano
colors_enabled = yes
empty_tag_color = red
header_window_color = yellow
volume_color = yellow
state_line_color = red
state_flags_color = yellow
main_window_color = default
color1 = red
color2 = red
progressbar_color = black
progressbar_elapsed_color = red
statusbar_color = default
alternative_ui_separator_color = magenta
window_border_color = yellow
active_window_border = magenta
execute_on_song_change = notify-send "Now Playing ♫" "$(mpc current)"
>}}
Настройка на сервере
Достаточно скопировать данные конфиги на сервер. Замените юзера и ip.
scp -r ~/.ncmpcpp cretm@134.122.88.241:~/
ssh cretm@134.122.88.241 "mkdir -p ~/.config/mpd"
scp -r ~/.config/mpd/mpd.conf cretm@134.122.88.241:~/.config/mpd
# login
ssh cretm@134.122.88.241
И в конфиг mpd добавить секцию http
после pulse
.
nano ~/.config/mpd/mpd.conf
audio_output {
type "httpd"
name "HTTP mpd"
encoder "vorbis"
port "8000"
bitrate "128"
format "44100:16:1"
always_on "yes"
tags "yes"
}
Установка на сервере
ssh cretm@134.122.88.241
yay -S mpd ncmpcpp
Запуск сервиса
Добавление в автозапуск системд сервиса и запуск от юзера. Это нужно выполнить везде.
systemctl --user enable --now mpd
Запуск потока
mpv http://cloud.ctlos.ru:8000
# или ip
mpv http://134.122.88.241:8000
Управление воспроизведением
ncmpcpp -h cloud.ctlos.ru
# или ip и порт
ncmpcpp -h 134.122.88.241 -p 6600
Если зашли по ssh, то дополнительные флаги не нужны.
ssh cretm@134.122.88.241
ncmpcpp