Education·8 min

লিখেছেন Shamir

EPG কী? IPTV টিভি গাইডের ব্যাখ্যা (XMLTV, এখন/পরবর্তী এবং এটি কীভাবে কাজ করে)

আপনি যখন কোনো IPTV প্লেয়ার খুলে শুধু চ্যানেলের নামের তালিকা নয়, একটি পূর্ণ গ্রিড দেখেন—"BBC One: News at Ten ২২:৩০ পর্যন্ত, এরপর Match of the Day"—তখন আপনি EPG দেখছেন: Electronic Program Guide। এটিই এমন প্লেয়ারের পার্থক্য, যা শুধু URL-এর স্তূপ মনে হয়, আর এমন প্লেয়ারের সঙ্গে, যা সত্যিকারের টেলিভিশনের মতো অনুভূতি দেয়।

EPG-ও IPTV-এর সবচেয়ে বেশি ভুল-বোঝাবুঝির বিষয়গুলোর একটি। অনেকে মনে করেন এটি চ্যানেলগুলোর একই উৎস থেকে আসে (আসলে আসে না), এটি তৈরি করা প্লেয়ারের কাজ (আসলে তা নয়), এবং গাইড ফাঁকা মানেই অ্যাপ নষ্ট (সাধারণত তা নয়)। এই পোস্টটি সহজ ভাষায় লেখা ব্যাখ্যা—আমাদের EPG সমস্যা সমাধানের গাইড-এর শিক্ষামূলক সহায়ক এবং what is Stalker Portal and M3U vs Xtream vs Stalker-এর সহগামী লেখা।

স্ক্রিনশট: Tuneline-এর EPG গ্রিডে এখন/পরবর্তী অনুষ্ঠানের ব্লক

এক বাক্যে EPG

EPG হলো একটি আলাদা ডেটা ফাইল, যেখানে প্রতিটি চ্যানেলে কখন কী চলছে তার তালিকা থাকে; আপনার প্লেয়ার সেই তথ্য চ্যানেল তালিকার ওপর বসিয়ে টিভি গাইড তৈরি করে।

মূল ধারণাটি এতটুকুই। চ্যানেল হলো এক জিনিস (আপনার M3U প্লেলিস্ট বা Xtream অ্যাকাউন্ট)। অনুষ্ঠানসূচি হলো অন্য জিনিস (একটি EPG ফাইল)। এগুলো মিলিয়ে দেওয়াই প্লেয়ারের কাজ।

EPG-এর ডেটা আসলে কোথা থেকে আসে

EPG ডেটার стандарт ফরম্যাট হলো XMLTV—একটি XML ফাইল (প্রায়ই gzip-সংকুচিত, যার শেষে .xml বা .xml.gz থাকে), যাতে দুই ধরনের এন্ট্রি থাকে:

  1. চ্যানেল সংজ্ঞা — গাইডে থাকা প্রতিটি চ্যানেল, যার একটি অনন্য ID থাকে, যেমন bbc-one.uk বা ESPN.us
  2. প্রোগ্রাম এন্ট্রি — প্রতিটি চ্যানেল ID-এর জন্য শুরু ও শেষের সময়, শিরোনাম এবং সাধারণত বিবরণ, বিভাগ ও পর্বের তথ্যসহ প্রোগ্রামের তালিকা।

XML-এর ভেতরে একটি প্রোগ্রাম এন্ট্রি মোটামুটি এমন দেখায়:

<programme start="20260611190000 +0000" stop="20260611210000 +0000" channel="bbc-one.uk">
  <title>FIFA World Cup 2026: Opening Match</title>
  <desc>Live coverage of the tournament opener.</desc>
  <category>Sport</category>
</programme>

