mpc 시간 초과 오류를 수정하는 방법

mpc 시간 초과 오류를 수정하는 방법

저는 Raspbian(debian)에서 mpc/mpd를 사용하고 있습니다. MPD를 실행하면 다음과 같이 시작됩니다.

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

그러나 재생 목록의 스트림 재생이 실패합니다.

mpc play 1
error: Timeout

로그 파일은 다음과 같이 말합니다.

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"

URL 자체는 장치에서 액세스할 수 있습니다.

시간 초과 오류를 진단/수정하는 방법에 대한 단서가 있습니까?

고쳐 쓰다:

또한 다양한 경우에도 중단됩니다.

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

답변1

당신의 로그에서

  • 슈퍼유저로 mpd를 시작합니다.
  • 펄스오디오를 사용하시네요
  • mpd가 pulseaudio에 대한 연결을 허용하지 않는 것 같습니다.

기본적으로 mpd를 수퍼유저로 시작하는 것은 아마도 나쁜 생각일 것입니다. 사용자로 로그인하여 단순 뮤직 플레이어로 사용하신다면 mpd를 일반 사용자로 시작하셔야 합니다. 이 경우 pulseaudio가 실행되고 있지 않으면 일반 사용자 프로세스로 시작됩니다. 를 이용하여 확인할 수 있습니다 ps aux | grep pulse. pulseaudio 서버를 시작하려면 사용자가 이 pulse-access그룹에 속해야 합니다.

Raspberry Pi를 네트워크 액세스 가능 오디오 서버로 사용하는 경우 로그인한 사용자와 독립적으로 mpd를 실행하고 부팅 시 자동으로 시작되도록 할 수 있습니다. 부팅 시 시작되는 데몬을 제어하려면 를 사용하세요 sysv-rc-conf. 이 경우 mpd는 데몬으로 시작되어야 하며, 프로세스가 속한 사용자는 입니다 /etc/mpd.conf. 또한 서버가 액세스할 수 있도록 이 파일의 구성 줄의 주석 처리를 제거해야 합니다. 귀하의 네트워크에서. 그런 다음 mpd 사용자에게 pulseaudio를 시작하고 액세스할 수 있는 권한이 있고 따라서 이 pulse-access그룹에도 속해 있는지 확인해야 합니다. mpd가 X 세션 없이 서버를 시작할 수 있는지 확실하지 않습니다.이 튜토리얼이 경우 다음 솔루션을 고려해야 할 수도 있음을 지적합니다.

최종 설정에서 발생할 수 있는 한 가지 문제는 사용자로 로그인하고 mpd가 자체 사용자로 실행되는 경우 두 개의 pulseaudio 서버가 공존하는 데 어려움을 겪을 수 있으며 첫 번째 서버가 오디오 장치 액세스 권한에 액세스할 수 있다는 것입니다. 상대방이 소리를 재생하는 것을 방지합니다. 나는 다른 간단한 해결책을 찾을 수 없었기 때문에 시스템 전체 데몬으로 pulseaudio를 실행하게 되었고, pulseaudio의 모든 문서에서 이것이 나쁜 생각이고 좋은 아이디어가 있다고 확신하기 때문에 해결책이 있어서 기쁩니다. 해결 이유.

관련 정보