Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Ziggo GO] fixed: NPO 1/2/3 & replay #135

Open
3DSBricker opened this issue Aug 22, 2022 · 56 comments
Open

[Ziggo GO] fixed: NPO 1/2/3 & replay #135

3DSBricker opened this issue Aug 22, 2022 · 56 comments
Assignees
Labels
bug Something isn't working

Comments

@3DSBricker
Copy link

Describe the bug
After having some trouble logging in, I managed to do so. NPO 1, 2 and 3 play fine, but every other live TV stream doesn't, nor does VOD and HBO. Searching works and finds everything the normal Ziggo GO would show in its results, but nothing can be played. This really sounds like I'm not logged in, since you can still play the public channels if you aren't logged in or skipped it when asked (on the website or in the Android app).

To Reproduce
Quite simple:

  1. Get logged in, might need to restart and takes some tries (it weirdly succeeded after I used a wrong username (my email) and random letters as password, after doing that, using the correct one suddenly got me logged in)
  2. Follow the setup procedure and try to play any live TV channel besides NPO 1, 2 or 3.
  3. Notice that NPO 1, 2 and 3 work, but all others don't and just load, and stop.

Expected behavior
I'm focussing mainly on live TV so:
Choose any live TV channel after logging in without problems and watch the livestream.

Screenshots
None, but I do have some log entries from trying to play some channels that didn't work (I tried RTL and SBS while logging):

