Friskriptionब्लॉगSRT बनाम VTT

SRT बनाम VTT: कौन-सा इस्तेमाल करें

दोनों वही पंक्तियाँ, वही समय पर रखते हैं, और इनमें क़रीब तीन अक्षरों का फ़र्क़ है। परवाह करने की वजह यह है कि कुछ गिनी-चुनी जगहें इनमें से ठीक एक ही स्वीकार करती हैं।

छोटा जवाब

  • SRT लें — वीडियो एडिटर, डेस्कटॉप प्लेयर और YouTube पर कैप्शन चढ़ाने के लिए। यही वह फ़ॉर्मैट है जिसे हर चीज़ स्वीकार करती है।
  • VTT लें — जब सबटाइटल किसी वेब पेज पर जा रहे हों, क्योंकि HTML5 का <track> एलिमेंट सिर्फ़ WebVTT पढ़ता है, और कुछ नहीं।
  • तय न कर पाएँ तो SRT लें। सपोर्ट ज़्यादा जगह है, और बाद में VTT में बदलना एक हेडर लाइन और एक फाइंड-एंड-रिप्लेस भर है।
  • असली फ़र्क़: VTT एक WEBVTT पंक्ति से शुरू होता है, और उसके टाइमस्टैम्प में मिलीसेकंड से पहले पूर्ण विराम आता है, जहाँ SRT कॉमा रखता है।
  • VTT स्टाइलिंग और पोज़िशनिंग भी रख सकता है, जो SRT नहीं रख सकता — ज़्यादातर लोगों को इसकी कभी ज़रूरत नहीं पड़ती, और कुछ प्लेयर वैसे भी इसे नज़रअंदाज़ कर देते हैं।

वही तीन क्यू, दोनों फ़ॉर्मैट में

SRT

1
00:00:01,200 --> 00:00:04,600
So today we are finally opening the
box everyone has been asking about.

2
00:00:04,600 --> 00:00:07,900
I have not looked inside. Not once,
I promise.

3
00:00:08,300 --> 00:00:11,400
Right — let us do this properly.

VTT

WEBVTT

1
00:00:01.200 --> 00:00:04.600
So today we are finally opening the
box everyone has been asking about.

2
00:00:04.600 --> 00:00:07.900
I have not looked inside. Not once,
I promise.

एक आम फ़ाइल में सचमुच इतना ही फ़र्क़ है: हेडर की एक पंक्ति, और जहाँ कॉमा था वहाँ पूर्ण विराम। दोनों सादा UTF-8 टेक्स्ट हैं, दोनों अपने क्यू को नंबर देते हैं, दोनों शुरू और अंत के समय के बीच --> रखते हैं, और दोनों नीचे की पंक्तियों में टेक्स्ट लिखते हैं।

असल में फ़र्क़ कहाँ है

SRT (SubRip) VTT (WebVTT)
फ़ाइल हेडर कोई नहीं पहली पंक्ति में WEBVTT, अनिवार्य
मिलीसेकंड का विभाजक कॉमा — 00:00:01,200 पूर्ण विराम — 00:00:01.200
क्यू नंबर अनिवार्य वैकल्पिक, और नंबर की जगह नाम भी हो सकते हैं
पोज़िशनिंग फ़ॉर्मैट का हिस्सा नहीं हर क्यू के लिए अलग स्थिति, संरेखण और आकार
स्टाइलिंग बुनियादी इनलाइन टैग, सपोर्ट असमान CSS जैसा STYLE ब्लॉक और क्यू क्लास
टिप्पणियाँ और मेटाडेटा नहीं NOTE ब्लॉक, और चैप्टर व मेटाडेटा ट्रैक
HTML5 <track> सपोर्ट नहीं यही एकमात्र फ़ॉर्मैट जिसे वह पढ़ता है
बाक़ी सब कुछ क़रीब-क़रीब हर जगह स्वीकार व्यापक रूप से स्वीकार, कभी-कभार नहीं

कहाँ जाना है, उसके हिसाब से चुनें

सबटाइटल कहाँ जा रहे हैं लें क्यों
वीडियो एडिटर — Premiere, DaVinci Resolve, Final Cut, CapCut SRT वह फ़ॉर्मैट जिसे हर एडिटर बिना दोबारा पूछे इंपोर्ट कर लेता है।
डेस्कटॉप प्लेयर — VLC, IINA, mpv SRT वीडियो के बग़ल में उसी नाम से रख दें, वह ख़ुद लोड हो जाता है।
YouTube पर कैप्शन चढ़ाना SRT YouTube दोनों लेता है, पर SRT में सबसे कम अड़चन आती है।
वेब पेज पर HTML5 <video> VTT <track> एलिमेंट सिर्फ़ और सिर्फ़ WebVTT पढ़ता है।
HLS या DASH स्ट्रीमिंग VTT दोनों में सबटाइटल फ़ॉर्मैट के रूप में WebVTT तय है।
सोशल वीडियो — Instagram, TikTok, LinkedIn SRT जहाँ अपलोड की सुविधा है भी, वहाँ लगभग हमेशा SRT ही है।
अभी तय नहीं SRT सपोर्ट ज़्यादा जगह, और बाद में बदलना मामूली काम।

