Education·8 min

द्वारा Shamir

XMLTV EPG फ़ाइल वास्तव में कैसी दिखती है (उदाहरणों के साथ)

प्रोग्राम गाइड को लेकर भ्रम दूर करने का सबसे तेज़ तरीका है कि उसे खोलकर पढ़ें। XMLTV साधारण XML है — विस्तृत ज़रूर, लेकिन जटिल नहीं — और एक वास्तविक उदाहरण के साथ बिताए दस मिनट आपको यह अनुमान लगाने में लगने वाले घंटों से बचा सकते हैं कि आपकी गाइड खाली क्यों है।

यह पोस्ट एक वास्तविक फ़ाइल दिखाती है, उसे टैग-दर-टैग डिकोड करती है और फिर उसी समझ के आधार पर गाइड की सबसे आम समस्या समझाती है।

ईमानदार बात: Tuneline आपके दिए हुए कंटेंट के लिए एक मीडिया प्लेयर है। यह आपके दिए हुए शेड्यूल स्रोत से गाइड दिखाता है। इसमें कोई गाइड या कंटेंट पहले से शामिल नहीं है।

संरचना एक वाक्य में

एक XMLTV फ़ाइल में केवल दो तरह की चीज़ें होती हैं: क्या उपलब्ध है, यह बताने वाले <channel> एलिमेंट, और किस समय क्या चल रहा है, यह बताने वाले <programme> एलिमेंट

बस इतना ही। बाकी सब विवरण है।

एक न्यूनतम, पूर्ण उदाहरण

<?xml version="1.0" encoding="UTF-8"?>
<tv generator-info-name="example-grabber">

  <channel id="example.news.us">
    <display-name>Example News</display-name>
    <icon src="http://logos.example/news.png" />
  </channel>

  <programme start="20260806180000 +0000"
             stop="20260806190000 +0000"
             channel="example.news.us">
    <title lang="en">Evening Report</title>
    <desc lang="en">The day's headlines and analysis.</desc>
    <category lang="en">News</category>
  </programme>

</tv>

यह एक वैध और पूर्ण गाइड है, जो एक स्रोत और एक घंटे के शेड्यूल का विवरण देती है। वास्तविक फ़ाइल में यही दो संरचनाएँ हज़ारों बार दोहराई जाती हैं।

टैग-दर-टैग समझें

एलिमेंटइसका काम
<tv>रूट। सब कुछ इसके अंदर होता है।
<channel id="…">किसी स्रोत की घोषणा करता है। id महत्वपूर्ण हिस्सा है — यही मिलान की कुंजी है।
<display-name>गाइड में दिखाया जाने वाला आसानी से पढ़ा जा सकने वाला नाम।
<icon src="…">लोगो का URL।
<programme start stop channel>एक शेड्यूल किया गया आइटम। channel का किसी <channel id> से मेल खाना ज़रूरी है।
<title>प्रोग्राम का नाम।
<desc>संक्षिप्त विवरण।
<category>शैली। माता-पिता के नियंत्रण और फ़िल्टर इसी के आधार पर काम करते हैं।

टाइमस्टैम्प का फ़ॉर्मैट सबको उलझा देता है

start="20260806180000 +0000"

इसे YYYYMMDDHHMMSS के बाद दिए गए UTC ऑफ़सेट के रूप में पढ़ें। यानी 6 अगस्त 2026, 18:00:00 UTC।

ऑफ़सेट ही सबसे महत्वपूर्ण हिस्सा है। अगर फ़ाइल में यह न हो या वास्तविक समय से मेल न खाता हो, तो आपकी गाइड पूरी तरह लोड होगी, लेकिन हर चीज़ गलत समय पर दिखेगी। यह खाली गाइड से बिल्कुल अलग समस्या है और इसे स्रोत बदलकर नहीं, बल्कि टाइमज़ोन सेटिंग में ठीक किया जाता है। (गलत समय ठीक करें।)

मिलान: फ़ाइल लोड होने के बावजूद आपकी गाइड खाली क्यों है

यह बात समझना ज़रूरी है, क्योंकि गाइड से जुड़ी ज़्यादातर शिकायतों की वजह यही होती है।

आपकी प्लेलिस्ट और गाइड दो अलग-अलग फ़ाइलें हैं, जिनका आपस में मिलान होना ज़रूरी है। यह मिलान एक ID के आधार पर होता है।

M3U में:

#EXTINF:-1 tvg-id="example.news.us" tvg-logo="…",Example News
http://example.com/news.m3u8

XMLTV में:

<channel id="example.news.us">

tvg-id का channel id के बराबर होना ज़रूरी है। बिल्कुल समान — बड़े-छोटे अक्षरों और विराम चिह्नों समेत।

