इस दुनिया में दो तरह के लोग होते हैं एक वे जो टीवी शो को कैप्शन के साथ देखते हैं और दूसरे जो अजीब होते हैं।
सभी मजाक एक तरफ, वीडियो के लिए बंद कैप्शन के महत्व को कम करके नहीं आंका जा सकता है। बधिरों और कम सुनने वालों के लिए महत्वपूर्ण होने के अलावा, जब ऑडियो अनुपलब्ध होता है या स्पष्ट रूप से श्रव्य नहीं होता है तो कैप्शन भी महत्वपूर्ण होते हैं। हो सकता है कि आप किसी सार्वजनिक स्थान पर कोई वीडियो देख रहे हों और परिवेशी शोर में ऑडियो डूब गया हो। या हो सकता है कि वीडियो में बोलने वाला व्यक्ति माइक्रोफ़ोन का उपयोग कर रहा हो जो सर्वोत्तम गुणवत्ता का नहीं है, या ऐसे लहजे या बोली में बोलता है जो दर्शक के लिए अपरिचित है। कैप्शन हमेशा एक अच्छी चीज होती है। दुर्भाग्य से, लाइव स्ट्रीम में ऑडियो को कैप्शन देना मुश्किल है।
इससे पहले कि हम लाइव स्ट्रीम को कैप्शन देने की समस्या की पड़ताल करें, आइए शब्दार्थ के बारे में थोड़ी बात करें। क्या आप जानते हैं कि क्लोज्ड कैप्शन और सबटाइटल के बीच अंतर है?
संवाद का ट्रांसक्रिप्शन या अनुवाद, जब ध्वनि उपलब्ध हो लेकिन समझ में न आए (उदाहरण के लिए, क्योंकि उपयोगकर्ता मीडिया संसाधन के ऑडियो ट्रैक की भाषा नहीं समझता है) के लिए उपयुक्त है। वीडियो पर छा गया।
विनिर्देश कैप्शन का वर्णन इस प्रकार करता है:
संवाद का प्रतिलेखन या अनुवाद, ध्वनि प्रभाव, प्रासंगिक संगीत संकेत, और अन्य प्रासंगिक ऑडियो जानकारी, जब ध्वनि अनुपलब्ध हो या स्पष्ट रूप से श्रव्य न हो (उदाहरण के लिए क्योंकि यह मौन है, परिवेशी शोर से डूब गया है, या क्योंकि उपयोगकर्ता बहरा है ). वीडियो पर मढ़ा; सुनने में कठिनाई के लिए उपयुक्त के रूप में लेबल किया गया।
इसका मतलब यह है कि जब हम लाइव वीडियो के लिए "बंद कैप्शन" के बारे में बात करते हैं, तो हम आमतौर पर उपशीर्षक की बात करते हैं क्योंकि कैप्शन में आमतौर पर वर्णनात्मक जानकारी शामिल होती है। एक टीवी शो के एक दृश्य के बारे में सोचें जहां एक अभिनेता घर छोड़ने के लिए कार में बैठता है और अपने जीवनसाथी को अलविदा कहता है। इस दृश्य के लिए शीर्षक "अलविदा, प्रिय। [कार इंजन शुरू होता है]।"
हम एआई सिस्टम द्वारा हमारे लिए इस तरह की प्रासंगिक जानकारी का वर्णन करने के करीब नहीं हैं, इसलिए हम अपनी लाइव स्ट्रीम में शुद्ध "स्पीच-टू-टेक्स्ट" उपशीर्षक जोड़ने तक सीमित हैं; हम नीचे दी गई विधि का उपयोग करके ऐसा कर सकते हैं।
ध्यान दें: आप देखेंगे कि इस ब्लॉग पोस्ट का शीर्षक और मुख्य भाग 'कैप्शन' या 'क्लोज्ड कैप्शन' शब्दों का उपयोग करता है, भले ही हम वास्तव में यहाँ जिस बारे में बात कर रहे हैं, वह उपरोक्त परिभाषाओं के आधार पर उपशीर्षक हैं। दुर्भाग्य से, चूंकि शब्द 'बंद कैप्शन' का आमतौर पर दुरुपयोग किया जाता है, इसलिए इस शब्द का अनुचित तरीके से उपयोग करना सबसे अधिक समझ में आता है ताकि डेवलपर्स को इस ब्लॉग पोस्ट को खोजने और इस सुविधा को अपनी लाइव स्ट्रीम में जोड़ने का तरीका सीखने में मदद मिल सके। बस यह जान लें कि हम वास्तव में यहाँ जिस बारे में बात कर रहे हैं वह उपशीर्षक हैं!
इस पोस्ट में हम जिस समाधान को देखते हैं, वह Amazon Interactive Video Service (Amazon IVS) से लाइव स्ट्रीम प्रसारित करने पर केंद्रित है।
इस डेमो के लिए, मैंने OBS-captions-plugin
by Ratwithacompiler ( का उपयोग करना चुना है)
इसके बाद, सेटिंग्स को संशोधित करने के लिए कैप्शन डॉक में 'गियर' आइकन चुनें।
सुनिश्चित करें कि एक कैप्शन स्रोत चुना गया है, और अपनी आवश्यकताओं के अनुरूप प्लगइन कॉन्फ़िगरेशन को संशोधित करें। उदाहरण के लिए, मेरे लिए डिफ़ॉल्ट कैप्शन टाइमआउट 15.0
सेकंड पर सेट किया गया था, लेकिन मैंने 5.0
सेकंड को बेहतर मान पाया।
एक बार जब आप अपना कॉन्फ़िगरेशन सहेज लेते हैं और एक नई लाइव स्ट्रीम शुरू कर देते हैं, तो प्लगइन आपके भाषण को टेक्स्ट में बदलने और लाइव स्ट्रीम के लिए आवश्यक कैप्शन जानकारी तैयार करने का काम करता है।
Amazon IVS प्लेयर के साथ कैप्शन डेटा को वापस चलाने के लिए, हम TextCue
ईवेंट को सुनने के लिए एक ईवेंट श्रोता जोड़ सकते हैं (
ivsPlayer.addEventListener(IVSPlayer.PlayerEventType.TEXT_CUE, (evt) => { console.log(evt); }
जैसा कि ऊपर कॉन्फ़िगर किया गया हैंडलर सभी इनकमिंग TextCue
ईवेंट को कंसोल में लॉग करता है।
TextCue
इवेंट की text
प्रॉपर्टी में कैप्शन डेटा होता है।
कुछ HTML और CSS के साथ, हम कैप्शन डेटा को <video>
तत्व पर ओवरले के रूप में प्रस्तुत कर सकते हैं। यह कार्यान्वयन आपकी आवश्यकताओं पर अत्यधिक निर्भर है, लेकिन आपको बिना किसी कैप्शन डेटा की निर्दिष्ट अवधि के बाद ओवरले को स्वतः छिपाने पर विचार करना चाहिए।
इस पोस्ट में, हमने देखा कि भाषण को टेक्स्ट में बदलने के लिए OBS प्लगइन का उपयोग कैसे करें और उस टेक्स्ट को Amazon IVS लाइव स्ट्रीम पर कैप्शन डेटा के रूप में प्रकाशित करें।