필요한 경우 mpd, pulseaudio 및 raop2 모듈을 사용할 수 있습니다.
- 재생 목록, 라이브러리 등을 관리하기위한 mpd (
sudo apt-get install mpd
)
- 오디오 출력 관리 용 펄스 오디오 : AirPlay 용 raop 또는 아날로그 잭, HDMI, http 스트리밍 서비스 등과 같은 기타 출력 장치 (
sudo apt-get install pulseaudio
)
- pulseaudio에 내장 된 원래 raop 모듈이 작동하지 않는 경우 pulseaudio 용 raop2 모듈
pulseaudio 용 RAOP 모듈의 업데이트 된 버전을 얻기 위해 소스에서 pulseaudio를 빌드해야했습니다.
다음은 내가 작동하게 만든 것입니다 (패키지 누락에 대해 불평 할 수 sudo apt-get install
있습니다).
MPD 설치
sudo apt-get install mpd
PulseAudio 설치
선택 A : 오래된 AirPlay 장비가 있거나 UDP 스트리밍이 필요하지 않습니다.
더 쉽지만 호환성이 떨어집니다.
sudo apt-get install pulseaudio
선택 B : 더 나은 호환성을 원하고 TCP 및 UDP 스트리밍을 모두 지원
그런 다음 펄스 오디오 용 raop2 모듈이 필요합니다. 이는 소스에서 PA를 빌드하는 것을 의미합니다.
git을 아직 설치하지 않았다면 설치하고 pulseaudio를 빌드하십시오 ( 공식 지침 참조 ) :
sudo apt-get install git intltool autoconf build-essential
cd
git clone https://github.com/hfujita/pulseaudio-raop2
cd pulseaudio-raop2
./bootstrap.sh
make
sudo make install
내 설정에서 libpulse.so.0을 수동으로 symlink해야했습니다.
cd ~/pulseaudio-raop2
sudo rm /usr/lib/arm-linux-gnueabi/libpulse.so.0
sudo ln -s `cd;pwd`/pulseaudio-raop2/src/.libs/libpulse.so.0 /usr/lib/arm-linux-gnueabi/libpulse.so.0
sudo chown root.root /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo chmod 744 /usr/lib/arm-linux-gnueabi/libpulse.so.0
또는 원하는대로 :
cd ~/pulseaudio-raop2
sudo rm /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo mv pulseaudio-raop2/src/.libs/libpulse.so.0 /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo chown root.root /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo chmod 744 /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
모든 것을 구성하십시오
MPD 초기 설정
이제 MPD를 설정해야합니다 :
sudo vi /etc/mpd.conf
해당 파일에서 다음을 설정하십시오.
music_directory "/path/to/your/music"
user "mpd"
bind_to_address "127.0.0.1"
bind_to_address "192.168.x.y"
bind_to_address "2a01:xzy....your IPv6 if you want"
출력을 편집해야하지만 먼저 펄스 오디오 싱크의 이름이 필요합니다.
PulseAudio 싱크
Avahi / zeroconf는 zeroplay / mDNS / Bonjour를 통해 AirPlay 장치를 검색 할 수 있기 때문에 유용합니다.
sudo apt-get install avahi
이제 pulseaudio를 시작하고 RAOP 모듈을로드 할 수 있습니다 :
pulseaudio --start --log-target=syslog -vvvv --log-level=debug
pacmd load-module module-raop-discover
pacmd list-sinks | grep name:
내 설정의 출력은 다음과 같습니다.
name: <raop_output.Freebox-Player.local>
name: <raop_output.Freebox-Server.local>
name: <raop_output.Freebox-Player.local.2>
name: <raop_output.Freebox-Server.local.2>
그런 다음 /etc/mpd.conf
다시 편집 하고 다음 출력을 추가해야합니다.
audio_output {
type "pulse"
name "Freebox Player"
sink "raop_output.Freebox-Player.local"
format "44100:24:1"
}
음악을 스트리밍하려는 모든 AirPlay 장비에 대해이 블록 중 하나를 추가하십시오.
PulseAudio 구성
마지막 부분은 PA를 설정하는 것입니다.
sudo vi /etc/pulse/client.conf
주석을 제거 autospawn = yes
하면 필요할 때 펄스 오디오가 자동으로 시작됩니다.
sudo vi /etc/pulse/default.pa
하단에 다음 줄을 추가하십시오.
load-module module-raop-discover
이렇게하면 RAOP 검색 모듈이 시작될 때 펄스 오디오가로드됩니다.
마지막 단계
지금 작동해야합니다. MPD를 시작합니다 (실행중인 경우 먼저 중지).
sudo /etc/init.d/mpd start
데몬이 제대로 작동하려면 RasPI에서 최소 10-15 초가 걸립니다.
음악 라이브러리를 업데이트하고 완료 될 때까지 기다리십시오.
sudo apt-get install mpc
mpc update
원하는대로 출력을 활성화합니다 (다음은 구성된 MPD 출력을 나열하고 첫 번째 출력을 활성화합니다).
mpc outputs
mpc enable 1
이제 좋아하는 MPD 클라이언트를 사용하여 음악을 재생하십시오. 내가 사용하고 ncmpcpp
내 전화 / 태블릿에 명령 줄에서, 그리고 MPDroid.
문제 해결
mpd를 자세하게 시작하고 최대 로깅 레벨로 pulseaudio를 모니터링하고 로그를 모니터하십시오.
mpd --verbose
pulseaudio --start --log-target=syslog --log-level=debug -vvvv
tail -f /var/log/mpd/mpd.log
tail -f /var/log/syslog
펄스 오디오를 먼저 작동 시키십시오. 펄스 오디오를로드하고, RAOP 검색 모듈을로드하고, 싱크를 나열하고, 기본 싱크를 설정하고 무언가를 시도하십시오.
paplay /usr/share/sounds/alsa/Front_Center.wav
펄스 오디오가 작동하면 MPD를 사용해보십시오.