2022-08-21 10:16:12.286 T:2533 INFO <general>: initializing python engine.
2022-08-21 10:16:13.871 T:2533 INFO <general>: CPythonInvoker(4, /storage/.kodi/addons/plugin.video.ziggo/default.py): script successfully run
2022-08-21 10:16:15.547 T:2533 INFO <general>: initializing python engine.
2022-08-21 10:16:15.954 T:2533 INFO <general>: CPythonInvoker(4, /storage/.kodi/addons/plugin.video.ziggo/default.py): script successfully run
2022-08-21 10:16:18.758 T:2533 INFO <general>: initializing python engine.
2022-08-21 10:16:20.531 T:2545 ERROR <general>: GetDirectory - Error getting plugin://plugin.video.ziggo/?_=play_video&channel=lgi-nl-prod-master%3aNL_000004_019461&id=http%3a%2f%2fwp-obc5-live-vxtoken-nl-prod.prod.cdn.dmdsdp.com%2fdash%2fNL_000004_019461%2fmanifest.mpd%26%25%25%26urn%3aorion%3amedia%3astd%3algi-nl-prod-master%3aNL_000004_019461_ORION_Orion-DASH&type=channel
2022-08-21 10:16:20.532 T:2533 INFO <general>: CPythonInvoker(4, /storage/.kodi/addons/plugin.video.ziggo/default.py): script successfully run
2022-08-21 10:16:20.536 T:2413 ERROR <general>: CGUIMediaWindow::GetDirectory(plugin://plugin.video.ziggo/?_=play_video&channel=lgi-nl-prod-master%3aNL_000004_019461&id=http%3a%2f%2fwp-obc5-live-vxtoken-nl-prod.prod.cdn.dmdsdp.com%2fdash%2fNL_000004_019461%2fmanifest.mpd%26%25%25%26urn%3aorion%3amedia%3astd%3algi-nl-prod-master%3aNL_000004_019461_ORION_Orion-DASH&type=channel) failed
2022-08-21 10:16:20.610 T:2533 INFO <general>: initializing python engine.
2022-08-21 10:16:20.937 T:2533 INFO <general>: CPythonInvoker(4, /storage/.kodi/addons/plugin.video.ziggo/default.py): script successfully run
2022-08-21 10:16:22.817 T:2533 INFO <general>: initializing python engine.
2022-08-21 10:16:23.563 T:2549 ERROR <general>: GetDirectory - Error getting plugin://plugin.video.ziggo/?_=play_video&channel=lgi-nl-prod-master%3aNL_000004_019461&id=http%3a%2f%2fwp-obc5-live-vxtoken-nl-prod.prod.cdn.dmdsdp.com%2fdash%2fNL_000004_019461%2fmanifest.mpd%26%25%25%26urn%3aorion%3amedia%3astd%3algi-nl-prod-master%3aNL_000004_019461_ORION_Orion-DASH&type=channel
2022-08-21 10:16:23.564 T:2533 INFO <general>: CPythonInvoker(4, /storage/.kodi/addons/plugin.video.ziggo/default.py): script successfully run
2022-08-21 10:16:23.570 T:2413 ERROR <general>: CGUIMediaWindow::GetDirectory(plugin://plugin.video.ziggo/?_=play_video&channel=lgi-nl-prod-master%3aNL_000004_019461&id=http%3a%2f%2fwp-obc5-live-vxtoken-nl-prod.prod.cdn.dmdsdp.com%2fdash%2fNL_000004_019461%2fmanifest.mpd%26%25%25%26urn%3aorion%3amedia%3astd%3algi-nl-prod-master%3aNL_000004_019461_ORION_Orion-DASH&type=channel) failed

Device:

  • Type: Raspberry Pi 4B freshly installed on a tested SD card (64GB Samsung)
  • OS: LibreELEC 10.0.2
  • Kodi Matrix 19.4
  • Addon Version 1.4.7

Additional context
What I've noticed when starting a live TV-stream in Ziggo Go (Firefox; Windows 10), is that there's an entry in the network tab (inside the Firefox Developer Tools) that mentions the address the plugin is trying to stream from, but gets redirected to a domain that looks like: id.cdn.upcbroadband.com
There is a 40 character subdomain in front of it and a "da-" prefix. Example: da-40characters.id.cdn.upcbroadband.com

@3DSBricker 3DSBricker added the bug Something isn't working label Aug 22, 2022
@3DSBricker
Copy link
Author

3DSBricker commented Aug 29, 2022

After looking into the code trying to figure out what's happening, I realize this isn't helpful at all. Postman and the developer tools have been really helpful and I found that Ziggo (and Telenet, they're exactly using the same system as far as I could see) almost fully switched from OESP (Orion Enterprise Service Platform, wasn't easy to find) to something else. What, I don't know. But they changed all links from obo-prod.oesp.ziggogo.tv to prod.spark.ziggogo.tv and also changed the way things get handled. It looks like they double encrypt things now, it isn't as easy as just sending a request and getting a magic token. Looking in the network log, it gets a widevine certificate (in Firefox it's Base64 encoded, Chromium browsers automatically decode it, and the certificate is a file and can be downloaded and looks exactly the same) by sending a GET request with, as far as I know, an Accesstoken as cookie, which it gets by sending the token that it got when authenticating (POST request) to https://prod.spark.ziggogo.tv/auth-service/v1/mqtt/token (GET request); the (new) token url. Afterwards, it send a POST request to the license server, https://prod.spark.ziggogo.tv/eng/web/session-manager/license?ContentId=nl_tv_standaard_cenc with the certificate as payload. I'm not sure of that, though. It does send an x-streaming-token which I found in a POST request to https://prod.spark.ziggogo.tv/eng/web/session-service/session/v2/web-desktop/customers/(YOURID)_nl/live which includes a header called X-Entitlements-Token which in turn gets it from https://prod.spark.ziggogo.tv/eng/web/purchase-service/v2/customers/(YOURID)_nl/entitlements. The license server responds with something, the only readable text is: 017.1.0 Built on Aug 5 2022 05:52:11 (1659703912). But, looking at above, it might be possible to fully skip that license server. It only gets a new streaming token. The only thing from OESP is the username header: X-OESP-Username. Profile ID is now X-Profile. I am trying to get it working and only use prod.spark.ziggogo.tv and have succesfully logged in using the new system but still am unable to decrypt the DRM protected stream. Many of the old links are dead and I also know why only NPO 1, 2 and 3 work:
Postman Ziggo NPO
This is the request the plugin also does and this is its response. Those 3 represent NPO 1, 2 and 3 (in that order) and something named "FREE" but it doesn't really mean anything anymore as far as I know. To put it shortly, the request it does gives a token that is only valid for the FTA NPO channels. You do need to be logged in to get access to anything at all, though. You still don't get those for free and getting only NPO at Ziggo isn't possible so they knew what would happen when they changed the system (not implying that they specifically tried to stop the plugin from working). It is possible that those channels use it by default, or Ziggo must/is forced to use that form of encryption/DRM protection.

@3DSBricker
Copy link
Author

I can finally say I succeeded! I focussed on live TV, and all work now. It's as easy as it was, just a username and password and the code will do all the work (getting IDs, sending requests). I will soon make a pull request on Github, and I might look into VOD. I'll probably first focus on watching missed programs/"terugkijken" (to watch a TV program that has already been broadcast). Recordings would be the next thing to do (shouldn't be too hard when I get terugkijken/missed programs to work, maybe no difference at all).

@meganiekje
Copy link

@3DSBricker : thats great work !!!
I was using the addon a lot.
Thanks for fixing it !!!

@3DSBricker
Copy link
Author

3DSBricker commented Sep 8, 2022

I got live TV and replay working with some workarounds. I'm not planning to use the original way, nor to fully change everything. There still are some dead parts of code, it's kind of a hybrid now but it works. Switching between replay and live works as it should, too. I will upload it to Github and make a pull request, I don't know if recordings were available earlier, but I can't seem to find it and I haven't tested the watchlist, it also claims I haven't got movies and series (I've got XL) but that was a problem before, I haven't tested installing any other way than just overwriting the previous files manually, I'll try to see if I can use the same way as it used. There does seem to be an issue with playing programs using the search button.
(edit)
One thing I've noticed is that after streaming for about 45 minutes to an hour, Kodi will complain about the streaming token (needed for every license request), however, it just continues to plays and I can click the errors away. The problem is getting the key that needs to be send, I think it still sends the old key and the license server just doesn't really care (yet).

@3DSBricker
Copy link
Author

@meganiekje I've created #136. I saw the owner was busy and didn't have much time, so I'll try to make this as simple too, for now you need to install it and then overwrite the files in the Ziggo plugin folder.

@meganiekje
Copy link

@3DSBricker : A lot of thanks for your effort. You make a lot of people very happy !
Only, I can not find the code to install and overwrite the current files.
Can you post a link to a zip file ?
Alvast bedankt !

@meganiekje
Copy link

@3DSBricker : I found the files at https://github.com/3DSBricker/dut-iptv (I think)
I tried to 'Add-ons installeren via een zipbestand' but that fails.
Then I tried to replace the files by hand, but that also does not work.
Maybe I make a mistake somewhere ?
Please explain in more detail what to do exactly.

@3DSBricker
Copy link
Author

I can't make a ZIP right now. The plugin is in:
https://github.com/3DSBricker/dut-iptv/tree/master/plugin.video.ziggo
You can just make a ZIP of that folder (in case you download the whole master/repository), but you only need the files and folders inside this one (meaning only these changed):
https://github.com/3DSBricker/dut-iptv/tree/master/plugin.video.ziggo/resources/lib
You could install the old one and then replace it with the files and folders in the folder above (plugin.video.ziggo/resources/lib). For Windows it's in the Kodi folder in local app data (Win + R, %appdata%/kodi). You can of course still install using the ZIP made from the parent directory/folder plugin.video.ziggo.

@meganiekje
Copy link

@3DSBricker : Thanks to your info, I managed to replace the files on my windows pc, and on my Libreelec unit. 💯 🥇
After the replacement I had to do: 'Sessie resetten', 'Cache verwijderen ' and ' Reset Add-on' in de Ziggo Go add-on 'instellingen' to get it running without errors.
A lot of thanks from my whole family !!!!!

@3DSBricker
Copy link
Author

No problem and glad you got it working. There does still seem to be an issue with running it for the first time, I will try to solve that later. It will give an error about last login success. Afterwards, I'll try to make the installation as simple as possible again.

@meganiekje
Copy link

@3DSBricker : There is also a problem with 'zoeken' . If you try to start a stream that way, is does not work. Also 'films and series' does not work, but all this is not urgent. I am very happy that the important functions are restored. 👍

@3DSBricker
Copy link
Author

Yes, I know, I think it's because searching uses the old API (OESP) and returns different values that cannot be used between APIs. I'll try to fix searching after the last login succes error. This does not happen when you already have been logged in successfully, or manually paste it into the profile JSON file. I don't know how hard movies and series will be, so I'll see if it's doable and how much time it will take. The login errors and searching have priority.

@meganiekje
Copy link

@3DSBricker : I thougth to be clever, and try the api.py you updated 1 hour ago, but now i get a different error: keyError: 'x-streaming-token'.
Maybe Ziggo changed the log-in and token procedure again?

@3DSBricker
Copy link
Author

3DSBricker commented Sep 13, 2022

Hmm, interesting. I did test it all and noticed replay didn't work when switching from live TV to replay, with the same error. I assumed this was because of the entitlements token expiring. The server will return a 401 (unauthorized). You can check it by enabling debug logging in Kodi (settings > system > logging > option at the top), the log will be in %appdata%/kodi/kodi.log. What I changed really was minimal and should only affect new users/existing users in a new environment. It checks if you have been logged in before, if not, it creates an entry that you haven't been logged in yet, in which case the code continues logging in. I'm working on a fix for the entitlements token, where it catches the error and re-runs the login process to get the new token, without giving an error. Actually, it would just loop if logging in again doesn't work (resulting in a crash after a while). For now, I'd say it's safe to just delete the whole plugin and reinstall it; because I fixed the login error. Delete it, close Kodi (important), download my repository and make a zip of the plugin.video.ziggo folder. Open Kodi, find the Zip and install it.

@3DSBricker 3DSBricker changed the title Ziggo GO add-on 1.4.7 only playing NPO 1/2/3 live TV [Ziggo GO] fixed: NPO 1/2/3 & replay Sep 14, 2022
@3DSBricker
Copy link
Author

Replay TV should now be stable again, I tested many combinations and it is now stable during everything I've tested. Here's the ZIP to be directly installed in Kodi, preferably after deleting the old one, it does for sure need a restart of Kodi.

plugin.video.ziggo.zip

@eazymo
Copy link

eazymo commented Sep 17, 2022

Thanks for the fix.
Initially both replay and live tv worked. but when swapping channels, a lot it stops working. so it's hit and miss for me. hope the dev comes back.

@3DSBricker
Copy link
Author

I do not have this issue and it keeps working after heavily switching and stopping/starting. Or starting without stopping first. Could you post a log? Did you remove the previous version first? I've had better experience fully removing the previous one first, including data (meaning username/password, tokens, etc). Did you use the latest version that I posted as ZIP?

@meganiekje
Copy link

meganiekje commented Sep 17, 2022

With LibreElec, i had to:
Add-on verwijderen, including data,
Reboot,
Install zip,
Reboot,
Enter login name and password.
Reboot.
Then replay and live tv works perfect !!!
@3DSBricker : you are a hero !!!!
BUT :)
If you use 'zoeken', the streams mostly do not start.
Also if you use 'aan bladwijzers toevoegen' there is a problem.
Sometimes starting the same stream a second or thirth time helps.
This are just minor details, i'm so happy the major things do work 🥇

@3DSBricker
Copy link
Author

I'm aware of searching and trying to fix it, but it apparently has changed more than I hoped it would. Recordings seem to now be very very similar, but I can't yet find just how it handles things. If I understand it, it'd be a nice extra feature. I've made the base for it, as it's the same as searching, but I'll focus on that first. They apparently thought it was needed to make searching replay more like a hybrid between replay and live streaming. Doesn't really make sense actually, but I'll try and see if I can get it to work. Not sure if "description" previously was very helpful, but I've found another entry for description that kind of includes the plot. So quite complete.

@meganiekje
Copy link

@3DSBricker : Take your time, no need to hurry :)
Would it be possible to SET a recording using Kodi ?
I still use my good old Humax 5200C (with a 500 Gb ssd harddisk) to do recordings, and i do not have a device that can do the 'in the cloud' recordings that the nextbox can do.
Do you know if there is an other way to set a 'in the cloud' recording ?

@3DSBricker
Copy link
Author

In Ziggo GO, the lowest TV subscription has Ziggo GO too ("Kabel TV", do note that internet-only does not, but obviously does have TV using DVB-C, the free channels). I will first focus on simply watching them. Haven't really thought about setting/deleting actually, would be a good idea once it works. The 400 hours limit and the 1 year limit is a disadvantage, but still doable. Unfortunately fUPC (formal UPC) does not have VOD via DVB-C with CI+ modules, and you can only hire them for use in a TV, not just the smartcard. Aan bladwijzers toevoegen, is dat je kijklijst? (is that your watchlist?).

@meganiekje
Copy link

@3DSBricker : 'Aan bladwijzers toevoegen' is a very handy function in Kodi. It can be accessed using context menu: 'c' key on the keyboard. Then a stream or a complete folder shows in 'favorites'= bladwijzers.

@meganiekje
Copy link

@3DSBricker : I just read, that you need to have a MediaBox_XL or a NextBox registered to your Ziggo account. If you do not have that, the 'in the cloud' recording function is not activated.
If you have a NextBox(mini), there is no real advantage in using Kodi...
If you could trigger Kodi to save a live stream on the local disk, using a sceduler, that would be perfect, but it might violate the DRM....

@3DSBricker
Copy link
Author

Offline DRM is possible, at least, Ziggo uses it for downloading movies and watching them offline.

@3DSBricker
Copy link
Author

I don't know how those bookmarks (bladwijzers) work. It may be that it doesn't refresh the tokens and use the already-existing tokens that have expired. Could you look into the log and paste it here? I'm curious about the server's response and the error itself. If not, I could look into, but it probably won't really have priority unless it's an easy error/simple fix.

@meganiekje
Copy link

meganiekje commented Sep 19, 2022

@3DSBricker :
this is part of the logfile when I try to play a 'bladwijzer':

2022-09-19 19:44:42.908 T:2716 INFO : initializing python engine.
2022-09-19 19:44:43.675 T:2716 WARNING : [script.module.inputstreamhelper] Widevine update check was made on 2022-09-11 18:03
2022-09-19 19:44:43.689 T:6156 INFO : VideoPlayer::OpenFile: plugin://plugin.video.ziggo/?_=play_video&channel=lgi-nl-prod-master%3ANL_000021_019566&id=crid%3A2F2Fgn.tv2F223989332FEP034184530046%2Cimi%3Ac28629999a828811241bf7e4a4444cefadd3f896&type=program
2022-09-19 19:44:43.690 T:2116 INFO : Creating InputStream
2022-09-19 19:44:43.692 T:2116 INFO : AddOnLog: inputstream.adaptive: SetVideoResolution (1366 x 768)
2022-09-19 19:44:43.696 T:2116 ERROR : XFILE::CDirectory::GetDirectory - Error getting C:\Program Files\Kodi\addons\inputstream.adaptive
2022-09-19 19:44:44.180 T:2116 INFO : AddOnLog: inputstream.adaptive: Successfully parsed manifest file. #Periods: 1, #Streams in first period: 4, Type: VOD, Download speed: 4929107.2645 Bytes/s
2022-09-19 19:44:44.906 T:2116 ERROR : CCurlFile::FillBuffer - Failed: HTTP returned error 403
2022-09-19 19:44:44.906 T:2116 ERROR : CCurlFile::Open failed with code 403 for https://prod.spark.ziggogo.tv/eng/web/session-manager/license?ContentId=NL_000021_019566:

2022-09-19 19:44:44.906 T:2116 ERROR : AddOnLog: inputstream.adaptive: License server returned failure
2022-09-19 19:44:45.173 T:2116 ERROR : CCurlFile::FillBuffer - Failed: HTTP returned error 403
2022-09-19 19:44:45.173 T:2116 ERROR : CCurlFile::Open failed with code 403 for https://prod.spark.ziggogo.tv/eng/web/session-manager/license?ContentId=NL_000021_019566:

2022-09-19 19:44:45.173 T:2116 ERROR : AddOnLog: inputstream.adaptive: License server returned failure
2022-09-19 19:44:45.174 T:2116 INFO : Creating Demuxer
2022-09-19 19:44:45.174 T:2116 INFO : Opening stream: 1001 source: 256
2022-09-19 19:44:45.229 T:2116 INFO : [WHITELIST] Searching the whitelist for: width: 1280, height: 720, fps: 50.000, 3D: false
2022-09-19 19:44:45.230 T:2116 INFO : Display resolution ADJUST : Generic PnP Monitor #1: 1366x768 @ 60.00Hz (16) (weight: 0.000)
2022-09-19 19:44:45.235 T:2116 INFO : Creating video codec with codec id: 27
2022-09-19 19:44:45.235 T:2116 INFO : CDVDVideoCodecFFmpeg::Open() Using codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
2022-09-19 19:44:45.235 T:2116 INFO : Creating video thread
2022-09-19 19:44:45.236 T:996 INFO : running thread: video_thread
2022-09-19 19:44:45.236 T:2116 INFO : Opening stream: 1003 source: 256
2022-09-19 19:44:45.256 T:2116 INFO : Finding audio codec for: 86018
2022-09-19 19:44:45.257 T:2116 INFO : CDVDAudioCodecFFmpeg::Open() Successful opened audio decoder aac
2022-09-19 19:44:45.257 T:2116 INFO : Creating audio thread
2022-09-19 19:44:45.257 T:4164 INFO : running thread: CVideoPlayerAudio::Process()
2022-09-19 19:44:45.577 T:2116 ERROR : AddOnLog: inputstream.adaptive: Decrypt Sample returns failure!
2022-09-19 19:44:45.886 T:2116 INFO : Skipped 101 duplicate messages..
2022-09-19 19:44:45.886 T:2116 INFO : CVideoPlayer::Process - eof reading from demuxer
2022-09-19 19:44:45.886 T:2116 INFO : CVideoPlayer::OnExit()
2022-09-19 19:44:45.886 T:2116 INFO : VideoPlayer: eof, waiting for queues to empty
2022-09-19 19:44:45.886 T:2116 INFO : Closing stream player 1
2022-09-19 19:44:45.887 T:2116 INFO : Waiting for audio thread to exit
2022-09-19 19:44:45.891 T:4164 INFO : thread end: CVideoPlayerAudio::OnExit()
2022-09-19 19:44:45.892 T:2116 INFO : Closing audio device
2022-09-19 19:44:45.892 T:2116 INFO : Deleting audio codec
2022-09-19 19:44:45.892 T:2116 INFO : Closing stream player 2
2022-09-19 19:44:45.896 T:2116 INFO : waiting for video thread to exit
2022-09-19 19:44:45.896 T:996 ERROR : Got MSGQ_ABORT or MSGO_IS_ERROR return true
2022-09-19 19:44:45.896 T:996 INFO : thread end: video_thread
2022-09-19 19:44:45.896 T:2116 INFO : deleting video codec
2022-09-19 19:44:45.978 T:2116 INFO : ADDON: Dll Destroyed - InputStream Adaptive
2022-09-19 19:44:45.989 T:6156 INFO : CVideoPlayer::CloseFile()
2022-09-19 19:44:45.989 T:6156 INFO : VideoPlayer: waiting for threads to exit
2022-09-19 19:44:45.989 T:6156 INFO : VideoPlayer: finished waiting
2022-09-19 19:44:45.989 T:6156 INFO : CVideoPlayer::CloseFile()
2022-09-19 19:44:45.989 T:6156 INFO : VideoPlayer: waiting for threads to exit
2022-09-19 19:44:45.989 T:6156 INFO : VideoPlayer: finished waiting
2022-09-19 19:44:46.704 T:2716 ERROR : EXCEPTION: XBMC is not playing any media file

The 'bladwijzer' itself looks like this:

ActivateWindow(10025,"plugin://plugin.video.ziggo/?_=replaytv_item&idtitle=MYFEETAREKILLINGME&label=My%20Feet%20Are%20Killing%20Me&start=0",return)

I hope this helps ;)

Edit: I see that the browsers has deleted parts of the control characters of the logfile.
The favourite looks like this:
image

@3DSBricker
Copy link
Author

I think I'm on the right track with searching, I don't really see any logic at all in their movies and series implementation, I only see every individual movie being loaded, instead of just a list with the movies. But I'll look into it later, again. Recording looks similar to searching and somewhat to live view (surprisingly different from replay in terms of license). Really everything about the API is different, but the differences between the internal options/systems like recordings/replay/searching (once you've got the info from the searched program, like it's ID) are small. At least they use the same license server and all the other servers before acquiring the license (login tokens, tokens to get other tokens, tokens to get a temporary token, the license token). Same domain, nearly same link, small differences.

@3DSBricker
Copy link
Author

@meganiekje I think I know why favorites/bookmarks/bladwijzers don't work, it looks like it builds the url in the old way, but sort of gets replaced with a new, thus sending a different request. The other possibility still remains, that it simply doesn't refresh the token. I thought I fixed it by logging in again, but it seems it doesn't do that and gives an error anyway. I'd know more if you tried it with debug, though. Do know that this will include username and (useless) token (because it's only valid for about an hour if you don't refresh it within the stream, to start a stream, it's only valid for like 5 minutes). I'd suggest to find the headers by searching for your username and censor the sensitive information.

@meganiekje
Copy link

meganiekje commented Sep 22, 2022

@3DSBricker:
I did use my laptop to generate the logfile with debugging info. This showed something interesting:
Right after starting kodi, and clicking the 'blawijzer' it works !!
But after some minutes it stops working.
In the logfile the problems start at about 17:50 hour.
kodi.log.zip

Because my LibreElec system goes to suspend mode, it almost nerver works.

@3DSBricker
Copy link
Author

3DSBricker commented Sep 26, 2022

This really sounds like the watchlist/kijklijst. I don't have that option as far as I know, nor have I really tried if it worked or fixed it. I did update its URL, though. I'm almost done with getting searching to work. Apparently it finds the wrong ID of the searched program and requests a license for RTL 5. Instead of, in this case, NPO 1. I activated the option for online searching (using their API) but there are still some minor issues (Ziggo responds with a fully empty message, thus leaving the rest of the code and the IDs undefined). I've noticed they're changing the APIs again, so I'm focusing on both, including a possibility for recordings. The VOD logic is getting closer and closer to each other, meaning that movies and series are almost identical to replay from programming you've searched for (strangely enough completely different from normal replay). Once I've got searching working, it should be possible to use movies and series, I'm not sure about Movies and Series XL, but searching for programs requires a user to be logged in so I assume search results includes programs that only some have access to.
It might be that it uses the logic from the wrong system (e.g. sends first request properly but then suddenly asks the live_tv server, or the replay server, or doesn't refresh its tokens).
I think just detecting the way Kodi starts the stream from the bladwijzers and calling the login function would solve it. I'll experiment with it myself, after I finished searching. Which I hope will be soon.

@Zynth-dev
Copy link

I still have an issue here.
Logged out just in case, then updated the plugin.
Then got the last_login bug.
Entered a wrong password on purpose, then a correct one, and login was succesful.

But the issue remains: when browsing a dutch channel and starting it, nothing happens.

@3DSBricker
Copy link
Author

In that case, I'm 99% sure that you're not using my code. Could you post the log? Redo the install with my zip? I'm unable to test for some time, but especially the last login bug sounds like it's not using my updated code.

@peerk72
Copy link

peerk72 commented Oct 15, 2022

Thanks for the great plugin!
I use the latest zip (https://github.com/dut-iptv/dut-iptv/files/9577962/plugin.video.ziggo.zip)

Live TV works well, but replay doesn't work.
See content in log file below. I hope this information helps to fix this.

Keep up the good work

2022-10-15 11:04:11.275 T:11532 INFO : Log level changed to "TRACE"
2022-10-15 11:04:11.275 T:11532 INFO : Enabled debug logging due to GUI setting. Level 2.
2022-10-15 11:04:11.275 T:11532 DEBUG : ------ Window Init () ------
2022-10-15 11:04:17.047 T:11532 DEBUG : CInputManager::ProcessMouse: trying mouse action rightclick
2022-10-15 11:04:17.054 T:11532 DEBUG : CGUIWindowManager::PreviousWindow: Deactivate
2022-10-15 11:04:17.353 T:11532 DEBUG : ------ Window Deinit (SettingsCategory.xml) ------
2022-10-15 11:04:17.353 T:11532 DEBUG : FreeVisualisation() done
2022-10-15 11:04:17.372 T:11532 DEBUG : CGUIWindowManager::PreviousWindow: Activate new
2022-10-15 11:04:17.373 T:11532 DEBUG : ------ Window Init (Settings.xml) ------
2022-10-15 11:04:19.022 T:11532 DEBUG : CInputManager::ProcessMouse: trying mouse action rightclick
2022-10-15 11:04:19.023 T:11532 DEBUG : CGUIWindowManager::PreviousWindow: Deactivate
2022-10-15 11:04:19.351 T:11532 DEBUG : ------ Window Deinit (Settings.xml) ------
2022-10-15 11:04:19.351 T:11532 DEBUG : FreeVisualisation() done
2022-10-15 11:04:19.380 T:11532 DEBUG : CGUIWindowManager::PreviousWindow: Activate new
2022-10-15 11:04:19.380 T:11532 DEBUG : ------ Window Init (Home.xml) ------
2022-10-15 11:04:19.381 T:11532 DEBUG : CDirectoryProvider[pvr://tv/]: refreshing..
2022-10-15 11:04:19.382 T:11532 DEBUG : CDirectoryProvider[pvr://channels/tv/?view=lastplayed]: refreshing..
2022-10-15 11:04:19.382 T:11532 DEBUG : CDirectoryProvider[pvr://recordings/tv/active?view=flat]: refreshing..
2022-10-15 11:04:19.382 T:11532 DEBUG : CDirectoryProvider[pvr://channels/tv]: refreshing..
2022-10-15 11:04:19.382 T:11532 DEBUG : CDirectoryProvider[pvr://radio/]: refreshing..
2022-10-15 11:04:19.382 T:11532 DEBUG : CDirectoryProvider[pvr://channels/radio/
?view=lastplayed]: refreshing..
2022-10-15 11:04:19.382 T:11532 DEBUG : CDirectoryProvider[pvr://recordings/radio/active?view=flat]: refreshing..
2022-10-15 11:04:19.382 T:11532 DEBUG : CDirectoryProvider[pvr://channels/radio]: refreshing..
2022-10-15 11:04:20.319 T:548 DEBUG : Thread JobWorker start, auto delete: true
2022-10-15 11:04:20.320 T:5604 DEBUG : ffmpeg[0x26ee307d3c0X]: [image2] Custom AVIOContext makes no sense and will be ignored with AVFMT_NOFILE format.
2022-10-15 11:04:20.320 T:11552 DEBUG : Thread JobWorker start, auto delete: true
2022-10-15 11:04:20.323 T:5604 DEBUG : ffmpeg[0x26ee307d3c0X]: [image2] Custom AVIOContext makes no sense and will be ignored with AVFMT_NOFILE format.
2022-10-15 11:04:20.332 T:548 DEBUG : Skipped 1 duplicate messages..
2022-10-15 11:04:20.332 T:548 DEBUG : ffmpeg[0x26ee3080060X]: [image2] Custom AVIOContext makes no sense and will be ignored with AVFMT_NOFILE format.
2022-10-15 11:04:22.908 T:5604 DEBUG : ffmpeg[0x26ee307d3c0X]: [image2] Custom AVIOContext makes no sense and will be ignored with AVFMT_NOFILE format.
2022-10-15 11:04:23.603 T:11532 DEBUG : CInputManager::ProcessMouse: trying mouse action leftclick
2022-10-15 11:04:23.603 T:11532 DEBUG : Activating window ID: 10025
2022-10-15 11:04:23.912 T:11532 DEBUG : ------ Window Deinit (Home.xml) ------
2022-10-15 11:04:23.912 T:11532 DEBUG : FreeVisualisation() done
2022-10-15 11:04:23.934 T:11532 DEBUG : ------ Window Init (MyVideoNav.xml) ------
2022-10-15 11:04:23.934 T:11532 INFO : Loading skin file: MyVideoNav.xml, load type: KEEP_IN_MEMORY
2022-10-15 11:04:23.987 T:11532 DEBUG : CGUIMediaWindow::GetDirectory (plugin://plugin.video.ziggo/)
2022-10-15 11:04:23.987 T:11532 DEBUG : ParentPath = [plugin://plugin.video.ziggo/]
2022-10-15 11:04:23.989 T:5628 DEBUG : Thread waiting start, auto delete: false
2022-10-15 11:04:23.995 T:548 DEBUG : CAddonDatabase::SetLastUsed[plugin.video.ziggo] took 8 ms
2022-10-15 11:04:23.996 T:5628 DEBUG : XFILE::CPluginDirectory::StartScript - calling plugin Ziggo GO('plugin://plugin.video.ziggo/','1','','resume:false')
2022-10-15 11:04:23.997 T:3156 DEBUG : Thread LanguageInvoker start, auto delete: false
2022-10-15 11:04:23.997 T:3156 INFO : initializing python engine.
2022-10-15 11:04:23.997 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): start processing
2022-10-15 11:04:24.016 T:3156 DEBUG : -->Python Interpreter Initialized<--
2022-10-15 11:04:24.016 T:3156 DEBUG :

2022-10-15 11:04:24.016 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): the source file to load is "C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py"
2022-10-15 11:04:24.017 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): setting the Python path to C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo;C:\Program Files\Kodi\addons\script.module.pycryptodome\lib;C:\Users\Peter\AppData\Roaming\Kodi\addons\script.module.certifi\lib;C:\Users\Peter\AppData\Roaming\Kodi\addons\script.module.chardet\lib;C:\Users\Peter\AppData\Roaming\Kodi\addons\script.module.fuzzywuzzy\lib;C:\Users\Peter\AppData\Roaming\Kodi\addons\script.module.idna\lib;C:\Users\Peter\AppData\Roaming\Kodi\addons\script.module.inputstreamhelper\lib;C:\Users\Peter\AppData\Roaming\Kodi\addons\script.module.pytz\lib;C:\Users\Peter\AppData\Roaming\Kodi\addons\script.module.requests\lib;C:\Users\Peter\AppData\Roaming\Kodi\addons\script.module.urllib3\lib;C:\Program Files\Kodi\system\python\Lib;C:\Program Files\Kodi\python3.8.zip;C:\Program Files\Kodi\system\python\DLLs;C:\Program Files\Kodi;C:\Program Files\Kodi\system\python;C:\Program Files\Kodi\system\python\lib\site-packages
2022-10-15 11:04:24.017 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): entering source directory C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo
2022-10-15 11:04:24.017 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): instantiating addon using automatically obtained id of "plugin.video.ziggo" dependent on version 3.0.0 of the xbmc.python api
2022-10-15 11:04:24.089 T:11532 DEBUG : ------ Window Init (DialogBusy.xml) ------
2022-10-15 11:04:24.642 T:3156 DEBUG : plugin.video.ziggo - SIGNAL: before_dispatch
2022-10-15 11:04:24.647 T:3156 DEBUG : plugin.video.ziggo - SIGNAL: after_dispatch
2022-10-15 11:04:24.647 T:5628 DEBUG : Thread waiting 5628 terminating
2022-10-15 11:04:24.647 T:3156 DEBUG : plugin.video.ziggo - SIGNAL: on_close
2022-10-15 11:04:24.647 T:3156 INFO : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): script successfully run
2022-10-15 11:04:24.654 T:11532 DEBUG : ------ Window Deinit (DialogBusy.xml) ------
2022-10-15 11:04:24.661 T:8368 DEBUG : Thread BackgroundLoader start, auto delete: false
2022-10-15 11:04:24.664 T:8368 DEBUG : Thread BackgroundLoader 8368 terminating
2022-10-15 11:04:25.880 T:11532 DEBUG : CInputManager::ProcessMouse: trying mouse action leftclick
2022-10-15 11:04:25.882 T:11532 DEBUG : CGUIMediaWindow::GetDirectory (plugin://plugin.video.ziggo/?=replaytv&movies=0)
2022-10-15 11:04:25.882 T:11532 DEBUG : ParentPath = [plugin://plugin.video.ziggo/]
2022-10-15 11:04:25.882 T:8660 DEBUG : Thread waiting start, auto delete: false
2022-10-15 11:04:25.889 T:3972 DEBUG : CAddonDatabase::SetLastUsed[plugin.video.ziggo] took 7 ms
2022-10-15 11:04:25.889 T:8660 DEBUG : XFILE::CPluginDirectory::StartScript - calling plugin Ziggo GO('plugin://plugin.video.ziggo/','1','?
=replaytv&movies=0','resume:false')
2022-10-15 11:04:25.889 T:8660 DEBUG : CScriptInvocationManager::GetLanguageInvoker - Reusing LanguageInvokerThread 8 for script C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py
2022-10-15 11:04:25.889 T:3156 INFO : initializing python engine.
2022-10-15 11:04:25.889 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): start processing
2022-10-15 11:04:25.889 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): entering source directory C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo
2022-10-15 11:04:25.889 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): instantiating addon using automatically obtained id of "plugin.video.ziggo" dependent on version 3.0.0 of the xbmc.python api
2022-10-15 11:04:25.890 T:3156 DEBUG : plugin.video.ziggo - SIGNAL: before_dispatch
2022-10-15 11:04:25.904 T:3156 DEBUG : plugin.video.ziggo - SIGNAL: after_dispatch
2022-10-15 11:04:25.904 T:3156 DEBUG : plugin.video.ziggo - SIGNAL: on_close
2022-10-15 11:04:25.904 T:3156 INFO : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): script successfully run
2022-10-15 11:04:25.906 T:8660 DEBUG : Thread waiting 8660 terminating
2022-10-15 11:04:25.911 T:13264 DEBUG : Thread BackgroundLoader start, auto delete: false
2022-10-15 11:04:25.917 T:13264 DEBUG : Thread BackgroundLoader 13264 terminating
2022-10-15 11:04:27.431 T:11532 DEBUG : CInputManager::ProcessMouse: trying mouse action leftclick
2022-10-15 11:04:27.432 T:11532 DEBUG : CGUIMediaWindow::GetDirectory (plugin://plugin.video.ziggo/?=replaytv_by_day&description&image=https%3a%2f%2fstaticqbr-nl-prod.prod.cdn.dmdsdp.com%2fimage-service%2fImagesEPG%2fEventImages%2fnpo3.png%3fstyle%3dcontent-station-logo-xlarge&label=NPO%203&station=lgi-nl-prod-master%3aNL_000003_019405)
2022-10-15 11:04:27.432 T:11532 DEBUG : ParentPath = [plugin://plugin.video.ziggo/?
=replaytv&movies=0]
2022-10-15 11:04:27.434 T:6740 DEBUG : Thread waiting start, auto delete: false
2022-10-15 11:04:27.439 T:11552 DEBUG : CAddonDatabase::SetLastUsed[plugin.video.ziggo] took 7 ms
2022-10-15 11:04:27.439 T:6740 DEBUG : XFILE::CPluginDirectory::StartScript - calling plugin Ziggo GO('plugin://plugin.video.ziggo/','1','?=replaytv_by_day&description&image=https%3a%2f%2fstaticqbr-nl-prod.prod.cdn.dmdsdp.com%2fimage-service%2fImagesEPG%2fEventImages%2fnpo3.png%3fstyle%3dcontent-station-logo-xlarge&label=NPO%203&station=lgi-nl-prod-master%3aNL_000003_019405','resume:false')
2022-10-15 11:04:27.440 T:6740 DEBUG : CScriptInvocationManager::GetLanguageInvoker - Reusing LanguageInvokerThread 8 for script C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py
2022-10-15 11:04:27.440 T:3156 INFO : initializing python engine.
2022-10-15 11:04:27.440 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): start processing
2022-10-15 11:04:27.440 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): entering source directory C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo
2022-10-15 11:04:27.440 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): instantiating addon using automatically obtained id of "plugin.video.ziggo" dependent on version 3.0.0 of the xbmc.python api
2022-10-15 11:04:27.441 T:3156 DEBUG : plugin.video.ziggo - SIGNAL: before_dispatch
2022-10-15 11:04:27.443 T:3156 DEBUG : plugin.video.ziggo - SIGNAL: after_dispatch
2022-10-15 11:04:27.443 T:3156 DEBUG : plugin.video.ziggo - SIGNAL: on_close
2022-10-15 11:04:27.443 T:3156 INFO : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): script successfully run
2022-10-15 11:04:27.443 T:6740 DEBUG : Thread waiting 6740 terminating
2022-10-15 11:04:27.447 T:4492 DEBUG : Thread BackgroundLoader start, auto delete: false
2022-10-15 11:04:27.450 T:4492 DEBUG : Thread BackgroundLoader 4492 terminating
2022-10-15 11:04:29.633 T:11532 DEBUG : CInputManager::ProcessMouse: trying mouse action leftclick
2022-10-15 11:04:29.634 T:11532 DEBUG : CGUIMediaWindow::GetDirectory (plugin://plugin.video.ziggo/?
=replaytv_content&day=1&label=Gister%20-%20Vrijdag%2014%20oktober%202022&station=lgi-nl-prod-master%3aNL_000003_019405)
2022-10-15 11:04:29.634 T:11532 DEBUG : ParentPath = [plugin://plugin.video.ziggo/?=replaytv_by_day&description&image=https%3a%2f%2fstaticqbr-nl-prod.prod.cdn.dmdsdp.com%2fimage-service%2fImagesEPG%2fEventImages%2fnpo3.png%3fstyle%3dcontent-station-logo-xlarge&label=NPO%203&station=lgi-nl-prod-master%3aNL_000003_019405]
2022-10-15 11:04:29.636 T:11924 DEBUG : Thread waiting start, auto delete: false
2022-10-15 11:04:29.642 T:11552 DEBUG : CAddonDatabase::SetLastUsed[plugin.video.ziggo] took 8 ms
2022-10-15 11:04:29.642 T:11924 DEBUG : XFILE::CPluginDirectory::StartScript - calling plugin Ziggo GO('plugin://plugin.video.ziggo/','1','?
=replaytv_content&day=1&label=Gister%20-%20Vrijdag%2014%20oktober%202022&station=lgi-nl-prod-master%3aNL_000003_019405','resume:false')
2022-10-15 11:04:29.642 T:11924 DEBUG : CScriptInvocationManager::GetLanguageInvoker - Reusing LanguageInvokerThread 8 for script C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py
2022-10-15 11:04:29.642 T:3156 INFO : initializing python engine.
2022-10-15 11:04:29.642 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): start processing
2022-10-15 11:04:29.642 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): entering source directory C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo
2022-10-15 11:04:29.643 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): instantiating addon using automatically obtained id of "plugin.video.ziggo" dependent on version 3.0.0 of the xbmc.python api
2022-10-15 11:04:29.643 T:3156 DEBUG : plugin.video.ziggo - SIGNAL: before_dispatch
2022-10-15 11:04:29.736 T:11532 DEBUG : ------ Window Init (DialogBusy.xml) ------
2022-10-15 11:04:30.506 T:3156 DEBUG : plugin.video.ziggo - SIGNAL: after_dispatch
2022-10-15 11:04:30.506 T:3156 DEBUG : plugin.video.ziggo - SIGNAL: on_close
2022-10-15 11:04:30.506 T:3156 INFO : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): script successfully run
2022-10-15 11:04:30.512 T:11924 DEBUG : Thread waiting 11924 terminating
2022-10-15 11:04:30.533 T:11532 DEBUG : ------ Window Deinit (DialogBusy.xml) ------
2022-10-15 11:04:30.561 T:6848 DEBUG : Thread BackgroundLoader start, auto delete: false
2022-10-15 11:04:30.574 T:6848 DEBUG : Thread BackgroundLoader 6848 terminating
2022-10-15 11:04:32.094 T:11552 DEBUG : XCURL::DllLibCurlGlobal::easy_acquire - Created session to https://staticqbr-nl-prod.prod.cdn.dmdsdp.com
2022-10-15 11:04:32.351 T:11552 DEBUG : CCurlFile::GetMimeType - https://staticqbr-nl-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p21574268_b_v8_ae.jpg -> image/jpeg
2022-10-15 11:04:32.352 T:11552 DEBUG : CurlFile::Open(0x26eea58dd10) https://staticqbr-nl-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p21574268_b_v8_ae.jpg
2022-10-15 11:04:32.543 T:11552 DEBUG : ffmpeg[0x26ee307e080X]: [image2] Custom AVIOContext makes no sense and will be ignored with AVFMT_NOFILE format.
2022-10-15 11:04:32.553 T:11552 DEBUG : Caching image 'https://staticqbr-nl-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p21574268_b_v8_ae.jpg' to '7/7497ca29.jpg':
2022-10-15 11:04:32.572 T:11552 DEBUG : cached image 'special://masterprofile/Thumbnails/7/7497ca29.jpg' size 480x720
2022-10-15 11:04:32.880 T:11552 DEBUG : CCurlFile::GetMimeType - https://staticqbr-nl-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p22920795_b_v8_ab.jpg -> image/jpeg
2022-10-15 11:04:32.881 T:11552 DEBUG : CurlFile::Open(0x26eea58ac50) https://staticqbr-nl-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p22920795_b_v8_ab.jpg
2022-10-15 11:04:32.940 T:11552 DEBUG : ffmpeg[0x26ee307e080X]: [image2] Custom AVIOContext makes no sense and will be ignored with AVFMT_NOFILE format.
2022-10-15 11:04:32.950 T:11552 DEBUG : Caching image 'https://staticqbr-nl-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p22920795_b_v8_ab.jpg' to '2/2e6464c9.jpg':
2022-10-15 11:04:32.971 T:11552 DEBUG : cached image 'special://masterprofile/Thumbnails/2/2e6464c9.jpg' size 480x720
2022-10-15 11:04:33.353 T:3972 DEBUG : CCurlFile::GetMimeType - https://staticqbr-nl-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p21368818_b_v11_ac.jpg -> image/jpeg
2022-10-15 11:04:33.353 T:3972 DEBUG : CurlFile::Open(0x26eea58c310) https://staticqbr-nl-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p21368818_b_v11_ac.jpg
2022-10-15 11:04:33.415 T:3972 DEBUG : ffmpeg[0x26ee307fd30X]: [image2] Custom AVIOContext makes no sense and will be ignored with AVFMT_NOFILE format.
2022-10-15 11:04:33.432 T:3972 DEBUG : Caching image 'https://staticqbr-nl-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p21368818_b_v11_ac.jpg' to '0/003724ad.jpg':
2022-10-15 11:04:33.466 T:3972 DEBUG : cached image 'special://masterprofile/Thumbnails/0/003724ad.jpg' size 480x720
2022-10-15 11:04:33.961 T:11532 DEBUG : CInputManager::ProcessMouse: trying mouse action leftclick
2022-10-15 11:04:33.965 T:11532 DEBUG : CGUIWindowVideoBase::OnPlayMedia plugin://plugin.video.ziggo/?=play_video&channel=lgi-nl-prod-master%3ANL_000003_019405&id=crid%3A2F2Fgn.tv2F230212712FEP021726020369%2Cimi%3A0b14a67004551e7c9fd8ee2b7e1617b1c73169c6&type=program
2022-10-15 11:04:33.966 T:11532 DEBUG : XFILE::CPluginDirectory::StartScript - calling plugin Ziggo GO('plugin://plugin.video.ziggo/','1','?
=play_video&channel=lgi-nl-prod-master%3ANL_000003_019405&id=crid%3A2F2Fgn.tv2F230212712FEP021726020369%2Cimi%3A0b14a67004551e7c9fd8ee2b7e1617b1c73169c6&type=program','resume:false')
2022-10-15 11:04:33.966 T:11532 DEBUG : CScriptInvocationManager::GetLanguageInvoker - Reusing LanguageInvokerThread 8 for script C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py
2022-10-15 11:04:33.967 T:3156 INFO : initializing python engine.
2022-10-15 11:04:33.967 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): start processing
2022-10-15 11:04:33.967 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): entering source directory C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo
2022-10-15 11:04:33.967 T:3156 DEBUG : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): instantiating addon using automatically obtained id of "plugin.video.ziggo" dependent on version 3.0.0 of the xbmc.python api
2022-10-15 11:04:33.967 T:3156 DEBUG : plugin.video.ziggo - SIGNAL: before_dispatch
2022-10-15 11:04:33.985 T:5604 DEBUG : XCURL::DllLibCurlGlobal::easy_acquire - Created session to http://www.msftncsi.com
2022-10-15 11:04:33.987 T:9716 DEBUG : Thread scriptobs start, auto delete: false
2022-10-15 11:04:34.188 T:11532 DEBUG : ------ Window Init (DialogBusy.xml) ------
2022-10-15 11:04:35.121 T:3156 DEBUG : plugin.video.ziggo - Session Code 401
2022-10-15 11:04:35.121 T:3156 DEBUG : plugin.video.ziggo - api_login call from api_get_session
2022-10-15 11:04:35.122 T:3156 DEBUG : plugin.video.ziggo - api_login, retry False
2022-10-15 11:04:35.502 T:3156 DEBUG : plugin.video.ziggo - householdId: ########nl
2022-10-15 11:04:35.633 T:3156 DEBUG : plugin.video.ziggo - profileId ##################
2022-10-15 11:04:35.781 T:3156 DEBUG : plugin.video.ziggo - entitlements: eyJhbGciOiJIUzI1NiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAAAFWPMW-DMBhE_4vnDqaNQY7UoaIBjIIciGNclqrEifphQ5GcCKIq_z2gtpE63PLuDXffSKMlOlxSW3dFr-PR1qU86yQDbk8Ba61hzRdk4mXIXn_COuwmv69C5rOGzQyO2_HucmHIb57-u3dOeJjSdeLgo8yBQ7qTzWqRTUxtB6ha-akTeanUvMHBvpVDHUdEJ2-wDv9c5pihcWHGVBhZCpzP3UZGxXFnZC5WUaUw5SIyoBR-Rg9of3bTUQ9jQnzv8b2zEzuMPVp6vk8oDRYBud4AlcBRfA0BAAA.ztmIwNrbqlHZi7oq5v1p3WCZNrcEO9yk631oj3sTh_E
2022-10-15 11:04:35.781 T:3156 DEBUG : plugin.video.ziggo - accesstoken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Im9lc3BfdG9rZW5fcHJvZF8yMDIwMDgxOSJ9.eyJpc3MiOiJ3ZWItYXBpLXByb2Qtb2JvLmhvcml6b24udHYiLCJzaWQiOiI0MDA1MmRhMDA4ZGZlMTYzOTMxNTdjZDJlOTc5ZjFhYzZlNzZmMmRmMzY3NGFjOWViNzdkOTY5MDViMTU0MjhjIiwiaWF0IjoxNjY1ODI0Njc1LCJleHAiOjE2NjU4MzE4NzUsInN1YiI6IjEwMDU1NjEyX25sIn0.LycE1J2Od-iktXPa_6y17ZFux2BJ5-D7mEcMY0z7ch8
2022-10-15 11:04:35.938 T:3156 DEBUG : plugin.video.ziggo - Session Code 200
2022-10-15 11:04:36.094 T:3156 DEBUG : plugin.video.ziggo - api_login success
2022-10-15 11:04:36.095 T:3156 DEBUG : plugin.video.ziggo - api_get_session skipping
2022-10-15 11:04:36.414 T:11532 DEBUG : ------ Window Deinit (DialogBusy.xml) ------
2022-10-15 11:04:36.414 T:9716 DEBUG : Thread scriptobs 9716 terminating
2022-10-15 11:04:36.414 T:3156 DEBUG : plugin.video.ziggo - SIGNAL: after_dispatch
2022-10-15 11:04:36.414 T:3156 DEBUG : plugin.video.ziggo - SIGNAL: on_close
2022-10-15 11:04:36.414 T:3156 INFO : CPythonInvoker(8, C:\Users\Peter\AppData\Roaming\Kodi\addons\plugin.video.ziggo\default.py): script successfully run
2022-10-15 11:04:36.414 T:11532 ERROR : Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.ziggo/?
=play_video&channel=lgi-nl-prod-master%3ANL_000003_019405&id=crid%3A2F2Fgn.tv2F230212712FEP021726020369%2Cimi%3A0b14a67004551e7c9fd8ee2b7e1617b1c73169c6&type=program]
2022-10-15 11:04:36.414 T:11532 DEBUG : Playlist Player: no more playable items... aborting playback
2022-10-15 11:04:36.414 T:5544 DEBUG : Thread BackgroundLoader start, auto delete: false
2022-10-15 11:04:36.429 T:5544 DEBUG : Thread BackgroundLoader 5544 terminating
2022-10-15 11:04:37.791 T:11552 DEBUG : ffmpeg[0x26ee307e080X]: [image2] Custom AVIOContext makes no sense and will be ignored with AVFMT_NOFILE format.
2022-10-15 11:04:43.345 T:11532 DEBUG : Skipped 1 duplicate messages..
2022-10-15 11:04:43.345 T:11532 DEBUG : ------ Window Deinit (Pointer.xml) ------
2022-10-15 11:04:43.395 T:11532 DEBUG : ------ Window Init (Pointer.xml) ------
2022-10-15 11:04:48.450 T:11532 DEBUG : ------ Window Deinit (Pointer.xml) ------
2022-10-15 11:05:03.786 T:11532 DEBUG : XCURL::DllLibCurlGlobal::CheckIdle - Closing session to https://staticqbr-nl-prod.prod.cdn.dmdsdp.com (easy=0x26ee922c3d0, multi=0x26ee00285e0)
2022-10-15 11:05:04.287 T:11532 DEBUG : XCURL::DllLibCurlGlobal::CheckIdle - Closing session to http://www.msftncsi.com (easy=0x26ee9230900, multi=(nil))
2022-10-15 11:05:30.651 T:5604 DEBUG : Thread JobWorker 5604 terminating (autodelete)
2022-10-15 11:05:30.651 T:11552 DEBUG : Thread JobWorker 11552 terminating (autodelete)
2022-10-15 11:05:30.651 T:548 DEBUG : Thread JobWorker 548 terminating (autodelete)
2022-10-15 11:05:30.651 T:3972 DEBUG : Thread JobWorker 3972 terminating (autodelete)

