ऑडियो को दूसरे AirPlay डिवाइस पर रीडायरेक्ट करें


20

मैं रास्पियन पर मोपिड की स्थापना कर रहा हूं, इसलिए मैं रास्पबेरी पाई को स्पॉटिफ़ (और स्थानीय फाइलों) ज्यूकबॉक्स के रूप में उपयोग कर सकता हूं। मुझे पता है कि रास्पबेरी पाई का एनालॉग ऑडियो आउटपुट बढ़िया नहीं है।

क्या रास्पबेरी पाई से एयरप्ले डिवाइस (उदाहरण के लिए एक हवाई अड्डा एक्सप्रेस) तक सभी ऑडियो को पुनर्निर्देशित करने का एक तरीका है?

यह बहुत अच्छा होगा अगर मैं कमांड लाइन से सब कुछ भी कर सकता हूं, इसलिए मैं विभिन्न उपकरणों को स्विच करने के लिए कुछ स्क्रिप्ट सेटअप कर सकता हूं।


यह एक अच्छा सवाल है। मुझे एयरप्ले बहुत पसंद है और यह सिर्फ एक पाई पर इसका उपयोग करने के लिए समझ में आता है। मेरे आत्म के चारों ओर खुदाई करेंगे, लेकिन एक अच्छा सवाल! +1
पायोटर कुला

मुझे जो समझ में आया, वह पल्सएडियो का उपयोग करके किया जा सकता है। मैं भी खोद रहा हूँ।
लीलोबेटो

एक नज़र डालते हैं कि हम यहाँ क्या चर्चा कर रहे हैं raspberrypi.org/phpBB3/…
jmp909

मुझे पता है कि यह थोड़ा ऑफ-टॉपिक है - लेकिन अगर आप रिमोट प्लेबेक के बाद नहीं हैं, तो कुछ अच्छे यूएसबी डैक के बारे में क्या होगा?
पेट 15

जवाबों:


13

यदि आवश्यक हो तो आप mpd, pulseaudio और raop2 मॉड्यूल का उपयोग कर सकते हैं:

  • प्लेलिस्ट, लाइब्रेरी आदि के प्रबंधन के लिए एमपीडी ( sudo apt-get install mpd)
  • ऑडियो आउटपुट प्रबंधित करने के लिए pulseaudio: AirPlay, या किसी अन्य आउटपुट डिवाइस जैसे एनालॉग जैक, एचडीएमआई, http स्ट्रीमिंग सेवा, आदि के लिए raop ( sudo apt-get install pulseaudio)
  • pulseaudio के लिए raop2 मॉड्यूल यदि मूल raop मॉड्यूल pulseaudio में बनाया गया है तो काम नहीं करता है

मुझे pulseaudio के लिए RAOP मॉड्यूल का एक अद्यतन संस्करण प्राप्त करने के लिए स्रोत से pulseaudio का निर्माण करना पड़ा।


यहाँ मैंने इसे बनाने के लिए क्या किया (यह लापता पैकेज के बारे में शिकायत कर सकता है, बस sudo apt-get installउन्हें):

एमपीडी स्थापित करें

sudo apt-get install mpd

PulseAudio स्थापित करें

विकल्प A: आपके पास एक पुराना AirPlay डिवाइस है, या आपको UDP स्ट्रीमिंग की आवश्यकता नहीं है।

यह आसान है लेकिन कम संगत है।

sudo apt-get install pulseaudio

विकल्प बी: आप बेहतर संगतता चाहते हैं, और टीसीपी और यूडीपी स्ट्रीमिंग दोनों के लिए समर्थन करते हैं

तब आपको pulseaudio के लिए 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 को मैन्युअल रूप से सिमिल करना पड़ा:

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 सेटअप करने की आवश्यकता है:

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 के लिए अच्छा है क्योंकि यह AirPlay उपकरणों (zeroconf / mDNS / Bonjour के माध्यम से) की खोज को सक्षम करेगा:

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

