मुख्य कंटेंट तक स्किप करें

पिक्सेल स्ट्रीमिंग ऑडियो कैप्चर

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

पिक्सेल स्ट्रीमिंग बनाम पिक्सेल स्ट्रीमिंग 2

यह प्लगइन अनरियल इंजन में उपलब्ध दोनों पिक्सेल स्ट्रीमिंग संस्करणों का समर्थन करता है:

  • पिक्सेल स्ट्रीमिंग - मूल प्लगइन, UE 5.2 से उपलब्ध और वर्तमान इंजन संस्करणों में अभी भी सक्रिय रूप से उपयोग किया जाता है
  • पिक्सेल स्ट्रीमिंग 2 - UE 5.5 में एक अगली पीढ़ी के कार्यान्वयन के रूप में पेश किया गया, जिसमें एक बेहतर आंतरिक आर्किटेक्चर है। पिक्सेल स्ट्रीमिंग 2 के बारे में अधिक जानें

दोनों संस्करण पूरी तरह से समर्थित हैं और नवीनतम अनरियल इंजन रिलीज़ में उपलब्ध हैं। अपने प्रोजेक्ट के पिक्सेल स्ट्रीमिंग सेटअप से मेल खाने वाले संस्करण का चयन करें।

info

दोनों संस्करणों के लिए API समान है, एकमात्र अंतर यह है कि पिक्सेल स्ट्रीमिंग 2 कक्षाओं और कार्यों के नामों में "2" शामिल होता है (उदाहरण के लिए, UPixelStreamingCapturableSoundWave बनाम UPixelStreaming2CapturableSoundWave)।

संगतता

यह समाधान निम्नलिखित के साथ काम करता है:

कार्यान्वयन का इन वातावरणों में परीक्षण किया गया है और उपयोग किए गए पिक्सेल स्ट्रीमिंग होस्टिंग समाधान की परवाह किए बिना सही ढंग से कार्य करता है।

एक्सटेंशन प्लगइन इंस्टालेशन

यह सुविधा रनटाइम ऑडियो इम्पोर्टर प्लगइन के एक एक्सटेंशन के रूप में प्रदान की जाती है। इसका उपयोग करने के लिए, आपको यह करना होगा:

  1. सुनिश्चित करें कि रनटाइम ऑडियो इम्पोर्टर प्लगइन आपके प्रोजेक्ट में पहले से ही इंस्टॉल है
  2. अपने पिक्सेल स्ट्रीमिंग संस्करण के लिए एक्सटेंशन प्लगइन डाउनलोड करें:
  3. डाउनलोड की गई आर्काइव से फ़ोल्डर को अपने प्रोजेक्ट के Plugins फ़ोल्डर में निकालें (यदि यह फ़ोल्डर मौजूद नहीं है तो इसे बनाएं)
  4. अपने प्रोजेक्ट को रीबिल्ड करें (इस एक्सटेंशन के लिए एक C++ प्रोजेक्ट की आवश्यकता होती है)
important
  • ये एक्सटेंशन सोर्स कोड के रूप में प्रदान किए जाते हैं और उपयोग करने के लिए एक C++ प्रोजेक्ट की आवश्यकता होती है
  • पिक्सेल स्ट्रीमिंग एक्सटेंशन: UE 5.2 और बाद में समर्थित
  • पिक्सेल स्ट्रीमिंग 2 एक्सटेंशन: UE 5.5 और बाद में समर्थित
  • प्लगइन्स को मैन्युअल रूप से बनाने के तरीके के बारे में अधिक जानकारी के लिए, बिल्डिंग प्लगइन्स ट्यूटोरियल देखें

अवलोकन

पिक्सेल स्ट्रीमिंग कैप्चर करने योग्य साउंड वेव मानक कैप्चर करने योग्य साउंड वेव का विस्तार करता है ताकि पिक्सेल स्ट्रीमिंग क्लाइंट्स के माइक्रोफोन से सीधे ऑडियो कैप्चर करने की अनुमति मिल सके। यह सुविधा आपको यह करने में सक्षम बनाती है:

  • पिक्सेल स्ट्रीमिंग के माध्यम से जुड़े ब्राउज़रों से ऑडियो कैप्चर करें
  • विशिष्ट खिलाड़ियों/साथियों से ऑडियो प्रोसेस करें
  • रिमोट उपयोगकर्ताओं से वॉयस चैट, वॉयस कमांड, या ऑडियो रिकॉर्डिंग लागू करें

बेसिक उपयोग

पिक्सेल स्ट्रीमिंग कैप्चर करने योग्य साउंड वेव बनाना

सबसे पहले, आपको एक पिक्सेल स्ट्रीमिंग कैप्चर करने योग्य साउंड वेव ऑब्जेक्ट बनाने की आवश्यकता है:

Create Pixel Streaming Capturable Sound Wave node

warning

आपको Pixel Streaming Capturable Sound Wave को एक मजबूत संदर्भ के रूप में व्यवहार करना चाहिए ताकि समय से पहले विनाश को रोका जा सके (उदाहरण के लिए, Blueprints में इसे एक अलग वेरिएबल को असाइन करके या C++ में UPROPERTY() का उपयोग करके)।