@3DSBricker
Copy link
Author

Sorry for the late response, I was abroad. First, I would like to ask you to remove your profile ID and household ID, it's a personal ID. I don't know if something can happen if people know one's ID. The other tokens don't matter since they reset within a short amount of time. About the replay, I don't actually see a problem. It mentions the tokens are not valid anymore, so it refreshes them. It then gets a response from Ziggo saying everything is okay (code 200), then Kodi suddenly complains it's unplayable. I'm cleaning up all code in the mean time since this is a really quick and dirty fix. Maybe certain problems will be more easy to locate and solve, and I'll make the code hide the profile and household IDs again.

@3DSBricker
Copy link
Author

As some might've realized by now, replay isn't working. I think this is the same reason as yours stopped working, the EPG Github (which I don't own nor is open-source so I could try and restore it) removed all Telenet and Ziggo EPG files, except the movies and series (which don't work anymore). Although I'm not sure why I hadn't problems at first. I saw the commits in the EPG Github before it fully stopped, it had some half complete commits so you might've picked those that weren't on the list or rather, I picked the ones that were on the list. I'll just try to completely work on getting recordings working, even though not everyone would benefit from that. Movies and series is different, hence the recordings.

@jeroenhabets
Copy link

FYI: Yesterday, 12 december 2022, I installed the plugin.video.ziggo.zip from @3DSBricker's comment and Ziggo live was working again in my kodi :).

