คู่มือ EPG IPTV: วิธีเพิ่มผังรายการ XMLTV ให้เพลย์ลิสต์ M3U

EPG (ผังรายการทีวีอิเล็กทรอนิกส์) บอกว่าแต่ละช่องกำลังฉายอะไรและรายการถัดไปคืออะไร คู่มือนี้อธิบายว่าเพลย์ลิสต์ IPTV เชื่อมกับผังรายการ XMLTV อย่างไร ผังรายการมาจากไหน และวิธีแก้เมื่อผังรายการไม่แสดง

EPG คืออะไร

EPG (ผังรายการทีวีอิเล็กทรอนิกส์) คือตารางรายการทีวีของช่องต่าง ๆ ของคุณ ทั้งรายการที่กำลังฉาย รายการถัดไป และตารางออกอากาศในอีกหลายชั่วโมงข้างหน้า เครื่องเล่น IPTV แทบทั้งหมดอ่านผังรายการในรูปแบบ XMLTV ซึ่งเป็นไฟล์ XML ธรรมดาที่มีข้อมูลสองประเภท:

  • รายการ <channel id="…"> ที่ระบุชื่อแต่ละช่องในผังรายการ
  • รายการ <programme start="…" stop="…" channel="…"> ที่มีชื่อรายการ คำอธิบาย และเวลาเริ่มกับเวลาจบของแต่ละรายการ

ผังรายการของช่องหลายร้อยช่องมีขนาดใหญ่ จึงมักให้บริการแบบบีบอัดเป็น .xml.gz

เพลย์ลิสต์ M3U เชื่อมกับผังรายการอย่างไร

เพลย์ลิสต์และผังรายการเป็นไฟล์สองไฟล์ที่แยกกัน ทั้งสองเชื่อมกันในสองจุด:

  1. ส่วนหัวของเพลย์ลิสต์ ระบุผังรายการด้วย url-tvg (ผู้ให้บริการบางรายเขียนเป็น x-tvg-url) ระบุได้หลายผังรายการโดยคั่นด้วยเครื่องหมายจุลภาค
  2. แต่ละช่อง มี tvg-id ที่ต้องตรงกับ <channel id> ในผังรายการ เครื่องเล่นจึงรู้ว่ารายการไหนเป็นของช่องไหน
#EXTM3U url-tvg="https://example.com/guide.xml.gz"
#EXTINF:-1 tvg-id="NewsChannel.us" tvg-logo="https://example.com/news.png" group-title="News",News Channel
https://example.com/live/news/index.m3u8

ถ้าไม่มี tvg-id หรือสะกดไม่ตรงกับในผังรายการ ช่องนั้นยังเล่นได้ แต่จะไม่แสดงข้อมูลรายการ

URL ของ EPG มาจากไหน

  • ผู้ให้บริการ IPTV ของคุณ บริการแบบเสียเงินส่วนใหญ่จะเผยแพร่ URL ของผังรายการไว้คู่กับลิงก์เพลย์ลิสต์ หรือใส่ไว้ในส่วนหัวของเพลย์ลิสต์อยู่แล้ว
  • ผังรายการจากชุมชนสำหรับช่องสาธารณะ โครงการโอเพนซอร์สอย่าง iptv-org/epg รวบรวมผังรายการของช่องฟรีทีวี (free-to-air) และช่อง FAST หน้าช่องของ Doubo เองแสดงตารางรายการจาก i.mjh.nz ซึ่งเผยแพร่ผังรายการของบริการสตรีมมิงฟรี
  • เพลย์ลิสต์สาธารณะที่ระบุผังรายการไว้ เพลย์ลิสต์ Free-TV และ iptv-org ในหน้า เพลย์ลิสต์สาธารณะ มีบรรทัด x-tvg-url อยู่แล้ว ผังรายการจึงโหลดขึ้นมาโดยไม่ต้องตั้งค่าใด ๆ

การใช้ EPG ใน Doubo