Uncomment autospawn = yes, यह pulseaudio को स्वचालित रूप से शुरू कर देगा जब इसकी आवश्यकता होगी।

sudo vi /etc/pulse/default.pa

निम्नलिखित पंक्ति को नीचे जोड़ें:

load-module module-raop-discover

यह शुरू होने पर पल्सएयोड को RAOP खोज मॉड्यूल को लोड कर देगा।

अंतिम चरण

यह अब काम करना चाहिए। एमपीडी शुरू करें (यदि यह चल रहा है तो पहले इसे रोकें):

sudo /etc/init.d/mpd start

थोड़ा इंतजार करें, डेसमॉन के ठीक से काम करने से पहले मेरे रासपीआई पर कम से कम 10-15 सेकंड का समय लगता है।

अपनी संगीत लाइब्रेरी अपडेट करें (और इसके समाप्त होने की प्रतीक्षा करें):

sudo apt-get install mpc
mpc update

निम्न पर आउटपुट सक्षम करें (निम्न कॉन्फ़िगर किए गए MPD आउटपुट को सूचीबद्ध करेगा और पहले वाले को सक्षम करेगा):

mpc outputs
mpc enable 1

अब कुछ संगीत बजाने के लिए अपने पसंदीदा MPD क्लाइंट का उपयोग करें। मैं ncmpcppअपने फोन / टैबलेट पर कमांड-लाइन और एमपीडायराइड का उपयोग कर रहा हूं ।

समस्या निवारण

अधिकतम लॉगिंग स्तर और मॉनिटर लॉग के साथ वर्बोज़, पल्सीडियो में एमपीडी शुरू करें:

mpd --verbose
pulseaudio --start --log-target=syslog --log-level=debug -vvvv
tail -f /var/log/mpd/mpd.log
tail -f /var/log/syslog

पहले पल्सएडियो काम करने की कोशिश करें। बस pulseaudio लोड करें, RAOP खोज मॉड्यूल को लोड करें, सिंक को सूचीबद्ध करें, डिफ़ॉल्ट सिंक सेटअप करें और कुछ खेलने की कोशिश करें:

paplay /usr/share/sounds/alsa/Front_Center.wav

एक बार जब आपके पास पल्सीडियो काम कर रहा हो, तो कोशिश करें और इसके साथ एमपीडी काम करें।


1
बिलकुल वही, जिसकी मुझे तलाश थी! मेरे पास एक रास्पबेरी पाई पर चलने वाला मोपिड है। यह कोशिश करेंगे और अगर यह काम किया तो आपको बताने के लिए अपडेट करेंगे!
लेओलोबेटो

2

ऐसा लगता है कि pulseaudio-मॉड्यूल- raop आप के लिए क्या देख रहे हैं। इस गाइड का एक विस्तृत विवरण है कि इसे उबंटू में कैसे स्थापित किया जाए।


1
आम तौर पर, एक जवाब जो विस्तृत विवरण प्रदान करता है वह एक लिंक से बेहतर है। लिंक स्थानांतरित या मर सकते हैं। इससे भी महत्वपूर्ण बात, पल्सेडियो-मॉड्यूल-रोप के बारे में थोड़ा-बहुत समझाना एक अच्छा विचार हो सकता है ..
रामबलीजन

2

बहुत कम सफलता के साथ रास्पियन जेसी का उपयोग करके नए रास्पबेरी पाई 3 पर रोप / पल्सएडियो के माध्यम से एयरप्ले को कॉन्फ़िगर करने की कोशिश करने में कुछ समय बिताया। मैं अत्यधिक forked-daapd की सिफारिश करूंगा :

यह मूल forked-daapd 0.19, Linux / FreeBSD DAAP (iTunes) मीडिया सर्वर का AirPlay उपकरणों, Apple रिमोट (और कंपेटिबल्स), MPD, Spotify, एमपी 3 स्ट्रीमिंग और इंटरनेट रेडियो के समर्थन के साथ एक बहुत अद्यतन संस्करण है।

इंस्टॉल बहुत सीधा था और मैंने लगभग 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.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.