Commenting here to help other Dutch Kodi users struggling with the Ziggo GO add-on to more easily find the working add-on zip at least for live TV.

@kersvanbinsbergen
Copy link

FYI: Yesterday, 12 december 2022, I installed the plugin.video.ziggo.zip from @3DSBricker's comment and Ziggo live was working again in my kodi :).

Commenting here to help other Dutch Kodi users struggling with the Ziggo GO add-on to more easily find the working add-on zip at least for live TV.

Ik heb m gebruikt ook

@mrblond18
Copy link

Hi all, for me the plugin works again as well after using the aforementioned zipped version. Thanks a lot!

For me it works on Linux and Windows, not on OSX. However, that was before this issue as well.

@3DSBricker
Copy link
Author

I've noticed all plugin providers have stopped working now. Either replay, live TV, or both (like what happened to Ziggo). The workarounds I made to the Ziggo plugin are very specific, I don't think I have the time, nor probably even can fix other providers. Also because I don't have any login information. For Ziggo, I've made some progress on recordings. If that's working, I think VOD will be doable and the next thing I'll focus on, unless things stop working, or someone has any other ideas I can try to add or get working. While I have got an EPG (a quite complete one) to work in Kodi in combination with the Ziggo GO plugin, it doesn't contain any IDs needed for replay. So that won't be a priority for now.