कैप्चर शुरू करना और रोकना

आप सरल फ़ंक्शन कॉल के साथ ऑडियो कैप्चर शुरू और रोक सकते हैं:

Start and Stop Capture nodes

note

StartCapture में DeviceId पैरामीटर को पिक्सेल स्ट्रीमिंग कैप्चर करने योग्य साउंड वेव्स के लिए नजरअंदाज कर दिया जाता है, क्योंकि कैप्चर स्रोत स्वचालित रूप से या आपके द्वारा सेट किए गए प्लेयर इंफो द्वारा निर्धारित किया जाता है।

कैप्चर स्थिति की जाँच करना

आप जाँच सकते हैं कि साउंड वेव वर्तमान में ऑडियो कैप्चर कर रहा है या नहीं:

Is Capturing node

पूर्ण उदाहरण

यहाँ पिक्सेल स्ट्रीमिंग ऑडियो कैप्चर सेट करने का एक पूर्ण उदाहरण दिया गया है:

पूर्ण पिक्सेल स्ट्रीमिंग कैप्चर उदाहरण

एकाधिक पिक्सेल स्ट्रीमिंग प्लेयर्स के साथ कार्य करना

ऐसे परिदृश्यों में जहां आपके पास एक साथ कई पिक्सेल स्ट्रीमिंग क्लाइंट जुड़े हुए हैं, आपको विशिष्ट प्लेयर्स से ऑडियो कैप्चर करने की आवश्यकता हो सकती है। निम्नलिखित सुविधाएं आपको इसे प्रबंधित करने में मदद करती हैं।

उपलब्ध पिक्सेल स्ट्रीमिंग प्लेयर्स प्राप्त करना

यह पहचानने के लिए कि कौन से पिक्सेल स्ट्रीमिंग प्लेयर्स जुड़े हुए हैं:

Get Available Pixel Streaming Players node

कैप्चर करने के लिए प्लेयर सेट करना

जब आपको किसी विशिष्ट प्लेयर से कैप्चर करने की आवश्यकता हो:

Set Player To Capture From node

info

यदि आप Player ID खाली छोड़ते हैं, तो ध्वनि तरंग स्वचालित रूप से पहले उपलब्ध खिलाड़ी को सुनना शुरू कर देगी जो कनेक्ट होता है। यह डिफ़ॉल्ट व्यवहार है और एकल-खिलाड़ी परिदृश्यों के लिए अच्छी तरह काम करता है।

सामान्य उपयोग के मामले

वॉयस चैट कार्यान्वयन

आप दूरस्थ उपयोगकर्ताओं और स्थानीय खिलाड़ियों के बीच वॉयस चैट लागू करने के लिए Pixel Streaming Capturable Sound Waves का उपयोग कर सकते हैं:

  1. प्रत्येक कनेक्टेड खिलाड़ी के लिए एक Pixel Streaming Capturable Sound Wave बनाएं
  2. यह प्रबंधित करने के लिए एक प्रणाली स्थापित करें कि वर्तमान में कौन से खिलाड़ी बोल रहे हैं
  3. यह पता लगाने के लिए Voice Activity Detection प्रणाली का उपयोग करें कि उपयोगकर्ता कब बोल रहे हैं
  4. यदि आवश्यक हो तो Unreal Engine की ऑडियो प्रणाली का उपयोग करके ऑडियो को स्थानिक बनाएं

स्पीच रिकग्निशन के साथ वॉयस कमांड

आप Runtime Speech Recognizer प्लगइन के साथ इस सुविधा को जोड़कर दूरस्थ उपयोगकर्ताओं के लिए वॉयस कमांड रिकग्निशन लागू कर सकते हैं:

  1. Pixel Streaming Capturable Sound Wave का उपयोग करके Pixel Streaming क्लाइंट से ऑडियो कैप्चर करें
  2. कैप्चर किए गए ऑडियो को सीधे Runtime Speech Recognizer को फीड करें
  3. अपने गेम लॉजिक में पहचाने गए टेक्स्ट को प्रोसेस करें

बस Runtime Speech Recognizer उदाहरणों में मानक Capturable Sound Wave को एक Pixel Streaming Capturable Sound Wave (या Pixel Streaming 2 Capturable Sound Wave) से बदलें, और यह Pixel Streaming ऑडियो इनपुट के साथ सहज रूप से काम करेगा।

दूरस्थ उपयोगकर्ता ऑडियो रिकॉर्डिंग

आप बाद में प्लेबैक के लिए दूरस्थ उपयोगकर्ताओं से ऑडियो रिकॉर्ड कर सकते हैं:

  1. Pixel Streaming Capturable Sound Wave का उपयोग करके ऑडियो कैप्चर करें
  2. Export Audio का उपयोग करके कैप्चर किए गए ऑडियो को एक फ़ाइल में निर्यात करें
  3. फ़ाइल को बाद के उपयोग या विश्लेषण के लिए सहेजें