Como corrigir o erro de tempo limite de mpc

3

Estou usando o mpc / mpd no Raspbian (debian). Executando o MPD, ele começa:

sudo mpd --no-daemon --stdout --verbose  /etc/mpd.conf
config: loading file /etc/mpd.conf
path: path_set_fs_charset: fs charset is: UTF-8
database: reading DB
disabling the last.fm playlist plugin because account is not configured
daemon: opening pid file
daemon: writing pid file
avahi: Initializing interface
avahi: Client changed to state 101
avahi: Client is CONNECTING
state_file: Loading state file /var/lib/mpd/state
decoder_thread: clearing mixramp tags
decoder_control: mixramp_start = NULL
decoder_control: mixramp_prev_end = NULL
playlist: queue song 1:"http://mp3channels.webradio.rockantenne.de/classic-perlen"
input_curl: icy-metaint=16000
decoder: audio_format=44100:24:2, seekable=false
output: opened plugin=pulse name="Pulse" audio_format=44100:16:2
output: converting from 44100:24:2

Mas a transmissão da lista de reprodução falha:

mpc play 1
error: Timeout

Logfile diz:

client: [3] opened from 127.0.0.1:55768
client: [3] process command "status"
client: [3] command returned 0
client: [3] process command "play "0""
playlist: play 0:"http://mp3.webradio.rockantenne.de:80"

O próprio URL é acessível a partir do dispositivo.

Alguma pista de como diagnosticar / corrigir o erro de tempo limite?

Atualização:

Ele é exibido em várias outras ocasiões também:

pi@raspberrypi ~ $ sudo mpd --no-daemon --stdout --verbose  /etc/mpd.conf
config: loading file /etc/mpd.conf
path: path_set_fs_charset: fs charset is: UTF-8
database: reading DB
disabling the last.fm playlist plugin because account is not configured
daemon: opening pid file
daemon: writing pid file
avahi: Initializing interface
avahi: Client changed to state 101
avahi: Client is CONNECTING
state_file: Loading state file /var/lib/mpd/state
decoder_thread: clearing mixramp tags
decoder_control: mixramp_start = NULL
decoder_control: mixramp_prev_end = NULL
playlist: queue song 1:"http://mp3channels.webradio.rockantenne.de/classic-perlen"
input_curl: icy-metaint=16000
decoder: audio_format=44100:24:2, seekable=false
icy_metadata: unknown icy-tag: 'StreamUrl'
client: [0] opened from 127.0.0.1:55789
client: [0] process command list
client: command_process_list: process command "status"


ROCK ANTENNE: Heroes Del Silencio - Entre dos tierras
[paused]  #1/5   4:43/0:00 (0%)
volume: 30%   repeat: off   random: off   single: off   consume: off
ERROR: problems opening audio device
    
por andig 05.04.2013 / 15:50

1 resposta

0

Do seu log

  • você inicia o mpd como superusuário
  • você usa pulseaudio
  • o mpd parece não ter permissão para se conectar ao pulseaudio

Basicamente, iniciar o mpd como superusuário provavelmente é uma má idéia. Se você estiver logado como usuário e usá-lo como um player de música simples, você deve iniciar o mpd como um usuário normal. Nesse caso, se o pulseaudio não estiver em execução, ele será iniciado como um processo normal do usuário. Você pode verificar isso usando ps aux | grep pulse . Tenha em atenção que, para poder iniciar o servidor pulseaudio, o seu utilizador deve pertencer ao grupo pulse-access .

Se você estiver usando o seu raspberry pi como um servidor de áudio, acessível pela rede, pode ser necessário ter o mpd em execução independentemente de qualquer usuário logado, iniciado automaticamente no momento da inicialização. Para controlar os daemons iniciados no momento da inicialização, use sysv-rc-conf . Nesse caso, o mpd deve ser iniciado como um daemon e o usuário ao qual o processo pertencerá é configurado em /etc/mpd.conf . Certifique-se também de descomentar neste arquivo as linhas de configuração para tornar o servidor acessível a partir de sua rede. Então você tem que ter certeza que o usuário do mpd tem permissão para iniciar e acessar o pulseaudio e, portanto, também pertence ao grupo pulse-access . Eu não tenho certeza se o mpd terá permissão para iniciar o servidor sem uma sessão X, este tutorial indica que, nesse caso, você pode ter que considerar a seguinte solução.

Um problema que você pode ter nesta última configuração é que se você estiver logado como um usuário e o mpd estiver rodando como seu próprio usuário, pode ser difícil coexistir dois servidores pulseaudio, e o primeiro pode ter acesso a o dispositivo de áudio, impedindo que o outro seja capaz de reproduzir um som. Eu acabei rodando o pulseaudio como um daemon systemwide para isso, já que não encontrei outra solução direta, e eu ficaria feliz em ter uma, já que a documentação do pulseaudio declara em todos os lugares que é uma má ideia, e acredito que eles tenham uma boa razão para isso.

    
por 06.04.2013 / 02:58

Tags