Reprodução de áudio com mpd incorreto com fifo ativado

3

Estou usando o Music Player Daemon ( mpd ) com ncmpcpp no OS X. ncmpcpp tem um recurso, o visualizador de música, que desenha uma onda / espectro em tempo real da música que você está tocando atualmente.

Para usar isso, você precisa ativar a saída fifo em mpd .

Bem, funciona, mas enquanto isso está no áudio é terrível: ele estala e às vezes até congela. É como se mpd estivesse ignorando algum quadro.

As configurações de mpd para o fifo são:

audio_output {
  type   "fifo"
  name   "FIFO"
  path   "/tmp/mpd.fifo"
  format "44100:16:2"
}

E ncmpcpp definiu:

visualizer_in_stereo = "yes"
visualizer_fifo_path = "/tmp/mpd.fifo"
visualizer_output_name = "fifo"
visualizer_sync_interval = "0"
visualizer_look = "||"
visualizer_color = "blue"
visualizer_type = "spectrum"

Existe alguma configuração errada para alterar ou eu encontrei um bug?

    
por Rnhmjoj 04.02.2015 / 19:36

2 respostas

2

Arquivei um bug relatório no rastreador de erros do mpd. O problema está relacionado ao plug-in de saída de áudio do OS X, que não é mantido. Então, a única maneira de manter tanto a saída de áudio regular quanto a FIFO é transmitir para outro player.

Você pode produzir através de http ou outro fifo e transmitir o áudio para a vlc, por exemplo. No caso de http adicionar à sua configuração:

audio_output {
  type "httpd"
  name "http stream"
  encoder "vorbis"
  port "8000"
  quality "2"
  format "44100:16:2"
}

defina este apelido: alias cvlc='/Applications/VLC.app/Contents/MacOS/VLC --intf=rc'

e execute cvlc http://localhost:8000

Caso você queira usar dois FIFOs, apenas duplique as configurações atuais e inicie o vlc com:

cvlc --demux=rawaud --rawaud-channels 2 --rawaud-samplerate 44100 /tmp/mpd-vlc.fifo

As desvantagens que tenho notado são que você não será capaz de alterar o volume de saída com o mpd e há um atraso relativamente pequeno.

    
por 21.02.2015 / 19:14
1

Noto que você tem     visualizer_sync_interval="0" na sua configuração, o que é quase certamente o problema. Primeiro tente configurá-lo para "30", como é recomendado nos documentos ncmpcpp - se isso não funcionar, experimente vários valores diferentes para esse parâmetro.

    
por 10.02.2015 / 21:17

Tags