Proper EPG Format

by steinerhatesducks

I'm working on building my own 24/7 streaming server for myself and a few of my friends. I can stream all the channels I have setup in any IPTV app but I'm having trouble getting the EPG guides to be accurate. I'm hoping someone can take a look at my xml and see if I'm doing this right. I didn't find a really complete spec for go by so I've cobbled it together from looking at output from other services.

Here is what I've tried:

MyIPTV -- accurately shows the right show at the right time

IPTVSmarters -- doesn't show the channel guide at all.

TiviMate -- shows the channel guide but is showing episodes 13+ hours ahead. I've tried using the offset in the options but didn't line things up enough. Tivimate only has up to a 12 hour offset.

What might be off in my xml that is throwing these apps off? One difference might be is my server is in Europe and I'm on the east coast of the US. What should I be using at my time/date? I did it at my own time with utc offset of +0200.

Thanks for any help someone can give.

m3u8

    #EXTM3U 
    #EXTINF:-1 tvg-id="001"  tvg-chno="001" tvg-name="24/7: Monday Night RAW" tvg-logo="" group-title="24/7 Wrestling",24/7: Monday Night RAW
    http://xxx.xxx.xxx.xxx/001/video.m3u8  
    ### Others....

epg

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE "https://raw.githubusercontent.com/XMLTV/xmltv/master/xmltv.dtd">
<tv>
<channel id="001">
    <display-name>WWE | Monday Night RAW 24/7</display-name>
    <icon src=""></icon>
</channel>
<channel id="002">
    <display-name>WWE | Wrestlemania 24/7</display-name>
    <icon src=""></icon>
</channel>
<channel id="003">
    <display-name>WWE | Royal Rumble 24/7</display-name>
    <icon src=""></icon>
</channel>
<programme channel="001" start="20200817182123 +0000" stop="20200817191110 +0000">
	<title lang="">Monday Night RAW #40</title>
	<desc lang="">Monday Night RAW #40 -- November 15, 1993</desc>
	<icon height="" src="" width=""></icon>
	<video></video>
	<date></date>
	<category lang="en">24/7 Wrestling</category>
	<category lang="en">Series</category>
</programme>
<programme channel="001" start="20200817191110 +0000" stop="20200817195507 +0000">
	<title lang="">Monday Night RAW #41</title>
	<desc lang="">Monday Night RAW #41 -- November 29, 1993</desc>
	<icon height="" src="" width=""></icon>
	<video></video>
	<date></date>
	<category lang="en">24/7 Wrestling</category>
	<category lang="en">Series</category>
</programme>
YeetingAGoose

Someone has done this for you already, try this tool: DizqueTV

deanochips

i wrote my own low resources 247 channel server https://github.com/deanochips/HLS-XMLTV---Home-Broadcasting

the xmltv works on everything i have tried, including enigma2 and tivimate

here is my xmltv, it could be a good guide to follow perhaps...

<tv>
	<channel id="3rdrock.tv">
	<display-name lang="en">3rdrock.tv</display-name>
</channel>
<programme channel="3rdrock.tv" start="20200815221915 +0000" stop="20200815224058 +0000">
	<title lang="en">Brains and Eggs</title>
	<sub-title lang="en">S01E01 Brains and Eggs</sub-title>
	<desc lang="en">Aliens have landed&#8230;in suburbia! To investigate Earth, four inter-planetary explorers are posing as a "normal" American family. But what's normal to us, things like emotions, politics, and zoos, are shockingly alien to them. Through their innocence, irreverence and disarming honesty, we realize they've landed on the most bizarre planet of all - ours!
</desc>
</programme>
<programme channel="3rdrock.tv" start="20200815224058 +0000" stop="20200815230220 +0000">
	<title lang="en">S01E02 Post Nasal Dick</title>
	<sub-title lang="en">S01E02 Post Nasal Dick</sub-title>
	<desc lang="en">S01E02 Post Nasal Dick</desc>
</programme>
<programme channel="3rdrock.tv" start="20200815230220 +0000" stop="20200815232404 +0000">
	<title lang="en">Dick's First Birthday</title>
	<sub-title lang="en">S01E03 Dick's First Birthday</sub-title>
	<desc lang="en">Dick discovers that normal Earthlings have birthdays, then he realizes he is getting old and tries to act younger</desc>
</programme>
<programme channel="3rdrock.tv" start="20200815232404 +0000" stop="20200815234550 +0000">
	<title lang="en">Dick is from Mars, Sally is from Venus</title>
	<sub-title lang="en">S01E04 Dick Is From Mars, Sally Is From Venus</sub-title>
	<desc lang="en">Sally goes on a date and does not understand the signals her date is sending.
</desc>
</programme>  
</tv>

depending on what language you code is in you can overwrite the timezone for the duration of your script, that way all your timezones would match