Dus als iemand naast opnames of video on demand (movies and series) nog ideeën heeft, ik zal kijken of het mogelijk is.
De huidige structuur van opnames is:
De naam van het programma > seizoenen > afleveringen
Indien er geen seizoen is kun je op de naam van het programma klikken, waarna je direct de stream kunt starten. Je start de stream van, bijvoorbeeld, een film dus niet meteen als je op het programma klikt, maar om de structuur te houden in verband met mogelijke seizoenen, moet je in totaal dus 2x klikken. Zo voorkom je ook dat je per ongeluk een programma start.

The current structure of recordings is:
Name of the program > seasons > episodes
In case there are no seasons, you can select the name of the program, after which you can start the stream. You don't start the stream of, for example, a movie not the moment you select a name in the list, but to retain structure in case of possible seasons, you need to select the recording twice. That way, you also prevent the accidental starting of a stream.

@kersvanbinsbergen
Copy link

kersvanbinsbergen commented Jan 26, 2023

Wat bedoel je met:
"While I have got an EPG (a quite complete one) to work in Kodi in combination with the Ziggo GO plugin, it doesn't contain any IDs needed for replay. "

Wat heb je nodig om het te maken? Misschien kan ik je helpen? Ik kan niet coden maar zie graag de replay functie terug :-)

