다른 AirPlay 장비로 오디오 리디렉션


20

Raspbian 에서 Mopidy를 설정 하여 Raspberry Pi를 Spotify (및 로컬 파일) 주크 박스로 사용할 수 있습니다. Raspberry Pi의 아날로그 오디오 출력이 좋지 않다는 것을 알고 있습니다.

Raspberry Pi의 모든 오디오를 AirPlay 장치 (예 : Airport Express)로 리디렉션하는 방법이 있습니까?

커맨드 라인에서 모든 것을 할 수 있다면 좋을 것이므로 다른 장치를 전환하도록 스크립트를 설정할 수 있습니다.


좋은 질문입니다. 나는 에어 플레이를 좋아하며 Pi에서 사용하는 것이 합리적입니다. 그 좋은 질문에 내 자아를 파헤칠 것입니다! +1
Piotr Kula 2016 년

내가 이해 한 것부터 PulseAudio를 사용하여 수행 할 수 있습니다. 나도 파고있다.
leolobato

우리가 여기서 논의하는지 살펴 가지고 raspberrypi.org/phpBB3/...
jmp909

나는 이것이 약간의 주제가 아니라는 것을 알고 있습니다. 그러나 원격 playbac를 따르지 않는다면 멋진 USB DAC는 어떻습니까?
petr

답변:


13

필요한 경우 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를 사용해보십시오.


1
바로 내가 찾던 것입니다! 라즈베리 파이에서 달리는 바보가 있습니다. 이것을 시도하고 그것이 효과가 있는지 알려주기 위해 업데이트 할 것입니다!
leolobato

2

보일 펄스 오디오 모듈 - raop은 당신이 찾고있는 것입니다. 이 안내서 에는 우분투에서 설정하는 방법에 대한 자세한 설명이 있습니다.


1
일반적으로, 자세한 설명을 제공하는 답변은 링크보다 낫습니다. 링크가 재배치되거나 죽을 수 있습니다. 더 중요한 것은 pulseaudio-module-raop에 대해 약간 설명하는 것이 좋습니다 ..
ramblinjan

2

Raspbian Jessie를 사용하여 새로운 Raspberry Pi 3에서 Raop / PulseAudio를 통해 Airplay를 구성하는 데 약간의 시간이 걸렸습니다. 포크 포크를 강력히 추천합니다 :

이 버전은 AirPlay 장치, Apple Remote (및 호환 장치), MPD, Spotify, mp3 스트리밍 및 인터넷 라디오를 지원하는 Linux / FreeBSD DAAP (iTunes) 미디어 서버 인 원래의 포크 처리 된 0.19의 업데이트 버전입니다.

설치는 매우 간단했으며 약 10 분 만에 모든 작업을 수행했습니다. 여기에 자세한 설치 지침이 있습니다 .

1a. If you use Jessie then add this line to /etc/apt/sources.list:
deb http://www.gyfgafguf.dk/raspbian jessie/armhf/
or
1b. If you use Wheezy then add this line to /etc/apt/sources.list:
deb http://www.gyfgafguf.dk/raspbian wheezy-backports/armhf/
2. Run sudo apt-get update and then sudo apt-get install forked-daapd
3. Edit the config file /etc/forked-daapd.conf and (re)start the server with sudo /etc/init.d/forked-daapd restart

Optional - how to add support for Spotify:
1. Add deb http://apt.mopidy.com/ stable main contrib non-free to /etc/apt/sources.list
2. Run sudo apt-get update and then sudo apt-get install libspotify-dev
3. Restart forked-daapd and enter credentials as described in the instructions.
4. Check the log to see how it is working. It should start loading your playlists.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.