এই ফাইলটি কোথা থেকে আসে? আপনার প্রোভাইডারের ধরন অনুযায়ী, দুটি জায়গার এক জায়গা থেকে:

  • Xtream Codes প্রোভাইডাররা স্বয়ংক্রিয়ভাবে নিজেদের EPG প্রকাশ করে। আপনার অ্যাকাউন্টে একটি বিল্ট-ইন EPG এন্ডপয়েন্ট (xmltv.php URL) থাকে, আর ভালো কোনো প্লেয়ার আপনার কিছু না করেই সেটি খুঁজে নিয়ে সংগ্রহ করে। এটিই সহজ পরিস্থিতি।
  • সাধারণ M3U প্রোভাইডাররা আলাদা একটি XMLTV URL দিতে পারে, যা আপনাকে পেস্ট করতে হবে; আবার কোনো URL নাও দিতে পারে। URL দিলে একবার প্লেয়ারে পেস্ট করলেই হয়। না দিলে তৃতীয় পক্ষের XMLTV উৎস ব্যবহার করতে পারেন—তবে সেটিকে আপনার চ্যানেলগুলোর সঙ্গে মেলানো কঠিন (এ বিষয়ে পরে বলা হয়েছে)।

মনে রাখার মতো মূল বিষয়: EPG আপনার প্রোভাইডার (অথবা তৃতীয় পক্ষ) প্রকাশ করে, প্লেয়ার এটি তৈরি করে না। আপনার প্রোভাইডার গাইডের ডেটা প্রকাশ না করলে পৃথিবীর কোনো প্লেয়ারই তা বানিয়ে দিতে পারবে না।

প্লেয়ার কীভাবে চ্যানেলকে তার তালিকার সঙ্গে মিলিয়ে নেয়

বেশিরভাগ EPG-সংক্রান্ত বিভ্রান্তির মূল কারণ এখানেই। প্লেয়ারের কাছে দুটি আলাদা ডেটাসেট থাকে—আপনার চ্যানেল তালিকা এবং XMLTV গাইড—এবং কোন প্রোগ্রাম এন্ট্রি কোন চ্যানেলের, তা তাকে বের করতে হয়। এটি একটি শনাক্তকারী মিলিয়ে কাজটি করে।

আপনার M3U প্লেলিস্টে প্রতিটি চ্যানেল লাইনে সাধারণত একটি tvg-id অ্যাট্রিবিউট থাকে:

#EXTINF:-1 tvg-id="bbc-one.uk" tvg-name="BBC One HD" group-title="UK",BBC One HD

প্লেয়ার tvg-id="bbc-one.uk" দেখে, এরপর XMLTV ফাইলে একটি <channel id="bbc-one.uk"> এবং সংশ্লিষ্ট সব <programme channel="bbc-one.uk"> এন্ট্রি খোঁজে। ID মিলে গেলে তালিকাগুলো চ্যানেলের সঙ্গে যুক্ত হয়ে যায়। মিল না হলে—অথবা tvg-id না থাকলে—চ্যানেলটি কোনো গাইড ডেটা ছাড়াই দেখা যায়, যদিও EPG ফাইল ঠিকমতো লোড হয়েছে এবং অন্য চ্যানেলগুলোতে তথ্য রয়েছে।

এই অমিলই সবচেয়ে সাধারণ EPG অভিযোগ, এবং প্রায় সব সময় এটি প্লেয়ারের বাগ নয়, বরং প্রোভাইডারের ডেটার সমস্যা:

  • M3U-এ tvg-id="bbcone" আছে, কিন্তু XMLTV-এ bbc-one.uk ব্যবহার করা হয়েছে → মিল হবে না।
  • M3U-এ কোনো tvg-id-ই নেই → মিলানোর মতো কিছু নেই।
  • প্রোভাইডারের M3U ও XMLTV আলাদা ব্যক্তিরা রক্ষণাবেক্ষণ করেন, যারা কখনও ID নিয়ে একমত হননি।

ডায়াগ্রাম: tvg-id কীভাবে একটি M3U চ্যানেলকে তার XMLTV তালিকার সঙ্গে মিলিয়ে দেয়

"এখন / পরবর্তী" বনাম পূর্ণ গ্রিড