@3DSBricker
Copy link
Author

Ik heb een redelijk grote open-source EPG provider op Github gevonden. De EPG werkt perfect, hij is erg compleet, maar de IDs, die Ziggo "crid" noemt, worden niet meegegeven via deze EPG. Ook wel logisch, gezien het feit dat bijna niemand die informatie nodig heeft. De EPG gebruikt wel de Ziggo API, en aangezien het open-source is, zou het mogelijk moeten zijn met de code die zij gebruiken. Het liefst zet ik replay boven VOD, nadat ik de opnames ook speelbaar heb gemaakt (tot nu toe kan ik ze ophalen, de seizoenen bekijken en de afleveringen, en de informatie/beschrijving van een aflevering met foto erbij).

Het enige punt waar ik nog mee zit is dat alles erg traag is. Ik heb het wel wat sneller kunnen maken, maar erg tijdelijk. Ik sla de opnames (automatisch) op in een bestand, dat geldig is voor 15 minuten; daarna moet hij de opnames alsnog ophalen, wat wel een halve minuut kan duren of iets meer. Is dit altijd zo geweest? Bijvoorbeeld met replay? Ik heb de add-on helaas nooit kunnen gebruiken toen alles nog werkte. Ik denk niet dat het heel traag was, omdat dut-epg een manier gebruikte om alle bestanden zo klein mogelijk te houden.