Doubo อ่านผังรายการที่ระบุไว้ในเพลย์ลิสต์ของคุณโดยอัตโนมัติ ไม่ต้องตั้งค่าอะไรเลย:

  1. นำเข้าลิงก์หรือไฟล์ M3U / M3U8 ที่ส่วนหัวมี url-tvg, x-tvg-url หรือ tvg-url
  2. Doubo ดาวน์โหลดผังรายการ XMLTV (แบบธรรมดาหรือบีบอัดด้วย gzip) จับคู่ช่องตาม tvg-id และเก็บแคชไว้หกชั่วโมง
  3. เปิดช่อง หน้าเครื่องเล่นจะแสดงรายการที่กำลังฉายและรายการที่ตามมา เมื่อเพลย์ลิสต์ระบุการดูย้อนหลัง (catch-up) ไว้ด้วย คุณก็เล่นรายการที่ผ่านไปแล้วซ้ำได้จากผังรายการ

ดูคู่มือการตั้งค่าสำหรับขั้นตอนการนำเข้าเพลย์ลิสต์ทีละขั้น

แก้ปัญหาผังรายการไม่แสดง

  • ไม่มีผังรายการเลย: เปิดเพลย์ลิสต์ด้วยโปรแกรมแก้ไขข้อความ แล้วหา url-tvg ในบรรทัดแรก ถ้าไม่มี ให้ขอ URL ของผังรายการจากผู้ให้บริการ
  • บางช่องไม่มีข้อมูล: เทียบ tvg-id ของช่องเหล่านั้นกับ id ของช่องในผังรายการ เครื่องมือ M3U จะแสดงว่ามีกี่รายการที่มี tvg-id
  • เวลาเลื่อน: ค่าชดเชยเขตเวลาของผังรายการไม่ถูกต้องสำหรับช่องนั้น ให้ใช้ผังรายการจากแหล่งอื่น
  • ผังรายการโหลดช้า: ผังรายการที่ใหญ่มากจะใช้เวลาสักพักในการโหลดครั้งแรก ควรเลือกผังรายการแบบ .xml.gz หรือผังรายการที่ครอบคลุมเฉพาะประเทศที่คุณดู

คำถามที่พบบ่อย

URL ของ EPG คืออะไร?

คือที่อยู่ของไฟล์ XMLTV (มักลงท้ายด้วย .xml หรือ .xml.gz) ที่รวบรวมรายการของหลายช่องไว้ เพลย์ลิสต์จะชี้ไปยังไฟล์นี้ด้วย url-tvg หรือ x-tvg-url ในบรรทัดแรก แล้วเครื่องเล่นจะดาวน์โหลดมาแสดงเป็นผังรายการ

ทำไมเพลย์ลิสต์ของฉันไม่แสดงผังรายการ?

ส่วนใหญ่เป็นเพราะเพลย์ลิสต์ไม่มีบรรทัด url-tvg / x-tvg-url, URL ของผังรายการใช้งานไม่ได้แล้ว หรือช่องต่าง ๆ ไม่มี tvg-id ที่ตรงกับ id ของช่องในผังรายการ ให้ตรวจสามข้อนี้ก่อน

ทำไมเวลาในผังรายการไม่ตรง?

เวลาใน XMLTV มีค่าชดเชยเขตเวลากำกับไว้ เช่น +0000 หรือ +0800 และเครื่องเล่นจะแปลงเป็นเวลาท้องถิ่นของคุณ ถ้าทุกรายการคลาดเคลื่อนเป็นจำนวนชั่วโมงเท่ากัน แสดงว่าไฟล์ผังรายการเองระบุค่าชดเชยผิด ลองใช้ผังรายการแหล่งอื่นสำหรับช่องนั้น

EPG ฟรีไหม?

หลายแหล่งฟรี ผู้ให้บริการ IPTV มักให้ผังรายการมาพร้อมกับแพ็กเกจที่สมัคร และโครงการของชุมชนก็เผยแพร่ผังรายการฟรีสำหรับช่องสาธารณะ ผังรายการเป็นเพียงข้อมูลรายการ ไม่ได้ทำให้คุณเข้าถึงช่องใด ๆ ได้