WI-FI पर Android उपकरणों के लिए मेरे GNU / लिनक्स ऑडियो आउटपुट को कैसे स्ट्रीम करें?


38

मैं अपने ऑडियो आउटपुट को अपने Android उपकरणों पर नेटवर्क (वाई-फाई) पर स्ट्रीम करना चाहता हूं। मैं संगीत / वीडियो स्ट्रीमिंग समाधान की तलाश में नहीं हूं, लेकिन मैं अपने GNU / लिनक्स डेस्कटॉप के किसी भी ऑडियो आउटपुट को ब्लूटूथ हेडफ़ोन की तरह अपने एंड्रॉइड काम में प्रवाहित करूंगा।

मेरा GNU / लिनक्स डेस्कटॉप डेबियन व्हीज़ी है और ध्वनि pulseaudio द्वारा प्रदान की जाती है।

मैंने Pulseaudio का रोप मॉड्यूल आज़माया (और इसे paprefs पर सक्षम किया) + Android का AirBuddle ऐप, लेकिन ऑडियो स्ट्रीम नहीं किया गया है (pulseaudio AirBuddle से कनेक्ट होता है, लेकिन ध्वनि पुन: उत्पन्न नहीं होती है, कुछ सॉफ्टवेयर्स में कनेक्शन विफलता है, कुछ में) अन्य सॉफ्टवेयर्स ध्वनि अटक गई है)।

जवाबों:


26

एक बहुत ही सरल उपाय है क्योंकि पल्सएडियो में पहले से ही सभी आवश्यक उपकरण हैं।

  1. आदेश के साथ अपने स्रोत डिवाइस का नाम प्राप्त करें pactl list | grep Name
  2. निम्नलिखित स्क्रिप्ट नाम बनाएँ pashare:

    #!/bin/sh
    case "$1" in
      start)
        $0 stop 
        pactl load-module module-simple-protocol-tcp rate=48000 format=s16le channels=2 source=<source_name_here> record=true port=8000
        ;;
      stop)
        pactl unload-module `pactl list | grep tcp -B1 | grep M | sed 's/[^0-9]//g'`
        ;;
      *)
        echo "Usage: $0 start|stop" >&2
        ;;
    esac
    
  3. कुछ जांच और तैयारी करें (यदि स्क्रिप्ट सफलतापूर्वक निष्पादित हो और पोर्ट सफलतापूर्वक खोला गया हो तो जांच करने के लिए):

    chmod 755 pashare
    ./pashare start
    netstat -nlt | grep 8000 
    telnet 127.0.0.1 8000
    
  4. डाउनलोड करें और PulseDroid.apk को स्थापित करें

  5. अपने फोन पर लॉन्च ऐप; अपने कंप्यूटर और पोर्ट को IP पता सेट करें 8000

पुनश्च तुम भी जाँच कर सकते हैं इस विकी पेज पल्सऑडियो नेटवर्क स्ट्रीमिंग पर सामान्य जानकारी है, और के लिए इस विकी पेज आरटीपी स्ट्रीमिंग के बारे में। वाईफाई पर कच्चे ऑडियो स्ट्रीमिंग से बहुत ज्यादा उम्मीद न करें; यह बैंडविड्थ की भारी भीड़ लेता है। यहां तक ​​कि एक शक्तिशाली सिग्नल के साथ एक उच्च-अंत वायरलेस राउटर / एपी के साथ मैं इसके बाहर ऑडियो को हकलाने से ज्यादा नहीं पा सका हूं। आपका सबसे अच्छा शर्त शायद एक उचित मीडिया सर्वर (जैसे कि Rygel, जो पल्सेडियो के साथ अच्छी तरह से काम करता है) को सेटअप करने के लिए कच्चे ऑडियो को एमपी 3 की तरह ट्रांसकोड कर सकता है और इसके बजाय स्ट्रीम कर सकता है।


7
यह पूरी तरह से इस एंड्रॉइड ऐप के साथ भी काम करता है: सिंपल प्रोटोकॉल प्लेयर play.google.com/store/apps/… ध्यान दें कि यह डिफ़ॉल्ट दर = 44100 है, हालांकि आप इसका उपयोग करना चाहते हैं।
Jannes

1
बस स्पष्ट करने के लिए: pactl list sources short स्रोत पैरामीटर की संख्या को खोजने के लिए आउटपुट बेहतर है।
वोल्फमैनक्स

4
pactl list | grep "Monitor Source"मेरे लिए अधिक प्रासंगिक स्रोतों का उपयोग करना दिखाता है।
मार्कर्स

17