@kersvanbinsbergen
Copy link

kersvanbinsbergen commented Jan 27, 2023

De vod heb ik nooit echt gebruikt, wel een keer door het movies on demand menu gelopen maar nooit een film of serie opgestart.

Replay was rete snel. Werkte perfect. Je kon daarmee reclame ddoorspoelen. Dat was voor mij ook de rede waarom ik ben gaan zoeken naar een kodi plug in. Want de originele ziggo app is degene die de spoel restrictie oplegt, bedacht ik me. De stream is enkel een stream.

@meganiekje
Copy link

meganiekje commented Jan 27, 2023

@3DSBricker: Het zou echt geweldig zijn als je de Api weer aan de gang krijgt met Live tv en replay. Tvgids is voor mij niet nodig.
Nu gebruik ik de Retrospect kodi add-on voor ned1,2,3,Rtl en Sbs. Dat werkt super. Voor Tlc en Bbc-one gebruik ik de nieuwe witte chromecast-tv met de ziggo-go app. (Deze chromecast kan ook heel goed kodi draaien !)
Het zou echt zoveel handiger zijn om alles in kodi te hebben.
Ik hoop echt dat het je lukt !!

@3DSBricker
Copy link
Author

Ik heb de opnames nu werkend. Hoewel, alleen de opnames die geen seizoenen hebben werken op dit moment: films, eenmalige afleveringen, specials. Opnames van een seizoen, maar waar 1 aflevering is, tellen dus niet mee. Ik hoop de opnames met seizoenen vandaag, of binnenkort, af te hebben. Dan upload ik alles naar Github en post hier een ZIP bestand die je kunt installeren. Als je geen cloud opnames hebt: ik heb geen idee wat er gebeurt als je alsnog op Opnames/Recordings klikt. Waarschijnlijk krijg je een fout, of een lege lijst.

