tellytv / telly

An IPTV proxy
MIT License
770 stars 106 forks source link

telly 1.5 @ Synology Docker - EPG and m3u8 parsing errors #194

Closed niXta1 closed 6 years ago

niXta1 commented 6 years ago

telly release with the issue: can't tell:

INFO[2018-09-08T09:11:29Z] telly is preparing to go live (version=, branch=, revision=) | stdout
-- | --

(dev-ffmpeg as of 30min ago)

Last working telly release (if known): This is my first tested version on docker/NAS. 1.03 worked on macOS (binary file).

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

Description of problem: Error parsing EPG and m3u8:

2018-09-08 09:16:30 stdout  ERRO[2018-09-08T09:16:30Z] error when processing provider                error="the type Date field of date is not a time, value is: Australija"
2018-09-08 09:16:30 stdout  ERRO[2018-09-08T09:16:30Z] error when preparing provider                 error="the type Date field of date is not a time, value is: Australija"
2018-09-08 09:16:30 stdout  ERRO[2018-09-08T09:16:30Z] error when parsing EPG                        error="the type Date field of date is not a time, value is: Australija"
2018-09-08 09:16:30 stdout  ERRO[2018-09-08T09:16:30Z] Could not decode xmltv programme              error="the type Date field of date is not a time, value is: Australija"

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

THIS SECTION IS REQUIRED

[IPTV] Streams = 1 # number of simultaneous streams that the telly virtual DVR will provide

This is often 1, but is set by your iptv provider; for example,

                        # Vaders provides 5

Starting-Channel = 10000 # When telly assigns channel numbers it will start here XMLTV-Channels = true # if true, any channel numbers specified in your M3U file will be used.

FFMpeg = true # if this is uncommented, streams are buffered through ffmpeg;

                        # ffmpeg must be installed and on your $PATH
                        # if you want to use this with Docker, be sure you use the correct docker image

if you DO NOT WANT TO USE FFMPEG leave this commented; DO NOT SET IT TO FALSE

THIS SECTION IS REQUIRED

[Log] Level = "debug" # Only log messages at or above the given level. [debug, info, warn, error, fatal] Requests = true # Log HTTP requests made to telly

THIS SECTION IS REQUIRED

[Web] Base-Address = "192.168.1.35:6077" # Set this to the IP address of the machine telly runs on Listen-Address = "0.0.0.0:6077" # this can stay as-is

THIS SECTION IS OPTIONAL ========================================================================

[SchedulesDirect] # If you have a Schedules Direct account, fill in details and then

                         # UNCOMMENT THIS SECTION

Username = "" # This is under construction; Vader is the only provider

Password = "" # that works with it fully at this time

AT LEAST ONE SOURCE IS REQUIRED

DELETE OR COMMENT OUT SOURCES THAT YOU ARE NOT USING

NONE OF THESE EXAMPLES WORK AS-IS; IF YOU DON'T CHANGE IT, DELETE IT

[[Source]]

Name = "" # Name is optional and is used mostly for logging purposes

Provider = "Vaders" # named providers currently supported are "Vaders", "area51", "Iris"

IF YOUR PROVIDER IS NOT ONE OF THE ABOVE, CONFIGURE IT AS A "Custom" PROVIDER; SEE BELOW

Username = "YOUR_IPTV_USERNAME"

Password = "YOUR_IPTV_PASSWORD"

THE FOLLOWING KEYS ARE OPTIONAL IN THEORY, REQUIRED IN PRACTICE

Filter = "Sports|Premium Movies|United States.*|USA"

FilterKey = "group-title" # FilterKey normally defaults to whatever the provider file says is best,

otherwise you must set this.

FilterRaw = false # FilterRaw will run your regex on the entire line instead of just specific keys.

Sort = "group-title" # Sort will alphabetically sort your channels by the M3U key provided

[[Source]]

Name = ""

Provider = "IPTV-EPG"

Username = "M3U-Identifier" # From http://iptv-epg.com/[M3U-Identifier].m3u

Password = "XML-Identifier" # From http://iptv-epg.com/[XML-Identifier].xml

THE FOLLOWING KEYS ARE OPTIONAL HERE; IF YOU"RE USING IPTV-EPG YOU'FE PROBABLY DONE YOUR

FILTERING THERE ALREADY

Filter = ""

FilterKey = ""

FilterRaw = false

Sort = ""

[[Source]] Provider = "Custom" M3U = "http://REAL WORKING M3U:8080/get.php?username=XXXpassword=YYYtype=m3u_plus\u0026output=ts" # These can be either URLs or fully-qualified paths. EPG = "http://REAL WORKING EPG/epg/epg.xml.gz"