जब दोनों मेल खाते हैं, तो एंट्री का शेड्यूल दिखाई देता है। जब मेल नहीं खाते, तो एंट्री के सामने गाइड खाली रहती है और इसके लिए फ़ाइल दोषी नहीं होती। (इसका M3U वाला हिस्सा।)

इसीलिए “मैंने गाइड जोड़ी, लेकिन कुछ नहीं हुआ” आम तौर पर न तो प्लेलिस्ट की गलती होती है, न गाइड की। समस्या यह होती है कि किसी ने उनके पहचानकर्ताओं को एक-दूसरे से मिलाया ही नहीं। आपकी प्लेलिस्ट से अलग क्षेत्र को कवर करने वाली गाइड हज़ारों ऐसे प्रोग्राम लोड कर सकती है, जो आपकी किसी भी एंट्री से मेल नहीं खाते।

गाइड स्रोत जोड़ना

किसी गाइड स्रोत पर भरोसा करने से पहले उसकी जाँच कैसे करें

अपने प्लेयर को दोष देने से पहले फ़ाइल देखें।

1. क्या यह कंप्रेस्ड है? कई स्रोत .xml.gz फ़ॉर्मैट में मिलते हैं। यह सामान्य बात है — ज़्यादातर प्लेयर इसे संभाल लेते हैं। अगर आप खुद जाँच कर रहे हैं, तो पहले इसे डीकंप्रेस करें।

2. क्या इसमें आपके स्रोत वास्तव में मौजूद हैं? फ़ाइल में अपनी किसी tvg-id वैल्यू को खोजें। अगर वह वहाँ नहीं है, तो उस गाइड में आपकी सूची शामिल नहीं है और कोई भी सेटिंग इसे नहीं बदल सकती।

curl -s "https://example.com/guide.xml.gz" | gunzip | grep -c "<channel "
curl -s "https://example.com/guide.xml.gz" | gunzip | grep "example.news.us"

पहली जाँच से पता चलता है कि उसमें कितने स्रोत घोषित किए गए हैं। दूसरी से पता चलता है कि उनमें आपका स्रोत शामिल है या नहीं।

3. क्या इसमें उपयोगी समयावधि शामिल है? सबसे शुरुआती और सबसे आख़िरी start वैल्यू जाँचें। कुछ मुफ़्त गाइड में केवल 24 घंटे का डेटा होता है, जबकि कुछ में दो हफ़्तों का। कल समाप्त हो चुकी गाइड देखने में खराब गाइड जैसी ही लगती है।

4. फ़ाइल कितनी बड़ी है? पूरे देश की गाइड को डीकंप्रेस करने पर उसका आकार दसियों या सैकड़ों मेगाबाइट तक हो सकता है। यह सामान्य है और इसी वजह से टीवी बॉक्स पर पहली बार लोड होने में कुछ मिनट लग सकते हैं। (मुफ़्त XMLTV स्रोत।)

आम खराबियाँ

वास्तविक दुनिया की गाइड फ़ाइलें कुछ अनुमानित तरीकों से खराब होती हैं:

  • .xml के रूप में सेव किया गया HTML एरर पेज। इसे खोलकर देखें। अगर पहली लाइन <!DOCTYPE html> है, तो डाउनलोड विफल हुआ और एरर सेव हो गया।
  • अनएस्केप किए गए एम्परसैंड। किसी शीर्षक में &amp; के बजाय सीधे & होना अमान्य XML है और पूरी पार्सिंग रोक सकता है। एक खराब शीर्षक और पूरी गाइड गायब।
  • डुप्लिकेट <channel id> एंट्री। एक ही ID की दो घोषणाएँ; व्यवहार प्लेयर पर निर्भर करता है।
  • बिना मेल खाने वाले चैनल के प्रोग्राम। ऐसी शेड्यूल एंट्री जिनका channel एट्रिब्यूट किसी घोषित <channel id> से मेल नहीं खाता। इन्हें चुपचाप हटा दिया जाता है।
  • stop समय का गायब होना। कुछ ग्रैबर इन्हें छोड़ देते हैं और उम्मीद करते हैं कि अगले प्रोग्राम का शुरू होने का समय पिछले प्रोग्राम का अंत मान लिया जाएगा। कुछ प्लेयर ऐसा अनुमान नहीं लगाते, जिससे बीच में खाली जगह रह जाती है।

क्या मैं अपनी गाइड लिख या संपादित कर सकता हूँ?

हाँ। यह XML है, इसलिए कोई भी टेक्स्ट एडिटर काम करेगा और छोटी, चुनिंदा व्यवस्था के लिए यह पूरी तरह व्यावहारिक है।