आप HTTP के माध्यम से pulseaudio के आउटपुट के एमपी 3 स्ट्रीम की सेवा के लिए वीएलसी का उपयोग कर सकते हैं ।
मुख्य लाभ यह है कि आपको अपने रिमोट डिवाइस पर कोई विशेष सॉफ़्टवेयर स्थापित करने की आवश्यकता नहीं है, एक वेब ब्राउज़र (या संगीत खिलाड़ी) आपको स्ट्रीम खेलने की आवश्यकता है। नकारात्मक पक्ष यह है कि यह केवल ऑडियो है, कुछ सेकंड के अंतराल इसे वीडियो के लिए बेकार बनाते हैं

  1. Pulseaudio के आउटपुट नाम के साथ खोजें:

    pactl list | grep "Monitor Source" 
    
  2. अपने आउटपुट नाम से XXXX की जगह VLC http सर्वर शुरू करें:

    cvlc -vvv pulse://XXXX --sout '#transcode{acodec=mp3,ab=128,channels=2}:standard{access=http,dst=0.0.0.0:8888/pc.mp3}'
    
  3. यदि आवश्यक हो, तो अपने स्थानीय आईपी पते के साथ खोजें ifconfig

  4. अपने दूरस्थ उपकरण पर, ब्राउज़र (या ऑडियो स्ट्रीमिंग ऐप) को इंगित करें:

    http://your.local.ip.address:8888/pc.mp3
    

नोट: स्ट्रीम सर्वर पर वॉल्यूम सेट से प्रभावित नहीं होती है, जब तक कि आप इसे पूरी तरह से म्यूट नहीं करते हैं। यदि आवश्यक हो, तो आप केवल दूरस्थ डिवाइस को सुनने के लिए स्तर को 0 से थोड़ा अधिक ऊपर रख सकते हैं।


पहले दो चरणों को पॉलीनोमियल_डोनेट द्वारा संयुक्त किया गया :

cvlc -vvv pulse://$(pactl list | grep "Monitor Source" | awk '{print $3}') --sout '#transcode{acodec=mp3,ab=128,channels=2}:standard{access=http,dst=0.0.0.0:8888/pc.mp3}'

1
बहुत बढ़िया! वहाँ एक 3 सेकंड अंतराल है, लेकिन मैं इस छोटे हैक के साथ खुश हूँ जब तक मुझे लगता है कि लानत केबल नहीं है। मुझे शायद एक और खरीदना होगा ...
स्लैबो

@Slabo अच्छा बिंदु, किसी कारण से मैं गलत तरीके से ओपी को केवल संगीत स्ट्रीम करना चाहता था। मेरे उत्तर का संपादन किया
wilks

2
वन-लाइनर पहले दो लाइनों के बजाय: cvlc -vvv pulse://$(pactl list | grep "Monitor Source" | awk '{print $3}') --sout '#transcode{acodec=mp3,ab=128,channels=2}:standard{access=http,dst=0.0.0.0:8888/pc.mp3}'
polynomial_donut

धारा मेरे लिए वॉल्यूम सेटिंग से सीधे प्रभावित होती है। मैं सिर्फ लैपटॉप से ​​आने वाली आवाज को रोकने के लिए अपने इयरफ़ोन में प्लग करता हूं।
रॉल्फ

वैसे, मैं 1/2 घंटे की तरह स्थायी से अंतराल को कैसे रोकूं?
रॉल्फ

9

अपने एंड्रॉइड फोन पर वाईफाई पर ऑडियो आउटपुट स्ट्रीम करने के लिए आपको सर्वर सॉफ्टवेयर स्थापित करने की आवश्यकता होती है, जो ऑडियो, पीसी और क्लाइंट सॉफ्टवेयर को एंड्रॉइड डिवाइस पर भेजता है। उपलब्ध विकल्प हैं

वाईफाई ऑडियो वायरलेस स्पीकर

वाईफाई ऑडियो एंड्रॉइड ऐप चलाएं और प्रेस शुरू करें, आपको विंडोज़ / लिनक्स एप्लिकेशन चलाने के बाद नीचे मोबाइल डिवाइस का आईपी पता दिखाई देगा और मोबाइल डिवाइस के आईपी पते को आईपी एड्रेस फ़ील्ड में डाल दिया जाएगा और फिर पीसी एप्लिकेशन पर स्टार्ट दबाएं। अब पीसी से आने वाले सभी ऑडियो मोबाइल डिवाइस को भेजे जाएंगे और आपको मोबाइल डिवाइस पर ऑडियो सुनाई देगा।
डाउनलोड

SoundWire

बिना किसी तार के अपने Android फोन, टैबलेट के लिए किसी भी संगीत या अपने पीसी से ऑडियो संचारित, या अन्य पीसी
होम पेज भी देखें