EPG ডেটা যেকোনো ভালো প্লেয়ারে দেখা যায় এমন দুটি ভিউ চালায়:

  • এখন / পরবর্তী — সংক্ষিপ্ত রূপ। আপনি কোনো চ্যানেল দেখার সময় প্লেয়ারটি বর্তমান অনুষ্ঠান এবং পরবর্তী অনুষ্ঠানটি দেখায়; সাধারণত বর্তমান অনুষ্ঠানটি কতদূর এগিয়েছে, তা বোঝাতে একটি প্রগ্রেস বারও থাকে। এটিই সবচেয়ে বেশি ব্যবহৃত EPG ফিচার; এর মাধ্যমেই বোঝা যায়, "আপনি ম্যাচের ৬০তম মিনিটে এসে যোগ দিয়েছেন।"
  • গাইড / গ্রিড — পূর্ণ দ্বিমাত্রিক ভিউ। এক অক্ষে চ্যানেল, অন্য অক্ষে সময়, আর প্রতিটি ঘরে একটি প্রোগ্রাম ব্লক। এভাবেই আপনি "আজ রাতে কী আছে" দেখতে এবং সন্ধ্যার পরিকল্পনা করতে পারেন।

দুটিই একই XMLTV ডেটা থেকে তৈরি। গ্রিড শুধু একসঙ্গে এর বেশি অংশ দেখায়।

সময় অঞ্চল: আপনার গাইড কয়েক ঘণ্টা এগিয়ে বা পিছিয়ে থাকতে পারে কেন

একটি সূক্ষ্ম কিন্তু সাধারণ সমস্যা: XMLTV-এর সময়ে UTC অফসেট থাকে (উপরের উদাহরণের +0000)। আপনার প্লেয়ার সেগুলোকে স্থানীয় সময়ে রূপান্তর করে। গাইডে অনুষ্ঠান ভুল সময়ে দেখালে—সবকিছু ১, ৫ বা ৮ ঘণ্টা এগিয়ে বা পিছিয়ে থাকলে—প্রায় সব সময় এর একটি কারণ থাকে:

  • প্রোভাইডার ভুল অফসেটে সময় প্রকাশ করেছে (যেমন, ব্রিটিশ সামার টাইমে অনুষ্ঠানসূচি আসলে যুক্তরাজ্যের স্থানীয় সময় হওয়া সত্ত্বেও সবকিছুকে +0000 হিসেবে ট্যাগ করেছে)।
  • আপনার ডিভাইসের সময় অঞ্চল ভুলভাবে সেট করা আছে।
  • প্রোভাইডারের EPG আপনি যে চ্যানেলগুলো দেখছেন, সেগুলোর চেয়ে ভিন্ন অঞ্চলের জন্য।

ভালো কোনো প্লেয়ারে প্রতি প্লেলিস্টে ম্যানুয়ালি EPG সময়ের অফসেট সেট করে ধারাবাহিকভাবে এগিয়ে বা পিছিয়ে থাকা গাইড ঠিক করা যায়। শুধু কিছু চ্যানেল এগিয়ে বা পিছিয়ে থাকলে, প্রোভাইডার বিভিন্ন অঞ্চলের ফিড মিশিয়ে দিচ্ছে—সেক্ষেত্রে একটি সামগ্রিক অফসেট দিয়ে পরিষ্কারভাবে সমস্যাটি ঠিক হবে না।

EPG কীভাবে রিমাইন্ডার ও ক্যাচ-আপ চালায়