आपस में बदलना

SRT से VTT में दो ही बदलाव हैं: सबसे ऊपर WEBVTT और एक ख़ाली पंक्ति जोड़ें, और हर टाइमस्टैम्प का कॉमा पूर्ण विराम कर दें। बाक़ी कुछ हिलाने की ज़रूरत नहीं।

# SRT → VTT
{ echo -e "WEBVTT\n"; sed 's/,/./g' subtitles.srt; } > subtitles.vtt
यह sed जान-बूझकर भोथरा है। यह फ़ाइल के हर कॉमा को बदल देता है, संवाद के कॉमा समेत — जो टाइमस्टैम्प के लिए ठीक है और टेक्स्ट के लिए ग़लत। जो चीज़ आप किसी को देने वाले हैं, उसमें सिर्फ़ टाइमस्टैम्प वाली पंक्तियाँ बदलें — या शुरू में ही ज़रूरत का फ़ॉर्मैट एक्सपोर्ट कर लें, जिसमें कुछ नहीं लगता।

VTT से SRT उल्टा वही काम है, साथ में वह सब हटाना जिसके लिए SRT में जगह नहीं: NOTE ब्लॉक, STYLE ब्लॉक, टाइमस्टैम्प के बाद की क्यू सेटिंग, और नंबर की जगह नाम वाले क्यू।

किसी भी फ़ॉर्मैट में फ़ाइल पाना

अगर आप यहाँ इसलिए हैं कि आपको सबटाइटल चाहिए, न कि फ़ॉर्मैट की बहस सुलझानी है: मीडिया स्टूडियो एक वीडियो या ऑडियो फ़ाइल लेता है — MP4, WebM, MP3, M4A या WAV — उसे ब्राउज़र में ही पढ़ता है, बोले गए शब्दों को लिखता और अनूदित करता है, और अंत में नतीजा दोनों में से किसी भी फ़ॉर्मैट में देता है। फ़ाइल ख़ुद कभी आपके कंप्यूटर से बाहर नहीं जाती।

हर हफ़्ते तीस मिनट मुफ़्त हैं, शुल्क सिर्फ़ बोले गए हिस्से का लगता है, और दोनों डाउनलोड में पंक्तियाँ एक जैसी ही होती हैं — यानी अंत वाला चुनाव ठीक वही है जिसकी बात यह पेज कर रहा है। पूरा तरीक़ा भी मौजूद है।

सवाल

SRT और VTT में क्या फ़र्क़ है?

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

YouTube के लिए कौन-सा इस्तेमाल करूँ?

SRT। YouTube दोनों स्वीकार करता है, पर उसका अपलोड तरीक़ा SRT के साथ सबसे सहज है और चेन में आने वाला हर दूसरा औज़ार भी यही लेता है।

वेबसाइट के लिए कौन-सा इस्तेमाल करूँ?

VTT, और इसमें कोई विकल्प है ही नहीं: HTML5 का <track> एलिमेंट सिर्फ़ WebVTT पढ़ता है। HLS और DASH स्ट्रीमिंग में भी WebVTT ही तय है।

क्या VLC VTT फ़ाइल चला सकता है?

आम तौर पर हाँ, पर डेस्कटॉप प्लेयर के लिए SRT ज़्यादा सुरक्षित विकल्प है। सबटाइटल फ़ाइल का नाम वीडियो जैसा ही रखें, उसी फ़ोल्डर में डालें, वह अपने आप लोड हो जाएगी।

क्या इनमें से कोई एक ज़्यादा सटीक है?

नहीं। ये वही पंक्तियाँ उन्हीं समयों के साथ रखने वाले डिब्बे भर हैं। सटीकता इस बात से आती है कि सबटाइटल किसने बनाए, इससे नहीं कि आपने उन्हें किस फ़ॉर्मैट में सहेजा।

क्या एक सबटाइटल फ़ाइल में एक साथ दो भाषाएँ रह सकती हैं?

दो अलग ट्रैक के रूप में नहीं, पर एक ही क्यू दोनों पंक्तियाँ रख सकता है। बनाने से पहले अनुवाद के नीचे मूल शब्द दिखाने वाला विकल्प चालू कर दें, तो हर क्यू में पहले अनूदित पंक्ति और नीचे कोष्ठक में मूल पंक्ति लिखी जाती है — इससे कोई भी प्लेयर दो फ़ाइलों के बिना दोनों दिखा देता है।

ASS और SSA का क्या?

वे अलग श्रेणी के फ़ॉर्मैट हैं, भारी स्टाइलिंग, पोज़िशनिंग और टाइपसेटिंग के लिए बने — जैसा काम फ़ैनसबिंग करती है। जब सबटाइटल ख़ुद डिज़ाइन का काम कर रहा हो, तब वे सही हैं। समय के साथ बने अनूदित ट्रांसक्रिप्ट के लिए SRT और VTT ही ठीक नाप का औज़ार हैं।

जो आपके पास पहले से है, उसी की सबटाइटल फ़ाइल बनाएँ

हर हफ़्ते तीस मुफ़्त मिनट। कुछ इंस्टॉल नहीं करना, और फ़ाइल आपके कंप्यूटर पर ही रहती है।

मीडिया स्टूडियो खोलें