THE FOLLOWING KEYS ARE OPTIONAL IN THEORY, REQUIRED IN PRACTICE

Filter = "*" FilterKey = "group-title" # FilterKey normally defaults to whatever the provider file says is best,

otherwise you must set this.

FilterRaw = false # FilterRaw will run your regex on the entire line instead of just specific keys. Sort = "group-title" # Sort will alphabetically sort your channels by the M3U key provided

END TELLY CONFIG


**Command line used to run telly [if applicable]:**
- REMEMBER TO DELETE ANY CREDENTIALS IN CONFIG FILES OR COMMAND LINES

**Docker run command used to run telly [if applicable]:**
- REMEMBER TO DELETE ANY CREDENTIALS IN CONFIG FILES OR COMMAND LINES

**telly or docker log:**
(Botton to top)

2018-09-08 09:11:36 stdout [GIN-debug] Listening and serving HTTP on 0.0.0.0:6077 2018-09-08 09:11:36 stdout INFO[2018-09-08T09:11:36Z] EPG URL: http://0.0.0.0:6077/epg.xml
2018-09-08 09:11:36 stdout INFO[2018-09-08T09:11:36Z] Broadcasting from http://0.0.0.0:6077/
2018-09-08 09:11:36 stdout INFO[2018-09-08T09:11:36Z] telly is live and on the air!
2018-09-08 09:11:36 stdout [GIN-debug] HEAD /manage/filepath --> github.com/tellytv/telly/vendor/github.com/gin-gonic/gin.(RouterGroup).createStaticHandler.func1 (4 handlers) 2018-09-08 09:11:36 stdout [GIN-debug] GET /manage/filepath --> github.com/tellytv/telly/vendor/github.com/gin-gonic/gin.(RouterGroup).createStaticHandler.func1 (4 handlers) 2018-09-08 09:11:36 stdout DEBU[2018-09-08T09:11:36Z] Advertising telly as HDHomerun (telly) (12345678-AE2A-4E54-BBC9-33AF7D5D6A92) 2018-09-08 09:11:36 stdout [GIN-debug] GET /debug.json --> main.serve.func3 (4 handlers) 2018-09-08 09:11:36 stdout [GIN-debug] GET /epg.xml --> main.xmlTV.func2 (4 handlers) 2018-09-08 09:11:36 stdout [GIN-debug] GET /auto/:channelID --> main.stream.func1 (4 handlers) 2018-09-08 09:11:36 stdout [GIN-debug] GET /lineup.xml --> main.serveLineup.func1 (4 handlers) 2018-09-08 09:11:36 stdout [GIN-debug] GET /lineup.json --> main.serveLineup.func1 (4 handlers) 2018-09-08 09:11:36 stdout [GIN-debug] GET /device.xml --> main.deviceXML.func1 (4 handlers) 2018-09-08 09:11:36 stdout [GIN-debug] POST /lineup.post --> main.serve.func2 (4 handlers) 2018-09-08 09:11:36 stdout [GIN-debug] GET /lineup_status.json --> main.serve.func1 (4 handlers) 2018-09-08 09:11:36 stdout [GIN-debug] GET /discover.json --> main.discovery.func1 (4 handlers) 2018-09-08 09:11:36 stdout [GIN-debug] GET / --> main.deviceXML.func1 (4 handlers) 2018-09-08 09:11:36 stdout [GIN-debug] GET /metrics --> github.com/tellytv/telly/internal/go-gin-prometheus.prometheusHandler.func1 (4 handlers) 2018-09-08 09:11:36 stdout
2018-09-08 09:11:36 stdout - using code: gin.SetMode(gin.ReleaseMode) 2018-09-08 09:11:36 stdout - using env: export GIN_MODE=release 2018-09-08 09:11:36 stdout [GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production. 2018-09-08 09:11:36 stdout DEBU[2018-09-08T09:11:36Z] creating webserver routes
2018-09-08 09:11:36 stdout DEBU[2018-09-08T09:11:36Z] creating device xml
2018-09-08 09:11:36 stdout ERRO[2018-09-08T09:11:36Z] error when processing provider error="the type Date field of date is not a time, value is: Australija" 2018-09-08 09:11:36 stdout ERRO[2018-09-08T09:11:36Z] error when preparing provider error="the type Date field of date is not a time, value is: Australija" 2018-09-08 09:11:36 stdout ERRO[2018-09-08T09:11:36Z] error when parsing EPG error="the type Date field of date is not a time, value is: Australija" 2018-09-08 09:11:36 stdout ERRO[2018-09-08T09:11:36Z] Could not decode xmltv programme error="the type Date field of date is not a time, value is: Australija" 2018-09-08 09:11:31 stdout INFO[2018-09-08T09:11:31Z] File (http://REAL WORKING EPG/epg/epg.xml.gz) is gzipp'ed, ungzipping now, this might take a while 2018-09-08 09:11:30 stdout INFO[2018-09-08T09:11:30Z] Loading XMLTV from http://REAL WORKING EPG/epg/epg.xml.gz 2018-09-08 09:11:29 stdout INFO[2018-09-08T09:11:29Z] Loading M3U from http://REAL WORKING M3U:8080/get.php?username=XXXpassword=YYYtype=m3u_plus\u0026output=ts 2018-09-08 09:11:29 stdout } 2018-09-08 09:11:29 stdout } 2018-09-08 09:11:29 stdout "listen-address": "0.0.0.0:6077" 2018-09-08 09:11:29 stdout "base-address": "192.168.1.35:6077", 2018-09-08 09:11:29 stdout "web": { 2018-09-08 09:11:29 stdout "version": false, 2018-09-08 09:11:29 stdout ], 2018-09-08 09:11:29 stdout } 2018-09-08 09:11:29 stdout "Provider": "Custom" 2018-09-08 09:11:29 stdout "M3U": "http://REAL WORKING M3U:8080/get.php?username=XXXpassword=YYYtype=m3u_plus\u0026output=ts", 2018-09-08 09:11:29 stdout "EPG": "http://REAL WORKING EPG/epg/epg.xml.gz", 2018-09-08 09:11:29 stdout { 2018-09-08 09:11:29 stdout "source": [ 2018-09-08 09:11:29 stdout }, 2018-09-08 09:11:29 stdout "requests": true 2018-09-08 09:11:29 stdout "level": "debug", 2018-09-08 09:11:29 stdout "log": { 2018-09-08 09:11:29 stdout }, 2018-09-08 09:11:29 stdout "xmltv-channels": true 2018-09-08 09:11:29 stdout "streams": 1, 2018-09-08 09:11:29 stdout "starting-channel": 10000, 2018-09-08 09:11:29 stdout "playlist": "", 2018-09-08 09:11:29 stdout "iptv": { 2018-09-08 09:11:29 stdout }, 2018-09-08 09:11:29 stdout "regex-inclusive": false 2018-09-08 09:11:29 stdout "regex": ".*", 2018-09-08 09:11:29 stdout "filter": { 2018-09-08 09:11:29 stdout }, 2018-09-08 09:11:29 stdout "ssdp": true 2018-09-08 09:11:29 stdout "device-uuid": "12345678-AE2A-4E54-BBC9-33AF7D5D6A92", 2018-09-08 09:11:29 stdout "device-model-number": "HDTC-2US", 2018-09-08 09:11:29 stdout "device-manufacturer": "Silicondust", 2018-09-08 09:11:29 stdout "device-id": 12345678, 2018-09-08 09:11:29 stdout "device-friendly-name": "HDHomerun (telly)", 2018-09-08 09:11:29 stdout "device-firmware-version": "20150826", 2018-09-08 09:11:29 stdout "device-firmware-name": "hdhomeruntc_atsc", 2018-09-08 09:11:29 stdout "device-auth": "telly123", 2018-09-08 09:11:29 stdout "discovery": { 2018-09-08 09:11:29 stdout }, 2018-09-08 09:11:29 stdout "file": "" 2018-09-08 09:11:29 stdout "config": { 2018-09-08 09:11:29 stdout DEBU[2018-09-08T09:11:29Z] Loaded configuration { 2018-09-08 09:11:29 stdout DEBU[2018-09-08T09:11:29Z] Build context (go=go1.11, user=, date=)
2018-09-08 09:11:29 stdout INFO[2018-09-08T09:11:29Z] telly is preparing to go live (version=, branch=, revision=)



**Additional information:**
D34DC3N73R commented 6 years ago

Docker dev-ffmpeg Ubuntu Server 16.04 getting similar errors on previously working installation. time="2018-09-09T18:37:47Z" level=error msg="unable to parse m3u file" error="malformed M3U provided" time="2018-09-09T18:37:47Z" level=error msg="error when preparing provider" error="malformed M3U provided" time="2018-09-09T18:37:47Z" level=error msg="error when processing provider" error="malformed M3U provided"

robbiet480 commented 6 years ago

Closing as duplicate of #193, please search the issues before opening a new one next time :)

niXta1 commented 6 years ago

Sorry, but to be fair, I opened both tickets with different errors on different platforms... In the end it was all my fault, I didn't see that 1.5 was alpha. Thanks for a great proxy, I appreciate all work and just wanted to help!