EPG শুধু ব্রাউজ করার জন্য নয়। দুটি ফিচার এর ওপর নির্ভর করে:

  • প্রোগ্রাম রিমাইন্ডার। গাইড জানে কোনো অনুষ্ঠান ১৯:০০টায় শুরু হবে, তাই প্লেয়ার শুরু হওয়ার ঠিক আগে আপনাকে জানাতে পারে। গ্রিডে ভবিষ্যতের কোনো অনুষ্ঠানের জন্য রিমাইন্ডার সেট করলে, শুরু হওয়ার সময় ঘনিয়ে এলে প্লেয়ার আপনাকে মনে করিয়ে দেয়।
  • ক্যাচ-আপ / টাইম-শিফট। প্রোভাইডার-সাইড ক্যাচ-আপ প্রতিটি অতীত অনুষ্ঠানের সীমানা জানতে EPG ব্যবহার করে, তাই "১৮:০০টার খবরের শুরুতে ফিরে যাও"—এটি কাজ করে। নির্ভুল EPG ছাড়া ক্যাচ-আপ অনুষ্ঠানের সীমানা খুঁজে পায় না। আমাদের ক্যাচ-আপ টিভি ব্যাখ্যাটি দেখুন

তাই নির্ভুল EPG শুধু সুন্দর গ্রিডের জন্য নয়—এটি রিমাইন্ডার ও রিওয়াইন্ডেরও ভিত্তি।

Tuneline কীভাবে EPG পরিচালনা করে

Tuneline-এ পুরো প্রক্রিয়াটি এমনভাবে তৈরি করা হয়েছে, যাতে ম্যানুয়াল কাজ যতটা সম্ভব কম লাগে:

  • Xtream Codes অ্যাকাউন্ট: EPG প্রথম সিঙ্কের সময় স্বয়ংক্রিয়ভাবে খুঁজে নিয়ে সংগ্রহ করা হয়। আপনাকে কিছুই করতে হবে না—গাইড খুললেই এটি দেখা যাবে (প্রোভাইডার এটি প্রকাশ করলে)।
  • M3U প্লেলিস্ট: আপনার প্রোভাইডার XMLTV URL দিলে, প্লেলিস্ট যোগ করার সময় সেটি পেস্ট করুন। Tuneline এটি সংগ্রহ করে ক্যাশে রাখবে এবং নির্দিষ্ট সময় পরপর রিফ্রেশ করবে।
  • মিল খোঁজা: Tuneline প্রথমে tvg-id দিয়ে মিল খোঁজে, এরপর tvg-id না থাকা চ্যানেলগুলোর ক্ষেত্রে অস্পষ্ট নাম-মিল ব্যবহার করে—যদি চ্যানেলের নাম কোনো XMLTV চ্যানেলের নামের সঙ্গে যথেষ্ট মিলে যায়। এর ফলে এমন কিছু গাইড ডেটা উদ্ধার করা যায়, যা শুধু কঠোর ID-নির্ভর প্লেয়ারে ফাঁকা থেকে যেত।
  • সময় অফসেট: Settings → EPG → Time Offset থেকে প্রতি প্লেলিস্টে ধারাবাহিকভাবে এগিয়ে বা পিছিয়ে থাকা গাইডকে ঠিক জায়গায় আনা যায়।
  • রিফ্রেশ: গাইড স্থানীয়ভাবে ক্যাশে রাখা হয় এবং নির্দিষ্ট সময়সূচি অনুযায়ী রিফ্রেশ হয়, তাই প্রতিবার নেটওয়ার্ক থেকে ডেটা আনার জন্য অপেক্ষা না করে গ্রিড সঙ্গে সঙ্গে খোলে।

আপনার গাইড ফাঁকা বা আংশিক হলে, EPG সমস্যা সমাধানের গাইড ধাপে ধাপে সমাধানগুলো দেখায়।

প্রায়শই জিজ্ঞাসিত প্রশ্ন

টিভিতে EPG কী?