अन्य उपयोगी लिंक
XBMC android SE


साउंडवायर 1-2 सेकंड के अंतराल पर
गौरव गुप्ता

यदि आप छोटे बफर आकार का चयन करते हैं तो @gauravgupta नहीं lags। इसके अलावा संपीड़न का उपयोग करने का प्रयास करें। इसने मेरे लिए बहुत अच्छा काम किया।
raacer

क्या आप यहाँ वाईफाई ऑडियो का पीसी एप्लीकेशन डाउनलोड लिंक डाल सकते हैं?
seyed

वाईफाई ऑडियो वायरलेस स्पीकर को जीथब से हटा दिया गया था और मंचों में संकलित संस्करण को उपयोगकर्ताओं द्वारा मैलवेयर होने की सूचना दी गई है। सावधान रहे! जिस तरह से इसे वितरित किया जाता है, उससे साउंडवायर भी गड़बड़ दिखता है।
जेनोम

0

आप में से उन लोगों के लिए जो साउंडवायर का उपयोग करते हैं और अपने लैपटॉप या पीसी से वाईफाई भेजते हैं, ifconfig का उपयोग करके आप सही IP ADDRESS का उपयोग करते हैं। यह अभी भी इस दिन के लिए काम करता है लेकिन अधिकांश लिनक्स डिस्ट्रोस को वाईफाई भेजने के लिए एक दूसरे वाईफाई एडेप्टर की आवश्यकता होती है और आपको उस एक का उपयोग करना होगा जिसे आपका एंड्रॉइड टीओ जुड़ा हुआ है। नहीं इंटरनेट से एक। इसे भेजने वाला

जैसे -> यदि आप इंटरनेट से कनेक्ट करने के लिए "ए" वाईफाई एडेप्टर का उपयोग कर रहे हैं और "ए" से वाईफाई भेजने के लिए "बी", तो एंड्रॉइड पर साउंडवायर को "बी" नहीं "ए" से कनेक्ट करें।

यदि आप एडेप्टर से कनेक्ट नहीं करते हैं, तो साउंडवायर कनेक्ट या स्ट्रीम नहीं करेगा, ताकि आप अपने आईपी पते को अपने एंडोरॉयड ऐप (एस) में इनपुट कर सकें, तदनुसार टर्मिनल कमांड ifconfig का उपयोग कर।

हाँ वहाँ अंतराल है, लेकिन यह ऐप, साउंडवायर, सबसे सरल "मल्टी-कनेक्ट टू आईपी एंड भूलना" सिस्टम है। कोई पागल मेनू के माध्यम से जाने के लिए। और हाँ, यह एक से अधिक कनेक्ट को स्वीकार करता है। मैंने दूसरे दिन 2 का उपयोग किया। यह ट्रांसमिशन से बाहर भेजने वाले डिवाइस पर मुख्य विंडो में इससे जुड़े उपकरणों की संख्या को जोड़ता है।

आज तक मेरे स्थान पर व्यक्तिगत रूप से एक बहु-कमरे / छोटी दूरी के वाईफाई-रेडियो सिस्टम के रूप में उपयोग करना।

का आनंद लें।


-4

वाह यह तो पुराना है ...

वैसे भी, VLC का उपयोग करें। हर तरफ सुंदर जीयूआई।

  • अपने डेस्कटॉप पर VLC फायर करें।
  • स्ट्रीम को हिट करें, फ़ाइल का चयन करें (कितनी फ़ाइलें आप चाहते हैं), हिट स्ट्रीम।
  • 'अगला' अगर यह सब सही है।
  • नए गंतव्य के लिए "http" (या जो भी आप उपयोग करना चाहते हैं) का चयन करें। यदि आप मशीन से खेलना चाहते हैं, तो इसे स्थानीय रूप से प्रदर्शित करें चुनें। अगले कुछ संवाद सभी आत्म-व्याख्यात्मक हैं।

अपने Android डिवाइस पर VLC फायर करें। खोज बटन के बगल में स्थित आइकन (डॉट की ओर इशारा करते हुए तीर)। http://<IP ADDRESS O OF THE MACHINE RUNNING VLC>:8080/मेरे लिए टाइप यह थाhttp://xxx.ca:8080/

परीक्षण किया और काम कर रहा है। अब, क्या कोई जू 9'13 के प्राचीन समय में ऐसा कर सकता था? हो सकता है, लेकिन मैं वीएलसी की कमिट लॉग को जांचने के लिए बहुत आलसी हूं;)


3
वह एक संगीत / वीडियो स्ट्रीमिंग समाधान की तलाश में नहीं है।
क्रिस्टियन सियुपिटु
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.