उपयोगी बदलाव:

  • किसी <channel id> को बदलकर उसे आपकी प्लेलिस्ट में पहले से इस्तेमाल हो रहे tvg-id से मिला दें — अक्सर प्लेलिस्ट की सैकड़ों लाइनों को संपादित करने से यह आसान होता है।
  • इसे छोटा करें। जिन <channel> और <programme> एलिमेंट की ज़रूरत नहीं है, उन्हें हटा दें। छोटी फ़ाइल सीमित क्षमता वाले डिवाइस पर बहुत तेज़ी से लोड होती है।
  • ऑफ़सेट ठीक करें अगर हर समय एक समान रूप से गलत दिख रहा हो।

दो नियम: इसे UTF-8 में सेव करें और सही ढंग से फ़ॉर्मैटेड रखें — एक अनएस्केप किया हुआ & आपकी पूरी गाइड को बेकार कर सकता है।

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

EPG फ़ाइल कैसी दिखती है?

यह साधारण XML होती है, जिसमें दो तरह के एलिमेंट होते हैं: हर स्रोत की घोषणा करने वाले <channel> और हर शेड्यूल किए गए आइटम का शुरू होने का समय, समाप्ति समय और शीर्षक देने वाले <programme>

XMLTV किस फ़ॉर्मैट में होती है?

XML, जो आम तौर पर .xml के रूप में या gzip-कंप्रेस्ड .xml.gz के रूप में उपलब्ध होती है। टाइमस्टैम्प YYYYMMDDHHMMSS और UTC ऑफ़सेट के रूप में होते हैं।

मेरी गाइड लोड तो होती है, लेकिन कुछ दिखाई क्यों नहीं देता?

लगभग हमेशा इसकी वजह यह होती है कि आपकी प्लेलिस्ट की tvg-id वैल्यू गाइड की <channel id> वैल्यू से मेल नहीं खातीं। फ़ाइल ठीक से लोड हुई थी; उससे मिलाने के लिए कुछ था ही नहीं।

मैं कैसे जाँचूँ कि गाइड मेरे स्रोतों को कवर करती है या नहीं?

इसे डाउनलोड करें, ज़रूरत हो तो डीकंप्रेस करें और अपनी किसी tvg-id स्ट्रिंग को खोजें। अगर वह फ़ाइल में नहीं है, तो वह गाइड आपकी सूची का विवरण नहीं देती।

मेरी गाइड फ़ाइल इतनी बड़ी क्यों है?

सैकड़ों स्रोतों के दो हफ़्तों के शेड्यूल वाली राष्ट्रीय गाइड का आकार वास्तव में दसियों या सैकड़ों मेगाबाइट होता है। यह अपेक्षित है और इसी वजह से पहली बार लोड होने में समय लगता है।

क्या मैं XMLTV फ़ाइल संपादित कर सकता हूँ?

हाँ, किसी भी टेक्स्ट एडिटर में। इसे UTF-8 में सेव करें और XML को सही ढंग से फ़ॉर्मैटेड रखें — एक अनएस्केप किया हुआ & पूरी पार्सिंग को विफल कर सकता है।

निष्कर्ष

  • XMLTV में बिल्कुल दो चीज़ें होती हैं: <channel> घोषणाएँ और <programme> एंट्री
  • टाइमस्टैम्प YYYYMMDDHHMMSS + UTC ऑफ़सेट होते हैं — गलत ऑफ़सेट का मतलब है डेटा सही, लेकिन समय गलत।
  • गाइड आपकी प्लेलिस्ट से tvg-id = channel id के आधार पर बिल्कुल सटीक मिलती है। मेल न खाना खाली गाइड की सबसे बड़ी वजह है।
  • दोष देने से पहले जाँच करें: डीकंप्रेस करें, अपनी ID खोजें और तारीख़ की सीमा जाँचें।
  • एक अनएस्केप किया हुआ & पूरी गाइड फ़ाइल को अमान्य कर सकता है।

क्या आपके पास प्लेलिस्ट और गाइड URL है? डाउनलोड करेंTuneline — दोनों जोड़ें और ग्रिड भर जाएगा। मुफ़्त और विज्ञापन-मुक्त।

— सैम एलिस

यह लेख साझा करें

The fast fix

Get Tuneline free

A clean, no-account media player for macOS, Windows, Linux, Android, TV, and iOS. Bring your own playlist.

Download free

The cross-platform media player behind these answers — new platforms, sync updates, the honest build story. No spam, unsubscribe anytime.

यह लेख किसी अन्य भाषा में पढ़ें

Tuneline एक मीडिया प्लेयर एप्लिकेशन है। यह कोई भी कंटेंट न तो उपलब्ध कराता है, न होस्ट करता है, न वितरित करता है। अपनी प्लेलिस्ट आप स्वयं लाते हैं, ठीक वैसे ही जैसे VLC के साथ।