EPG-এর পূর্ণরূপ Electronic Program Guide—পর্দায় দেখা এমন একটি অনুষ্ঠানসূচি, যেখানে এখন কী চলছে এবং এরপর কী আসছে তা দেখানো হয়। যেকোনো টেলিভিশনে ধারণাটি একই; শুধু সরবরাহের পদ্ধতি আলাদা। কেবল, স্যাটেলাইট ও টেরেস্ট্রিয়াল টিভিতে গাইডটি সম্প্রচার সংকেতের মধ্যেই থাকে, তাই এটি সব সময় স্বাভাবিকভাবেই পাওয়া যায়। IPTV-তে এটি বহন করার মতো কোনো সম্প্রচার সংকেত নেই, তাই গাইডটি একটি আলাদা XMLTV ফাইল, যা আপনার প্লেয়ার সংগ্রহ করে চ্যানেলগুলোর সঙ্গে মিলিয়ে নেয়।

এই পার্থক্যই IPTV-এর সবচেয়ে সাধারণ অভিযোগটি ব্যাখ্যা করে: চ্যানেল ঠিকমতো চললেও গাইড ফাঁকা থাকে। কেবল বক্সে এই সংমিশ্রণ অসম্ভব। IPTV-তে এর অর্থ হলো অনুষ্ঠানসূচির ফাইলটি নেই, অথবা এর চ্যানেল ID-গুলো চ্যানেলগুলোর সঙ্গে মেলে না।

EPG কি চ্যানেলগুলোরই একই জিনিস?

না। চ্যানেল আসে আপনার M3U প্লেলিস্ট বা Xtream অ্যাকাউন্ট থেকে। EPG (সময়সূচি) একটি আলাদা XMLTV ফাইল। প্লেয়ার দুটিকে মিলিয়ে দেয়। কোনো প্রোভাইডার আপনাকে দারুণ চ্যানেল দিতে পারে, কিন্তু EPG নাও দিতে পারে—আবার উল্টোটাও হতে পারে।

আমার কিছু চ্যানেলে গাইড দেখায়, আর অন্যগুলো ফাঁকা কেন?

কারণ ফাঁকা চ্যানেলগুলোর tvg-id-এর সঙ্গে XMLTV ফাইলের কোনো কিছুর মিল নেই (অথবা একেবারেই tvg-id নেই)। EPG ঠিকমতো লোড হয়েছে—শুধু নির্দিষ্ট ওই চ্যানেলগুলোর সঙ্গে যুক্ত করার মতো কোনো তথ্য নেই। এটি প্রোভাইডারের ডেটার সমস্যা, প্লেয়ারের ত্রুটি নয়।

আমার প্রোভাইডারের নিজস্ব EPG উৎস না থাকলে কি আমি নিজের উৎস যোগ করতে পারি?

হ্যাঁ—আপনি তৃতীয় পক্ষের XMLTV URL পেস্ট করতে পারেন। সমস্যা হলো, সাধারণ EPG উৎস নিজস্ব চ্যানেল আইডি ব্যবহার করে, যা আপনার প্রোভাইডারের tvg-id মানের সঙ্গে মেলে না। তাই আইডিগুলো কাকতালীয়ভাবে মিলে না গেলে বেশিরভাগ চ্যানেল ফাঁকাই থাকবে। মানসম্মত আইডি ব্যবহার করা পরিচিত চ্যানেলগুলোর ক্ষেত্রে এটি সবচেয়ে ভালো কাজ করে।

EPG কত ঘন ঘন আপডেট হয়?

প্রোভাইডাররা সাধারণত চলমান সময়সীমার তালিকা প্রকাশ করে—প্রায়ই “এখন থেকে পরবর্তী ৩–৭ দিন”। প্লেয়ার এগুলো ক্যাশ করে এবং নির্দিষ্ট সময়সূচি অনুযায়ী আবার সংগ্রহ করে (Tuneline পর্যায়ক্রমে এবং ম্যানুয়ালি টেনে রিফ্রেশ করলে আপডেট হয়)। প্রকাশিত সময়সীমার পরের অংশে গ্রিডে স্বাভাবিকভাবেই কোনো ডেটা থাকে না।

আমার পুরো গাইড কয়েক ঘণ্টা এগিয়ে বা পিছিয়ে আছে। কীভাবে ঠিক করব?

