सार्वजनिक IPTV प्लेलिस्ट के लिए XMLTV EPG क्या है और इसे कैसे जोड़ें
IPTV इलेक्ट्रॉनिक प्रोग्राम गाइड (EPG) और XMLTV प्रारूप की कार्यप्रणाली को विस्तार से समझें। जानें कि tvg-id के जरिए M3U प्लेलिस्ट और टीवी गाइड का मिलान कैसे होता है, मिसमैच की समस्याओं को कैसे ठीक करें, और सार्वजनिक EPG डेटा की व्यावहारिक सीमाएं क्या हैं।
स्ट्रीमिंग मीडिया की शुरुआत करने वाले कई उपयोगकर्ताओं को लगता है कि M3U प्लेलिस्ट फ़ाइल प्राप्त कर लेने से पूरी सेटिंग पूरी हो गई। लेकिन जब इसे टीवी बॉक्स या मीडिया प्लेयर एप्लिकेशन में खोला जाता है, तो इंटरफ़ेस पर अक्सर केवल चैनलों के साधारण नामों की एक कतार दिखती है: वर्तमान में कौन सा कार्यक्रम या समाचार आ रहा है यह नहीं दिखता, शो कब समाप्त होगा इसकी जानकारी नहीं होती, और न ही रात के कार्यक्रमों की अनुसूची देखी जा सकती है। ऐसी स्थिति में प्लेलिस्ट केवल इंटरनेट पतों की एक सूखी सूची बनकर रह जाती है।
प्लेयर को पारंपरिक टेलीविज़न जैसा संपूर्ण गाइड इंटरफ़ेस देने के लिए EPG की आवश्यकता होती है। इस लेख में हम तकनीकी दृष्टिकोण से EPG और XMLTV के संबंध, प्लेलिस्ट और प्रोग्राम गाइड को अलग-अलग फ़ाइलों में रखने के कारण, फ़ील्ड्स के जरिए दोनों के मिलान की प्रक्रिया और सार्वजनिक डेटा के उपयोग की सीमाओं का विश्लेषण करेंगे।
प्रोग्राम गाइड के बिना प्लेलिस्ट केवल नामों की एक सूची है
यदि आपने M3U फ़ाइल संरचना विश्लेषण पर हमारा लेख पढ़ा है, तो आप जानते होंगे कि एक मानक M3U फ़ाइल का मूल कार्य केवल एक ही है: लाइव स्ट्रीम पतों और उनके प्राथमिक विवरण टैग्स को सहेजना।
एक संगत प्रोग्राम गाइड के बिना प्लेयर केवल चैनल का नाम और प्लेबैक लिंक ही पढ़ पाता है। रिमोट कंट्रोल से खुलने वाली स्क्रीन केवल एक साधारण चैनल चयन सूची बनकर रह जाती है। लेकिन जैसे ही प्रोग्राम गाइड डेटा जोड़ा जाता है, प्लेयर एक समय-सारणी तैयार कर सकता है: क्षैतिज अक्ष पर समय, लंबवत अक्ष पर चैनल, और प्रत्येक बॉक्स में कार्यक्रम का शीर्षक, आरंभ व समाप्ति समय तथा संक्षिप्त विवरण। उपयोगकर्ताओं को टीवी प्रसारण शेड्यूल दिखाने वाली इसी डेटा प्रणाली को EPG (Electronic Program Guide - इलेक्ट्रॉनिक प्रोग्राम गाइड) कहा जाता है।
पब्लिक IPTV चैनल ऑनलाइन देखें
इस भाषा के लिए तैयार प्लेलिस्ट खोलें और चैनल सीधे M3U8 प्लेयर में टेस्ट करें।
EPG और XMLTV क्या हैं?
EPG इस सुविधा का कार्यात्मक नाम है, जबकि XMLTV इस सुविधा को लागू करने के लिए उपयोग किया जाने वाला सबसे लोकप्रिय खुला डेटा प्रारूप है।
XML नियमों पर आधारित XMLTV को मूल रूप से ओपन-सोर्स सॉफ्टवेयर और विभिन्न ऑपरेटिंग सिस्टम्स के बीच टीवी शेड्यूल डेटा साझा करने के लिए विकसित किया गया था। एक मानक XMLTV दस्तावेज़ में दो मुख्य प्रकार का डेटा होता है:
- चैनल परिभाषा (
channelनोड): यह चैनल का विशिष्ट पहचानकर्ता (id), प्रदर्शित नाम (display-name) और लोगो का पता (icon) घोषित करता है। - कार्यक्रम प्रविष्टि (
programmeनोड): यह प्रसारण समय-सारणी का विवरण रखता है। प्रत्येक प्रविष्टि में संबंधित चैनल की आईडी (channel), प्रारंभ समय (start), समाप्ति समय (stop), कार्यक्रम का शीर्षक (title), और वैकल्पिक विवरण या श्रेणी शामिल होती है।
आधुनिक IPTV प्लेयर्स ऐप शुरू होते ही इस XMLTV फ़ाइल को डाउनलोड और पार्स करते हैं। वे समय को डिवाइस के स्थानीय टाइमज़ोन में बदलते हैं और ग्रिड प्रारूप में एक व्यवस्थित टीवी गाइड प्रदर्शित करते हैं।
इन्हें दो अलग-अलग फ़ाइलों में क्यों विभाजित किया जाता है?
कई लोग पूछते हैं: जब चैनल और कार्यक्रम सूची दोनों की आवश्यकता होती है, तो शेड्यूल को सीधे M3U फ़ाइल में लिखने के बजाय M3U और XMLTV दो स्वतंत्र फ़ाइलों में क्यों रखा जाता है?
यह निर्णय मुख्य रूप से अपडेट की आवृत्ति और डेटा आकार के भारी अंतर के कारण लिया गया है:
- जीवन चक्र में भिन्नता: टीवी चैनलों के स्ट्रीमिंग पते आमतौर पर लंबे समय तक स्थिर रहते हैं। जब तक सर्वर में बदलाव न हो, प्लेलिस्ट बिना बदले हफ्तों या महीनों तक काम कर सकती है। इसके विपरीत, प्रोग्राम गाइड दैनिक आधार पर बदलता है और इसकी वैधता बहुत सीमित होती है; इसे हर कुछ दिनों में या रोज़ाना अपडेट करना पड़ता है।
- डेटा आकार में बड़ा अंतर: दर्जनों सार्वजनिक चैनलों वाली M3U फ़ाइल का आकार कुछ ही किलोबाइट (KB) होता है। लेकिन यदि उन्हीं चैनलों के पूरे सप्ताह का मिनट-दर-मिनट विवरण XMLTV में शामिल किया जाए, तो अनपैक होने के बाद फ़ाइल दर्जनों मेगाबाइट (MB) तक पहुंच सकती है। हर बार चैनल बदलने पर इतनी विशाल फ़ाइल लोड करने से इंटरनेट बैंडविड्थ व्यर्थ होगी और सीमित क्षमता वाले टीवी बॉक्स धीमे पड़ जाएंगे।
ओपन डेटा इकोसिस्टम में भी यही व्यवस्था लागू होती है। उदाहरण के लिए, सार्वजनिक परीक्षण स्ट्रीम्स को एक स्वतंत्र चैनल डायरेक्टरी में बनाए रखा जाता है (आप हमारा सार्वजनिक टीवी चैनल डायरेक्टरी गाइड देख सकते हैं), जबकि वैश्विक टीवी गाइड डेटा एकत्र करने की परियोजना को एक अलग EPG रिपॉजिटरी में प्रबंधित किया जाता है।
इसे कैसे कनेक्ट करें? मिसमैच होने के सामान्य कारण
प्लेलिस्ट प्लेयर को बताती है कि «वीडियो स्ट्रीम कहां से लानी है», और प्रोग्राम गाइड बताता है कि «इस चैनल पर किस समय क्या प्रसारित होना है»। इन दोनों को जोड़ने वाली कड़ी चैनल का विशिष्ट कोड है—जिसे M3U टैग में आमतौर पर tvg-id के रूप में लिखा जाता है।
दोनों के मिलान का मानक तर्क इस प्रकार है:
M3U फ़ाइल की एक पंक्ति चैनल विवरण घोषित करती है:
#EXTINF:-1 tvg-id="CCTV1.cn" tvg-name="CCTV-1" tvg-logo="[原文](https://example.com/logo.png"),CCTV-1 综合
[原文](https://example.com/live/cctv1.m3u8)इसके अनुरूप XMLTV फ़ाइल में परिभाषा मौजूद होती है:
<channel id="CCTV1.cn">
<display-name>CCTV-1</display-name>
</channel>
<programme start="20260908120000 +0800" stop="20260908123000 +0800" channel="CCTV1.cn">
<title lang="zh">新闻30分</title>
</programme>प्लेयर M3U के tvg-id की तुलना XMLTV के channel id से करता है। जब दोनों स्ट्रिंग पूरी तरह समान होती हैं, तो «新闻30分» कार्यक्रम सही रूप से «CCTV-1 综合» चैनल के साथ जुड़ जाता है।
यदि सेटअप के बाद भी गाइड खाली दिखती है या गलत जानकारी प्रदर्शित होती है, तो इसके सामान्य कारण निम्नलिखित हैं:
- tvg-id में केस या वर्णों का अंतर: यदि M3U में
tvg-id="cctv1"लिखा है और XMLTV मेंchannel id="CCTV1.cn"है, तो नाम समान दिखने के बावजूद सटीक मिलान विफल हो जाएगा। - टाइमज़ोन पार्सिंग में विचलन: XMLTV में समय आमतौर पर टाइमज़ोन ऑफ़सेट (जैसे
+0800) के साथ दर्ज होता है। यदि प्लेयर डिवाइस के स्थानीय समय के अनुसार इसकी सही गणना नहीं कर पाता, तो कार्यक्रम कुछ घंटे आगे या पीछे दिखाई देने लगेगा। - डेटा का पुराना होना: सार्वजनिक स्रोतों से प्राप्त EPG का समय सीमित होता है। यदि डेटा इकट्ठा करने वाली स्क्रिप्ट रुक गई हो और फ़ाइल पिछले सप्ताह पर अटकी हो, तो आईडी सही होने पर भी आज के समय के लिए कोई जानकारी नहीं मिलेगी और स्क्रीन खाली दिखेगी।
- XML प्रारूप और एन्कोडिंग त्रुटियां: XML सिंटैक्स अत्यंत सख्त होता है। यदि कोई विशेष वर्ण ठीक से एस्केप न किया गया हो (जैसे अकेला
&चिह्न) या कोई टैग अधूरा रह जाए, तो पूरी फ़ाइल की पार्सिंग बाधित हो जाती है और उसके बाद के सभी चैनलों का डेटा गायब हो जाता है।
हमारी साइट पर प्रोग्राम गाइड की जांच और प्रबंधन कैसे करें
अपनी स्थानीय या सार्वजनिक फ़ाइलों की संरचना को जांचने के लिए आप हमारी वेबसाइट पर उपलब्ध टूल का उपयोग कर सकते हैं:
- XMLTV टेक्स्ट की संरचना जांचना: आप /xmltv-checker/ का उपयोग कर सकते हैं। यह टूल XMLTV टेक्स्ट या यूआरएल को तेज़ी से पार्स करके चैनल आईडी सूची, वैध समय सीमा और शेड्यूल संरचना को प्रदर्शित करता है, जिससे आप पुष्टि कर सकते हैं कि आपकी गाइड वैध और अद्यतित है या नहीं।
- प्लेलिस्ट टैग्स को व्यवस्थित करना: प्लेलिस्ट को अपने डिवाइस में लोड करने से पहले, /m3u-playlist-editor/ के माध्यम से प्रत्येक पंक्ति के
tvg-idकी जांच कर लें ताकि टाइपिंग त्रुटियों से बचा जा सके। वहीं, स्ट्रीमिंग लिंक की कार्यक्षमता परखने के लिए /hls-player/ का उपयोग किया जा सकता है। - सब्सक्रिप्शन और सिंक: /playlist-sync/ वर्कस्पेस में आप अपनी अधिकृत प्लेलिस्ट्स को प्रबंधित कर सकते हैं, EPG लिंक जोड़ सकते हैं और अपने डिवाइस के लिए एक एकीकृत निजी Feed तैयार कर सकते हैं।
विशेष ध्यान दें: कंप्यूटर पर समस्या निवारण करते समय कुछ उपयोगकर्ता जनरेट किए गए निजी Feed या .m3u लिंक को सीधे Chrome ब्राउज़र के एड्रेस बार में पेस्ट कर देते हैं। Google Chrome केवल एक वेब ब्राउज़र है; वह फ़ाइल को सादे टेक्स्ट की तरह डाउनलोड कर लेता है या सीधे वीडियो की तरह चलाने का प्रयास करता है। वह IPTV प्लेयर की तरह संबंधित EPG पते को लोड और प्रोसेस नहीं करता। इसलिए, डेस्कटॉप ब्राउज़र में लिंक खोलना कोई सही EPG टेस्ट नहीं है; इसका परीक्षण हमेशा XMLTV का समर्थन करने वाले समर्पित प्लेयर में ही किया जाना चाहिए।
सार्वजनिक डेटा की वास्तविक सीमाएं
व्यक्तिगत देखने का सेटअप तैयार करते समय सार्वजनिक EPG डेटा की सीमाओं को समझना बहुत आवश्यक है:
- हमारी वेबसाइट का स्वरूप: m3u8-player.net एक तकनीकी उपकरण वेबसाइट है। हमारी साइट पर उपलब्ध /xmltv-checker/ केवल टेक्स्ट संरचना की पुष्टि और जांच के लिए है। यह वेबसाइट कोई टेलीविज़न स्टेशन नहीं है, प्रसारण सेवा प्रदान नहीं करती और न ही टीवी चैनल बेचती है।
- सार्वजनिक स्रोतों की अस्थिरता: इंटरनेट पर सार्वजनिक रूप से साझा किया जाने वाला EPG डेटा अधिकांशतः स्वतंत्र डेवलपर्स द्वारा वेब पेजों से डेटा स्क्रैप करके तैयार किया जाता है। ऐसे स्रोत बिना पूर्व सूचना के बंद हो सकते हैं, उनका प्रारूप बदल सकता है या कुछ विशेष चैनलों का डेटा गायब हो सकता है। हमारी वेबसाइट यह गारंटी नहीं दे सकती कि इंटरनेट के हर सार्वजनिक चैनल का पूरा गाइड डेटा हमेशा उपलब्ध रहेगा।
उपयोगकर्ताओं के लिए सबसे व्यावहारिक तरीका यह है कि वे अपनी सूची को संक्षिप्त रखें: हजारों अनुपयोगी चैनलों को जोड़ने के बजाय, मुख्य चैनलों के tvg-id का सत्यापन करें और एक स्थिर स्रोत से उसका मिलान करें।
निष्कर्ष
IPTV प्लेलिस्ट और प्रोग्राम गाइड का संबंध एक रेडियो उपकरण और अखबार में छपी कार्यक्रम तालिका जैसा है। प्लेलिस्ट प्रसारण मार्ग प्रदान करती है, XMLTV कार्यक्रमों की जानकारी देता है, और tvg-id दोनों को आपस में जोड़ने वाली कड़ी है। जब आप इन दोनों फ़ाइलों के समन्वय को समझ लेते हैं, तो प्लेयर में आने वाली अधिकांश तकनीकी समस्याएं आसानी से हल हो जाती हैं।
यदि आपके पास कोई नई गाइड फ़ाइल है या आपके प्लेयर में शेड्यूल लोड नहीं हो रहा है, तो आप /xmltv-checker/ पर जाकर टेक्स्ट या लिंक पेस्ट कर सकते हैं और उसके प्रारूप तथा चैनल फ़ील्ड्स की तुरंत जांच कर सकते हैं।
स्रोत
- Zhihu उपयोगकर्ता「易三福」: EPG प्लेयर को यह दिखाने में सक्षम बनाता है कि क्या प्रसारित हो रहा है, इसका प्रारूप XMLTV है और यह tvg-id के जरिए मेल खाता है (原文)
- Zhihu उपयोगकर्ता「x1ao4」: M3U और XMLTV दोनों को एक साथ तैयार किया जाना चाहिए; यदि ID मेल नहीं खाती है तो लोगो और प्रोग्राम गाइड प्रदर्शित नहीं होंगे (原文)
- Zhihu उपयोगकर्ता「怪侠说不说」: iptv-org इकोसिस्टम में EPG रिपॉजिटरी और प्लेलिस्ट रिपॉजिटरी का प्रबंधन एक-दूसरे से पूरी तरह स्वतंत्र रूप से किया जाता है (原文)
