2012-06-07 25 views
6

मैं वर्तमान में एक परियोजना पर काम कर रहा हूं जो एचटीएमएल 5 ऑडियो का उपयोग करता है और हमें आईओएस उपकरणों (ज्यादातर एकाधिक ऑडियो चैनल सीमा) पर सीमाओं के साथ समस्याएं हैं।एचटीएमएल 5 ऑडियो टैग पर ऑडियो स्ट्रीम करने के लिए नोड.जेएस का उपयोग करना और आईओएस सीमा

मैं सोच रहा था कि node.js. का उपयोग कर ध्वनि सर्वर-साइड को नियंत्रित करना संभव हो सकता है। क्लाइंट एक ऑडियो यूआरएल से कनेक्ट होगा और नोड सर्वर लाइव ध्वनियों को स्ट्रीम करेगा, यह सिंगल चैनल सर्वर पर लाइव सभी मिश्रण और संक्रमण कर रहा है।

क्या यह तकनीकी रूप से संभव है? क्या आप node.js पर ऑडियो पार्स कर सकते हैं और कुछ लाइव मिश्रण कर सकते हैं? क्या आपको लगता है कि सर्वर 5 से अधिक ग्राहकों के साथ विस्फोट करेगा?

धन्यवाद

+0

क्या आप पूरा करने के लिए है कि पूर्व ऑडियो फ़ाइल प्रसंस्करण द्वारा नहीं किया जा सकता है उम्मीद कर रहे हैं? उदाहरण के लिए –

+0

@ सैमडफेल, अन्य ध्वनियों के साथ निरंतर पृष्ठभूमि ध्वनि जिसे क्लिक करके सक्रिय किया जा सकता है। वास्तव में हम इस विशिष्ट परियोजना के लिए एक पूर्व प्रसंस्करण समाधान का उपयोग करेंगे, लेकिन मैं सोच रहा था कि यह रीयलटाइम/गतिशील अनुभवों का समाधान हो सकता है। –

+0

दिलचस्प ... मुझे यकीन नहीं है कि कैश के मुद्दों के कारण, यह संभव है। –

उत्तर

4

हाँ, यह पूरी तरह संभव है, लेकिन के रूप में सैम ने कहा, बफरिंग एक मुद्दा है। ग्राहक

  • से

    • हो रही नियंत्रण आदेशों सही कोडेक (साथ
    • एन्कोडिंग डेटा एक आंतरिक बफर में कच्चे PCM ऑडियो मिक्सिंग आप मात्रा में यह करने के लिए की आवश्यकता है: वहाँ महत्वपूर्ण देरी है कि कई अंक से अधिक बनाता है)
    • भेजा जा रहा है ऑडियो डेटा
    • बफरिंग क्लाइंट साइड
    • क्लाइंट-साइड पर
    • प्लेबैक बफर

    इसे सब कुछ जोड़ें, और यहां तक ​​कि यदि आप इसे बहुत जल्दी काम कर रहे हैं, तो भी आप कुछ सेकंड की देरी देख रहे हैं।

    यदि आप इस मार्ग पर जाने का निर्णय लेते हैं, तो आपको मिश्रण और एन्कोडिंग करने के लिए आपको बाहरी एप्लिकेशन (या अपना स्वयं का नोड एक्सटेंशन लिखना होगा) की आवश्यकता होगी। सॉक्स शायद एक सभ्य विकल्प है, और एफएफएमपीईजी में आपके उपयोग के लिए कई कोडेक शामिल हैं। आप दोनों STDIO पर उपयोग कर सकते हैं।

    सर्वर लोड के संबंध में ... यह हल्के वजन की प्रक्रिया नहीं है, लेकिन आपको यह देखना होगा कि यह वास्तव में कितना बुरा है। मेरा सुझाव है कि आप इस तरह कुछ करने का प्रयास करने से पहले एक बार क्लाइंट-साइड में एकाधिक ऑडियो स्ट्रीम खेलने पर अन्य प्रयास करें।

  • +0

    क्यों उपयोग नहीं करें लंगड़ा? @TooTallNate ने इसके लिए एक अच्छा रैपर लिखा, https://github.com/TooTallNate/node-lame – EaterOfCode

    +1

    @EaterOfCorpses, LAME केवल एक एमपी 3 कोडेक है। यदि आप व्यापक ब्राउज़र समर्थन चाहते हैं, तो आपको एमपी 3 से अधिक समर्थन करने की आवश्यकता है।इसके अलावा, एफएफएमपीईजी अक्सर एक संभावित कोडेक के रूप में LAME बंडल बनाता है, ताकि आप बेहतर समर्थन के लिए एफएफएमपीईजी का भी उपयोग कर सकें। – Brad

    +0

    तार्किक लगता है। – EaterOfCode

    0

    कृपया इस लिंक को देखें। यह काम करता है के रूप में उम्मीद लेकिन मुद्दा ग्राहक नियंत्रण NodeJS Streaming for Audio/Video with Client Side Control

    https://stackoverflow.com/questions/32012695/nodejs-streaming-for-audio-video-with-client-side-control 
    
    संबंधित मुद्दे