এটি ঠিক করতে একটি EPG সময়ের অফসেট প্রয়োগ করুন (Tuneline-এ Settings → EPG → Time Offset)। প্রথমে নিশ্চিত করুন, আপনার ডিভাইসের টাইম জোন সঠিক আছে। যদি শুধু কিছু চ্যানেলে সময় ভুল থাকে, তাহলে প্রোভাইডার বিভিন্ন অঞ্চলের ফিড মিশিয়ে দিচ্ছে—সেক্ষেত্রে একটি বৈশ্বিক অফসেট সবগুলো ঠিক করবে না।

EPG কি অনেক ডেটা ব্যবহার করে?

না। কয়েক শ চ্যানেলের এক সপ্তাহের তালিকা-সহ একটি XMLTV ফাইল সাধারণত সংকুচিত অবস্থায় কয়েক এমবি হয়—এক মিনিটের ভিডিওর তুলনায় যা একেবারেই নগণ্য। IPTV-র খরচের দিক থেকে এটি অনেক সস্তা।

নতুন প্লেলিস্ট যোগ করার সঙ্গে সঙ্গেই গাইড ফাঁকা দেখায় কেন?

প্রথম EPG ফেচ ব্যাকগ্রাউন্ডে হয় এবং বড় গাইডের ক্ষেত্রে কয়েক সেকেন্ড থেকে এক মিনিট পর্যন্ত সময় লাগতে পারে। একটু অপেক্ষা করে তারপর টেনে রিফ্রেশ করুন। এক মিনিট পরও ফাঁকা থাকলে সমস্যা সমাধানের গাইড দেখুন।

EPG এবং XMLTV-এর মধ্যে পার্থক্য কী?

EPG হলো ধারণাটি (স্ক্রিনে দেখা প্রোগ্রাম গাইড)। XMLTV হলো সেই ডেটা বহনকারী ফাইল ফরম্যাট। মানুষ কথ্যভাবে শব্দগুলো ঢিলেঢালাভাবে ব্যবহার করে—“আমার EPG” বলতে সাধারণত “আমার XMLTV ফাইল” বোঝায়। এ ছাড়া JSON-ভিত্তিক একটি EPG আছে, যা কিছু Xtream প্যানেল সরবরাহ করে; তবে XMLTV-ই সর্বজনীন মান।


মূল কথা

EPG চ্যানেলের একটি তালিকাকে টেলিভিশনে রূপ দেয়। এটি একটি আলাদা XMLTV ফাইল—আপনার প্রোভাইডার প্রকাশ করে, প্লেয়ার তৈরি করে না—যেটিকে প্লেয়ার tvg-id ফিল্ড ব্যবহার করে আপনার চ্যানেলগুলোর সঙ্গে মিলিয়ে নেয়, তারপর Now/Next এবং পূর্ণ গ্রিড হিসেবে দেখায়। তালিকা অনুপস্থিত বা ভুল হলে, কারণ প্রায় সবসময়ই প্রোভাইডারের ডেটা (অমিল আইডি, অনুপস্থিত আইডি, ভুল টাইম জোন), অ্যাপ নয়।

Tuneline Xtream অ্যাকাউন্টের জন্য স্বয়ংক্রিয়ভাবে EPG খুঁজে নেয়, M3U প্লেলিস্টের জন্য একটি XMLTV URL গ্রহণ করে, tvg-id ব্যবহার করে—নাম-ভিত্তিক বিকল্প মিলসহ—চ্যানেল মেলায়, এবং প্রতি প্লেলিস্টে সময়ের অফসেট দিয়ে এগিয়ে বা পিছিয়ে থাকা গাইড ঠিক করতে দেয়। ফলে প্রোভাইডারের ডেটা যতটা সম্পূর্ণ, গাইডও ততটাই সম্পূর্ণ হয়।

স্ক্রিনশট: Tuneline-এর Now/Next ওভারলে, সঙ্গে প্রোগ্রামের অগ্রগতি বার

আর্টিকেলটি শেয়ার করুন

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-তে করেন।