डेटा कन्वर्टर्स · 5 मिनट पढ़ें
SRT से VTT: उपशीर्षक ब्राउज़र वास्तव में लोड करेगा
एक HTML5 वीडियो तत्व ख़ुशी से एक SRT फ़ाइल को अनदेखा कर देगा: ब्राउज़र का `<track>` तत्व WebVTT को लोड करता है और कुछ नहीं। इसलिए SRT को VTT में परिवर्तित करना वेब पर वीडियो प्रकाशित करने का एक नियमित कदम है - और दोनों प्रारूपों के बीच अंतर आपकी अपेक्षा से छोटा है, यही कारण है कि रूपांतरण को ब्लैक बॉक्स के रूप में मानने के बजाय समझने लायक है।
अद्यतन
SRT और VTT के बीच क्या परिवर्तन होता है
- हेडर - WebVTT फ़ाइलें पंक्ति `WEBVTT` से शुरू होती हैं, वैकल्पिक रूप से इसके बाद एक शीर्षक होता है।
- टाइमकोड्स - SRT मिलीसेकंड से पहले अल्पविराम के साथ `00:00:12,500` लिखता है; VTT एक बिंदु से `00:00:12.500` लिखता है।
- क्यू पहचानकर्ता - दोनों क्यू के ऊपर एक वैकल्पिक नाम की अनुमति देते हैं; VTT उन्हें स्क्रिप्टिंग के लिए अधिक उपयोगी रखता है।
- समाप्ति समयकोड - SRT में आवश्यक; VTT अगले संकेत से अंत का अनुमान लगाया जा सकता है, हालांकि स्पष्ट अधिक सुरक्षित है।
- अतिरिक्त सुविधाएँ - VTT लाइन स्थिति, संरेखण और टेक्स्ट मार्कअप जैसी क्यू सेटिंग्स जोड़ता है।
स्टाइलिंग और सुरक्षित मार्कअप
WebVTT एक क्यू के अंदर टैग के सीमित सेट की अनुमति देता है - `<b>`, `<i>`, `<u>` और `<c.classname>` उन कक्षाओं के लिए जिन्हें आप `::cue` के माध्यम से सीएसएस के साथ स्टाइल करते हैं। किसी भी अन्य चीज़ को शाब्दिक पाठ के रूप में प्रस्तुत करने की अधिक संभावना है। यही कारण है कि रूपांतरण को मौजूद होने पर सरल स्वरूपण को संरक्षित करना चाहिए और दृश्य कोण कोष्ठक में मार्कअप से बचने के बजाय जो प्रारूप व्यक्त नहीं कर सकता है उसे छोड़ देना चाहिए।
WEBVTT
00:00:12.500 --> 00:00:15.000 align:start
That was the point.
यह प्लेबैक से परे क्यों मायने रखता है?
अधिकांश प्लेटफ़ॉर्म पर कैप्शन सुलभता की आवश्यकता होती है, और वे अनुक्रमित सामग्री भी होते हैं: एक टेक्स्ट ट्रैक खोज इंजन और सहायकों को एक मशीन - पठनीय स्क्रिप्ट देता है जो अकेले ऑडियो प्रदान नहीं करता है। इसलिए एक सही तरीके से एन्कोडेड<track kind="captions"> `` डबल ड्यूटी कर रहा है — अनुपालन कर रहा है और वीडियो को एक टेक्स्ट उपस्थिति दे रहा है जिसमें अन्यथा कमी हो सकती है।
एन्कोडिंग मायने रखती है: उपयुक्त वर्णसेट के साथ VTT को UTF-8 के रूप में परोसें। लीगेसी एन्कोडिंग में सहेजे गए उच्चारण वर्णों वाली एक फ़ाइल प्लेयर में मोजिबेक के रूप में प्रस्तुत की जाएगी, और यह एन्कोडिंग के बजाय रूपांतरण बग की तरह दिखाई देगी।
व्यावहारिक कार्यप्रवाह
- SRT को VTT में बदलें और सही टाइमकोड के लिए पहले और आखिरी क्यू की जांच करें।
- .vtt एक्सटेंशन के साथ UTF-8 के रूप में सहेजें और इसे टेक्स्ट/vtt सामग्री प्रकार के साथ परोसें जहां आप सर्वर को नियंत्रित करते हैं।
- इसे `<track type='captions' srclang='en' label='English' default>` वाले वीडियो तत्व से संदर्भित करें।
- वीडियो फ़ाइल के साथ कैप्शन फ़ाइल अपलोड करें ताकि परिनियोजन के बाद सापेक्ष पथ काम करते रहें।
ऑफ़लाइन और तत्काल
उपशीर्षक फ़ाइलें बड़े टेक्स्ट दस्तावेज़ हैं और अक्सर अप्रकाशित कार्य होते हैं - समीक्षा कट की स्क्रिप्ट कहीं भी अपलोड नहीं की जानी चाहिए। इस साइट पर SRT से VTT कनवर्टर ब्राउज़र में चलता है, इसलिए दो घंटे की ट्रांसक्रिप्ट आपकी मशीन को छोड़े बिना एक सेकंड के एक अंश में परिवर्तित हो जाती है।
SRT से VTT - अक्सर पूछे जाने वाले प्रश्न
मेरा वीडियो प्लेयर मेरी उपशीर्षक फ़ाइल को अनदेखा क्यों करता है?
लगभग हमेशा क्योंकि फ़ाइल WebVTT के बजाय SRT है। HTML5 `<track>` केवल VTT स्वीकार करता है। वीटीटी में कनवर्ट करें, पुष्टि करें कि फ़ाइल WEBVTT लाइन से शुरू होती है, फिर जांचें कि टाइमकोड डॉट्स का उपयोग करते हैं, अल्पविराम का नहीं।
क्या YouTube और अन्य प्लेटफ़ॉर्म को VTT की आवश्यकता है?
YouTube SRT और VTT दोनों अपलोड स्वीकार करता है और उन्हें आंतरिक रूप से परिवर्तित करता है, लेकिन अधिकांश स्व-होस्ट किए गए खिलाड़ियों और प्रत्येक HTML5 वीडियो तत्व को WebVTT की आवश्यकता होती है। अपलोड से पहले कनवर्ट करने से कैप्शन हर जगह समान रूप से प्रस्तुत होते रहते हैं।
क्या WebVTT को स्टाइल किया जा सकता है?
हां - क्यू टेक्स्ट के अंदर आप बोल्ड, इटैलिक और अंडरलाइन टैग प्लस क्लास स्पैन का उपयोग कर सकते हैं, और आप `::cue` छद्म-तत्व के विरुद्ध सीएसएस के साथ कक्षाओं को स्टाइल कर सकते हैं। पोजिशनिंग को लाइन, पोजिशन और अलाइन जैसी क्यू सेटिंग्स से नियंत्रित किया जाता है।
इस पोस्ट में उल्लिखित उपकरण
पढ़ने के लिए और लेख
5 मिनट पढ़ें
Markdown तालिकाएँ: पाइपों की गिनती के बजाय उन्हें उत्पन्न करें
पंक्तियों या स्प्रेडशीट से GitHub-स्वादयुक्त मार्कडाउन तालिकाएँ बनाएँ - संरेखण, एस्केपिंग पाइप, और जब कोई तालिका आपके README के लिए गलत विकल्प हो।
6 मिनट पढ़ें
JSON फ़ॉर्मेटर: सुंदर, छोटा, और वास्तव में मान्य
एक JSON फ़ॉर्मेटर जो सटीक त्रुटि स्थानों के साथ सुंदर-प्रिंट, छोटा और मान्य करता है - साथ ही लगभग हर अमान्य JSON त्रुटि के पीछे पाँच सिंटैक्स गलतियाँ।