tellytv / telly

An IPTV proxy
MIT License
769 stars 107 forks source link

[BUG]: Telly doesn't appear to parse epg.best's EPG XML correctly #291

Open samip5 opened 1 year ago

samip5 commented 1 year ago

telly release with the issue:

telly, version 1.1.0.8 (branch: dev, revision: 96424a4719f33de9c1b66d8d2186e0452e45a234)
  build user:       root@7abd9a6a6502
  build date:       20200704-05:23:36
  go version:       go1.12.17

Last working telly release (if known):

N/A

Operating environment (Docker/Windows/Linux/QNAP, etc.):

Ubuntu 22.04, installed go via apt

Description of problem:

Contents of telly.config.toml [if you're using a version above 1.1]:

[Discovery]
Device-Auth = "telly123"
Device-ID = 12345678
Device-UUID = ""
Device-Firmware-Name = "hdhomeruntc_atsc"
Device-Firmware-Version = "20150826"
Device-Friendly-Name = "telly"
Device-Manufacturer = "Silicondust"
Device-Model-Number = "HDTC-2US"
SSDP = true

[IPTV]
Streams = 2
Starting-Channel = 10000
XMLTV-Channels = true
#FFMpeg = true

[Log]
Level = "debug"
Requests = true

[Web]
Base-Address = "192.168.2.10:6077"
Listen-Address = "0.0.0.0:6077"

[[Source]]
Name = ""
Provider = "Custom"
M3U = "http://192.168.2.10:9981/playlist/channels"
#EPG = "http://192.168.2.10:9981/xmltv/channels"
EPG = "/opt/telly/epg-best.xml"
#CacheFiles = true

##Filter = "YOUR_FILTER_REGULAR_EXPRESSION"
##FilterKey = "group-title"
##FilterRaw = false
##Sort = "group-title"

telly log:

INFO[2023-01-18T10:46:47Z] telly is preparing to go live (version=1.1.0.8, branch=dev, revision=96424a4719f33de9c1b66d8d2186e0452e45a234) 
DEBU[2023-01-18T10:46:47Z] Build context (go=go1.12.17, user=root@7abd9a6a6502, date=20200704-05:23:36) 
DEBU[2023-01-18T10:46:47Z] Loaded configuration {
    "config": {
        "file": ""
    },
    "discovery": {
        "device-auth": "telly123",
        "device-firmware-name": "hdhomeruntc_atsc",
        "device-firmware-version": "20150826",
        "device-friendly-name": "telly",
        "device-id": 12345678,
        "device-manufacturer": "Silicondust",
        "device-model-number": "HDTC-2US",
        "device-uuid": "12345678-AE2A-4E54-BBC9-33AF7D5D6A92",
        "ssdp": true
    },
    "filter": {
        "regex": ".*",
        "regex-inclusive": false
    },
    "iptv": {
        "playlist": "",
        "starting-channel": 10000,
        "streams": 2,
        "xmltv-channels": true
    },
    "log": {
        "level": "debug",
        "requests": true
    },
    "source": [
        {
            "EPG": "/opt/telly/epg-best.xml",
            "M3U": "http://192.168.2.10:9981/playlist/channels",
            "Name": "",
            "Provider": "Custom"
        }
    ],
    "version": false,
    "web": {
        "base-address": "192.168.2.10:6077",
        "listen-address": "0.0.0.0:6077"
    }
} 
INFO[2023-01-18T10:46:47Z] Loading M3U from http://192.168.2.10:9981/playlist/channels 
INFO[2023-01-18T10:46:47Z] Loading XMLTV from /opt/telly/epg-best.xml 
DEBU[2023-01-18T10:46:47Z] These channels (39) passed the filter and successfully parsed: Yle TV1 HD, Yle TV2 HD, MTV3 HD, Nelonen HD, Yle Teema & Fem HD, MTV Sub HD, TV5 HD, Liv HD, Jim HD, Kutonen HD, TLC HD, STAR Channel HD, MTV Ava HD, Hero HD, Alfa TV HD, Frii HD, INEZ HD, National Geographic HD, Yle TV1, Yle TV2, MTV3, Nelonen, Yle Teema & Fem, MTV Sub, TV5, LIV, JIM, Kutonen, STAR Channel, MTV Ava, Hero, AlfaTV, Frii, National Geographic, TV7, France 24 HD, Koti TV, Nickelodeon Ukraine, Infokanava 
DEBU[2023-01-18T10:46:47Z] These channels (0) did NOT pass the filter:  
INFO[2023-01-18T10:46:47Z] Loaded 39 channels into the lineup from      
DEBU[2023-01-18T10:46:47Z] creating device xml                          
DEBU[2023-01-18T10:46:47Z] creating webserver routes                    
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /metrics                  --> github.com/tellytv/telly/internal/go-gin-prometheus.prometheusHandler.func1 (4 handlers)
[GIN-debug] GET    /                         --> main.deviceXML.func1 (4 handlers)
[GIN-debug] GET    /discover.json            --> main.discovery.func1 (4 handlers)
[GIN-debug] GET    /lineup_status.json       --> main.serve.func1 (4 handlers)
[GIN-debug] POST   /lineup.post              --> main.serve.func2 (4 handlers)
[GIN-debug] GET    /device.xml               --> main.deviceXML.func1 (4 handlers)
[GIN-debug] GET    /lineup.json              --> main.serveLineup.func1 (4 handlers)
[GIN-debug] GET    /lineup.xml               --> main.serveLineup.func1 (4 handlers)
[GIN-debug] GET    /auto/:channelID          --> main.stream.func1 (4 handlers)
[GIN-debug] GET    /epg.xml                  --> main.xmlTV.func2 (4 handlers)
[GIN-debug] GET    /debug.json               --> main.serve.func3 (4 handlers)
DEBU[2023-01-18T10:46:47Z] Advertising telly as telly (12345678-AE2A-4E54-BBC9-33AF7D5D6A92) 
[GIN-debug] GET    /manage/*filepath         --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)
[GIN-debug] HEAD   /manage/*filepath         --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)
INFO[2023-01-18T10:46:47Z] telly is live and on the air!                
INFO[2023-01-18T10:46:47Z] Broadcasting from http://192.168.2.10:6077/  
INFO[2023-01-18T10:46:47Z] EPG URL: http://192.168.2.10:6077/epg.xml    
INFO[2023-01-18T10:46:47Z] Lineup JSON: http://192.168.2.10:6077/lineup.json 
[GIN-debug] Listening and serving HTTP on 0.0.0.0:6077

Additional information: The result is an empty epg and no errors what so ever.

The entirely of http://192.168.2.10:6077/epg.xml is the following:

<tv generator-info-name="telly 1.1.0.8" generator-info-url="https://github.com/tellytv/telly"/>

Example XML that seems to fail to get parsed properly for the actual data:

<?xml version="1.0" encoding="UTF-8"?>
<tv>
<channel id="AlfaTV.fi"><display-name>Alfa TV FI</display-name><icon src="https://static.epg.best/fi/AlfaTV.fi.png"/></channel>
<channel id="Ava.fi"><display-name>Ava FI</display-name><icon src="https://static.epg.best/fi/Ava.fi.png"/></channel>
<channel id="Frii.fi"><display-name>Frii FI</display-name><icon src="https://static.epg.best/fi/Frii.fi.png"/></channel>
<channel id="Hero.fi"><display-name>Hero FI</display-name><icon src="https://static.epg.best/fi/Hero.fi.png"/></channel>
<channel id="Jim.fi"><display-name>Jim FI</display-name><icon src="https://static.epg.best/fi/Jim.fi.png"/></channel>
<channel id="Kutonen.fi"><display-name>Kutonen FI</display-name><icon src="https://static.epg.best/fi/Kutonen.fi.png"/></channel>
<channel id="Liv.fi"><display-name>Liv FI</display-name><icon src="https://static.epg.best/fi/Liv.fi.png"/></channel>
<channel id="MTV3.fi"><display-name>MTV 3 FI</display-name><icon src="https://static.epg.best/fi/MTV3.fi.png"/></channel>
<channel id="Nelonen.fi"><display-name>Nelonen FI</display-name><icon src="https://static.epg.best/fi/Nelonen.fi.png"/></channel>
<channel id="Sub.fi"><display-name>Sub FI</display-name><icon src="https://static.epg.best/fi/Sub.fi.png"/></channel>
<channel id="TLC.fi"><display-name>TLC Finland FI</display-name><icon src="https://static.epg.best/fi/TLC.fi.png"/></channel>
<channel id="TV5.fi"><display-name>TV 5 FI</display-name><icon src="https://static.epg.best/fi/TV5.fi.png"/></channel>
<channel id="TV7.fi"><display-name>TV 7 FI</display-name><icon src="https://static.epg.best/fi/TV7.fi.png"/></channel>
<channel id="YleFem.fi"><display-name>Yle Teema Fem FI</display-name><icon src="https://static.epg.best/fi/YleFem.fi.png"/></channel>
<channel id="YleTV1.fi"><display-name>Yle TV1 FI</display-name><icon src="https://static.epg.best/fi/YleTV1.fi.png"/></channel>
<channel id="YleTV2.fi"><display-name>Yle TV2 FI</display-name><icon src="https://static.epg.best/fi/YleTV2.fi.png"/></channel>
<iepg>132511</iepg>
<programme start="20230117005500 +0100" stop="20230117015000 +0100" channel="Ava.fi">
    <title lang="fi">Kardashianit</title>
    <desc lang="fi">Esirippu laskeutuu, osa 2. Kurkistus losangelesilaisen Kardashian-Jennerin perheen tempauksiin ja ylelliseen yksityiselämään. Mukana siskot Kim, Kourtney ja Khloe. Suosikkisarja, jossa seurataan Hollywoodin kermaan kuuluvan Kardashianien klaanin elämää</desc>
    <category lang="fi">Animaatio Ja Nuoriso</category>
    <category lang="fi">Tosi Tv Ja Viihde</category>
    <category lang="fi">Draama</category>
    <category lang="fi">Sarjat</category>
    <episode-num system="xmltv_ns">19.13/14.</episode-num>
    <star-rating>
      <value>1.0</value>
    </star-rating>
  </programme>
</tv>