Kodi onthoudt waar je was in een opname, en start de stream ook weer correct vanaf dat punt. Reclame blokken zijn niet gemarkeerd in een opname, wel kun je vooruit en terugspoelen, dus zul je zelf moeten kijken hoelang de reclame duurt (de reclame blokken worden toch vaak verkeerd gemarkeerd). Voor nu zijn opnames nog wel heel traag, zeker de eerste keer, aangezien dan alle lijsten nog binnengehaald moeten worden en er geen cache is. Ik zoek nog een oplossing daarvoor, ook voordat ik aan replay begin; omdat dat nog trager gaat worden als ik het direct vanaf Ziggo laat downloaden. Elke aanvraag moet namelijk achter elkaar worden gedaan, in tegenstelling tot dut-epg waar Github (of iets anders) de aanvragen deed en opdeelde in mooie kleine bestanden.

Over het cache gesproken met betrekking tot opnames en replay: een cache waarin de lijst met opnames, bijvoorbeeld, is opgeslagen; is het beter om het bij te werken op de achtergrond? En is een tijd van elke 15 minuten of elke 30 minuten genoeg? Of wil je opnames van binnen die periode al kijken, of juist minder vaak dan elk half uur?

@mrblond18
Copy link

Ik heb een redelijk grote open-source EPG provider op Github gevonden. De EPG werkt perfect, hij is erg compleet, maar de IDs, die Ziggo "crid" noemt, worden niet meegegeven via deze EPG. Ook wel logisch, gezien het feit dat bijna niemand die informatie nodig heeft. De EPG gebruikt wel de Ziggo API, en aangezien het open-source is, zou het mogelijk moeten zijn met de code die zij gebruiken. Het liefst zet ik replay boven VOD, nadat ik de opnames ook speelbaar heb gemaakt (tot nu toe kan ik ze ophalen, de seizoenen bekijken en de afleveringen, en de informatie/beschrijving van een aflevering met foto erbij).

Het enige punt waar ik nog mee zit is dat alles erg traag is. Ik heb het wel wat sneller kunnen maken, maar erg tijdelijk. Ik sla de opnames (automatisch) op in een bestand, dat geldig is voor 15 minuten; daarna moet hij de opnames alsnog ophalen, wat wel een halve minuut kan duren of iets meer. Is dit altijd zo geweest? Bijvoorbeeld met replay? Ik heb de add-on helaas nooit kunnen gebruiken toen alles nog werkte. Ik denk niet dat het heel traag was, omdat dut-epg een manier gebruikte om alle bestanden zo klein mogelijk te houden.

Welke EPG gebruik je? Ik heb er zelf ook 1 gevonden:
https://github.com/jdierkse/fast_tv_grab_nl
maar ben niet zo heel tevreden met de resultaten...

@3DSBricker
Copy link
Author

Deze:
https://github.com/iptv-org/epg
Hier ook een voorbeeld van hun Ziggo EPG implementatie:
https://github.com/iptv-org/epg/blob/master/sites/ziggogo.tv/ziggogo.tv.config.js#L96

Overigens heb ik eindelijk opnames volledig werkend, de eerste keer (keren) duurt het best wel lang. Ik heb een cache gemaakt waardoor het, zeker bij dagelijks gebruik, wel te doen is, maar dan nog duurt het nog lang om de stream op te starten. Wel klopt alles nu: de correcte poster bij een bepaald seizoen, de goede beschrijving bij een seizoen, maar ook die van een aflevering. Hoewel ik dit wel upload, is het nog steeds niet bepaald klaar om zo te laten.
De EPG die je stuurde is behoorlijk oud en gebruikt nog het Horizon platform, iets wat überhaupt niet eens meer werkt. Hun nieuwste versie komt uit 2020:
https://github.com/tvgrabbers/tvgrabpyAPI
Nog steeds raad ik iptv-org aan als EPG. Het kan wat werk zijn als sommige kanalen niet in 1x willen, maar het valt goed te combineren met Ziggo, hoewel ik nog steeds niet een oplossing heb voor de IDs en dus de replay via de EPG. Ook heb ik geen mogelijkheid om opnames te maken/SET aangezien ik (nog) geen EPG met IDs heb.

plugin.video.ziggo.zip

Het kan zijn dat opnames maar tot zo'n 3 minuten werken (als ze eindelijk werken), daar zoek ik nog een oplossing voor. Ik kan de streaming token niet goed verversen.

@3DSBricker
Copy link
Author

Hier een verbeterde versie waar de token wèl wordt vernieuwd en niet meer bij 2.5 minuut crasht. Ook draait er een automatische login thread; die automatisch de inloggegevens vernieuwd. De plugin is dus een stuk sneller nu, vergeleken met de vorige versie. De stream starten, blijft echter nog een max 20 seconde wachten afhankelijk van de internetsnelheid/snelheid van Ziggo's servers. Voor het laden van de stream is er nog ruimte voor verbetering; dat proces is namelijk nog wat chaotisch en wordt vaker dan nodig uitgevoerd.

Ik heb ook de Dut-IPTV proxy gewijzigd, dus ik raad aan die ook te installeren; ik weet niet of het nodig is. De proxy gebruikte nog de oude API, vandaar de wijzigingen.

plugin.video.ziggo.zip
service.dutiptv.proxy.zip

Inmiddels is de iptv-org EPG ook offline gehaald door een DMCA/ToS violation, dus ik moet kijken of ik iets met de Ziggo servers zelf kan doen. Opnames verwijderen is minder lastig.

@Scoopline
Copy link

Scoopline commented Feb 24, 2023

Top! Werkt hier weer als vanouds. Gaat mij alleen om de live streams. Dank voor je werk !

@kersvanbinsbergen
Copy link

Kunnen we je helpen om aan EPG's met ID te komen?

@3DSBricker
Copy link
Author

Tja, het beste is natuurlijk direct van Ziggo. Volgens mij heb ik ergens wel hun Ziggo EPT script gedownload. Vind ik die, dan kan ik er mee bezig. Het nadeel is, op deze manier zal ik waarschijnlijk wel hetzelfde moeten doen als Dut-EPG. Zo niet, dan duurt het een eeuwigheid (uren) voordat de EPG eindelijk geüpdatet is. Voor zover ik weet was Dut-EPG, in de ogen van de wet, illegaal. In ieder geval in strijd met die van Ziggo. Misschien als iemand nog ergens een recente fork van IPTV-ORG vindt, dat ik een nieuwer script kan gebruiken. Er waren namelijk nog wat verbeteringen.

@kersvanbinsbergen
Copy link

Op die fiets.

Dat gaat me helaas boven m'n pet.

Ik hoop ddat het je gaat lukken want reclame vrij programma's van commerciële zenders terug kunnen kijken was destijds een zegen.

@rmast
Copy link

rmast commented Mar 19, 2023

@3DSBricker schreef:

Hier een verbeterde versie
plugin.video.ziggo.zip service.dutiptv.proxy.zip

Ik heb de installatie als volgt gedaan: Nieuwe LibreElec 10.0.4 syslinux-opstart-stick voor PC gemaakt en 'run' gekozen. Complete ziggo app via Oude repo, en vervolgens deze twee zip's er als installatie via zip overheen. Pas daarna inloggen. Dat werkte, ik kreeg zelfs even live-tv van Nederland 1 en RTL 4. Widevine wilde installeren.
Helaas was het feest daarna over. Inderdaad als je replay probeert een EPG-foutmelding, maar ook op een ander moment een fout over threading. Na enige tijd zie ik alleen nog maar een draaiend rondje als ik een live-kanaal kies.
20230319_223053
20230319_204345

@rmast
Copy link

rmast commented Mar 19, 2023

By the way, als je ziggogo.tv met een DRM ondersteunende browser bezoekt kun je in de developer/network-settings vast bij replay wel e.e.a. aan benodigdheden vinden, maar als de EPG te veel werk is is het natuurlijk ook een optie om een 'stabiele' versie zonder replay te maken.

@3DSBricker
Copy link
Author

Lang geleden alweer, ik heb live tv weer werkend, opnames werken ook goed. Het kan voorkomen dat er wat rare meldingen komen tijdens het streamen. Ik heb de meeste kunnen oplossen (bijvoorbeeld vaker de inlogtokens opvragen zodat je niet begroet wordt met een "403 Forbidden" melding tijdens het kijken). Op het moment heb ik alleen met Live TV een melding over streaming limiet gekregen. Dit is niet een fout in de detectie, dit is wel wat Ziggo echt meldt. In dat geval kun je gewoon op OK klikken. Wellicht dat m'n vorige versie nog werkt met Live TV aangezien Ziggo haar Live TV domeinen had veranderd.
Deze versie zou stabieler moeten zijn wat betreft timeouts en crashes (hopelijk ook qua threads en het afsluiten van Kodi). Ik beschouw dit nog wel als een werkende Alpha versie. Ook vele "NoneType objects" zijn veroorzaakt door de sessielimiet. Dit komt waarschijnlijk door wat rommelige code.

service.dutiptv.proxy.zip
plugin.video.ziggo.zip

Ik zal ook een nieuwe issue maken zonder het bug label.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests