VLC में अपठनीय / गलत अक्षर वाले सबटाइटल: एनकोडिंग ठीक करें

सबटाइटल समस्याएं अंतिम अपडेट: लागू होता है: All platforms · VLC 3.0.x

अपठनीय सबटाइटल — प्रश्न-चिह्न, काले हीरे या अर्थहीन अक्षरों की दीवार — पाठ की एनकोडिंग समस्या है, खराब सबटाइटल फ़ाइल नहीं। सबटाइटल फ़ाइल सही है; VLC उसे गलत वर्ण सेट से डिकोड कर रहा है। यह पुरानी SRT फ़ाइलों (Windows-1252 या मध्य यूरोपीय के रूप में सहेजी) के साथ अत्यंत आम है, और UTF-16 फ़ाइलों के साथ उतना ही आम। एक प्राथमिकता बदलाव इसे वैश्विक रूप से ठीक करता है; प्रति-फ़ाइल बदलाव इसे तुरंत ठीक करता है।

ऐसा क्यों होता है?

  • VLC में गलत डिफ़ॉल्ट एनकोडिंग — VLC UTF-8 मान लेता है; Windows-1251/1252/GBK में पुरानी फ़ाइलें गलत पढ़ी जाती हैं।
  • UTF-16 में एनकोडेड सबटाइटल — कुछ उपकरण SRT को UTF-16 (BOM सहित) के रूप में सहेजते हैं; VLC का ऑटो-पहचान कभी-कभी गलत पक्ष चुनता है।
  • BOM के बिना UTF-8 जिसमें चीनी/सिरिलिक सामग्री हो — BOM के बिना, VLC कोई पुरानी कोड पेज अनुमानित कर सकता है।
  • असमर्थित charset हेडर वाला ASS/SSA — फ़ाइल कोई एनकोडिंग घोषित करती है लेकिन दूसरी रखती है।

कैसे ठीक करें

समाधान 1Subtitle rendering ठीक करें (encoding)

subtitles को सही ढंग से प्रदर्शित करता है

  1. Tools > Preferences > Subtitles (Subtitles / OSD के अंतर्गत) पर जाएं।

    Subtitle सेटिंग्स खुलती हैं।

  2. Default encoding को UTF-8 — और यदि काम न करे, तो Windows-1252, Windows-1251 (सिरिलिक), या अपनी भाषा के अनुरूप कोड पेज आज़माएँ पर सेट करें (या पुरानी फ़ाइलों के लिए Windows-1252 / Central European आज़माएं)।

    टेक्स्ट सही डिकोड होता है।

  3. Save पर क्लिक करें और वीडियो फिर से खोलें।

    Subtitles नई सेटिंग्स के साथ फिर render होते हैं।

नोटप्रति-फ़ाइल ओवरराइड: वीडियो पर राइट-क्लिक करें > Subtitle > Sub Track कोई ट्रैक चुनने के लिए; fine time-shift के लिए G और H कुंजियों का उपयोग करें।

समाधान 2एकल फ़ाइल के लिए एनकोडिंग बदलें (त्वरित परीक्षण)

वर्तमान फ़ाइल 10 सेकंड में ठीक करें — और सही कोड पेज पहचानें

  1. प्लेबैक के दौरान, Subtitle > Subtitle Track (राइट-क्लिक मेन्यू) पर जाएँ — यदि उपलब्ध हो तो "Character Encoding" उपमेन्यू खोलें।

    एनकोडिंग विकल्प दिखते हैं।

  2. UTF-8, Windows-1252, Windows-1251 के बीच चक्रित करें जब तक पाठ पठनीय हो जाए।

    सही एनकोडिंग मिल जाती है।

  3. काम करने वाली एनकोडिंग नोट करें और उसे प्राथमिकताओं में डिफ़ॉल्ट सेट करें।

    इस प्रकार की भविष्य की फ़ाइलें सही डिकोड होती हैं।

नोटVLC 3.0 कुछ प्लेटफ़ॉर्म पर Subtitle > Character Encoding के माध्यम से प्रति-ट्रैक एनकोडिंग चयनकर्ता देता है; अन्य पर, वैश्विक डिफ़ॉल्ट उपयोग करें।

समाधान 3सबटाइटल को UTF-8 में फिर सहेजें

स्थायी, फ़ाइल-स्तरीय समाधान

  1. SRT को Notepad++ (या VS Code / कोई भी एनकोडिंग नियंत्रण वाला एडिटर) में खोलें।

    फ़ाइल खुलती है, शायद अपठनीय।

  2. मेन्यू > Encoding > Convert to UTF-8 (BOM के बिना ठीक है)।

    फ़ाइल परिवर्तित होती है।

  3. सहेजें, VLC में वीडियो फिर लोड करें।

    सबटाइटल कहीं भी, किसी भी डिवाइस पर सही रेंडर होते हैं।

नोटUTF-8 में परिवर्तन सबटाइटल को पोर्टेबल बनाता है — VLC, TV, फ़ोन और वेब प्लेयर सभी UTF-8 को विश्वसनीय रूप से संभालते हैं।

समाधान 4VLC preferences को डिफ़ॉल्ट पर रीसेट करें

क्रैश, black screen और ऑडियो समस्याओं का कारण बनने वाली खराब सेटिंग्स को साफ़ करता है

  1. VLC को पूरी तरह बंद करें।

    कोई VLC प्रोसेस चल नहीं रहा है।

  2. एक command prompt (Win+R → cmd) या terminal खोलें।

    कमांड लाइन उपलब्ध है।

  3. चलाएं: vlc --reset-config (Windows/Linux) — macOS पर इसके बजाय ~/Library/Preferences/org.videolan.vlc डिलीट करें।

    VLC preferences डिफ़ॉल्ट पर रीस्टोर हो जाती हैं।

  4. VLC लॉन्च करें और केवल वे सेटिंग्स फिर लागू करें जिनकी आपको ज़रूरत है।

    VLC साफ़ सेटिंग्स के साथ शुरू होता है।

नोटयह सभी कस्टम preferences (शॉर्टकट और स्किन सहित) मिटा देता है। बैकअप चाहें तो Tools > Preferences > All > Interface के तहत अपनी config एक्सपोर्ट कर लें।

एडवांस्ड समाधान

समाधान 1गलत charset हेडर वाली ASS फ़ाइलें ठीक करें

वे स्टाइल वाले सबटाइटल संभालता है जो एनकोडिंग सेटिंग्स को अनदेखा करते हैं

  1. ASS को किसी टेक्स्ट एडिटर में खोलें और "Script Info" हेडर में charset पंक्ति देखें।

    हेडर दिखता है।

  2. यदि फ़ाइल में अन्यथा UTF-8 वाला रूसी/चीनी है, तो उसे UTF-8 के रूप में फिर सहेजें और कोई भी charset ओवरराइड पंक्ति हटाएँ।

    हेडर सामग्री से मेल खाता है।

  3. VLC में फिर लोड करें — ASS स्टाइल अब सही पाठ के साथ लागू होता है।

    स्टाइल वाले सबटाइटल पठनीय हैं।

नोटASS फ़ाइलें अपने फ़ॉन्ट और charset मेटाडेटा रखती हैं; जब वे टकराते हैं, फ़ाइल को ठीक करना होता है — VLC हेडर का पालन करता है।

भविष्य में कैसे बचें

  • सबटाइटल को डिफ़ॉल्ट रूप से UTF-8 में सहेजें।
  • ऐसे उपकरण (subliminal, subdownloader) उपयोग करें जो UTF-8 उत्पन्न करते हैं।
  • यदि आप मैन्युअल रूप से सबटाइटल संपादित करते हैं, तो BOM बनाए रखें या सुनिश्चित करें कि एडिटर UTF-8 लिखे।

अक्सर पूछे जाने वाले प्रश्न

VLC में मेरे सबटाइटल वर्गों (□) जैसे क्यों दिखते हैं?
वर्ग दर्शाते हैं कि फ़ॉन्ट के पास अक्षरों के ग्लिफ़ नहीं हैं, या एनकोडिंग गलत है। पहले एनकोडिंग ठीक करें; यदि सही एनकोडिंग पर भी वर्ग बने रहें, तो फ़ॉन्ट में स्क्रिप्ट का अभाव है — प्राथमिकताओं में सबटाइटल फ़ॉन्ट बदलें।
क्या VLC चीनी, सिरिलिक या अरबी सबटाइटल समर्थित करता है?
हाँ, ऐसे फ़ॉन्ट के साथ जो स्क्रिप्ट कवर करे। एनकोडिंग UTF-8 (या संबंधित कोड पेज) होनी चाहिए। अरबी/हिब्रू के लिए, प्राथमिकताओं में RTL विकल्प भी सक्षम करें।
सबटाइटल Notepad में साफ़ दिखते हैं लेकिन VLC में अपठनीय — क्यों?
Notepad एनकोडिंग स्वतः पहचानता है; VLC अपना कॉन्फ़िगर किया डिफ़ॉल्ट उपयोग करता है। VLC का डिफ़ॉल्ट एनकोडिंग फ़ाइल की वास्तविक एनकोडिंग से मेल खाने पर सेट करें।
केवल फ़ुलस्क्रीन पर अपठनीय पाठ?
यह असामान्य है और रेंडरर की ओर, एनकोडिंग की नहीं, इशारा करता है। वीडियो आउटपुट मॉड्यूल बदलें या GPU ड्राइवर अपडेट करें।

सारांश

Subtitle rendering ठीक करें (encoding) — subtitles को सही ढंग से प्रदर्शित करता है. If it does not help, work through the remaining fixes in order: each targets a different layer of the problem. Most users resolve this issue by fix 3 at the latest. Keep VLC updated (current stable: 3.0.23) and revisit this guide when a new VLC version ships.