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
Comments
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). |
@3DSBricker : thats great work !!! |
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. |
@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. |
@3DSBricker : A lot of thanks for your effort. You make a lot of people very happy ! |
@3DSBricker : I found the files at https://github.com/3DSBricker/dut-iptv (I think) |
I can't make a ZIP right now. The plugin is in: |
@3DSBricker : Thanks to your info, I managed to replace the files on my windows pc, and on my Libreelec unit. 💯 🥇 |
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. |
@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. 👍 |
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. |
@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'. |
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 |
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. |
Thanks for the fix. |
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? |
With LibreElec, i had to: |
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. |
@3DSBricker : Take your time, no need to hurry :) |
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?). |
@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. |
@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. |
Offline DRM is possible, at least, Ziggo uses it for downloading movies and watching them offline. |
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. |
@3DSBricker : 2022-09-19 19:44:42.908 T:2716 INFO : initializing python engine. 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 : AddOnLog: inputstream.adaptive: License server returned failure 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. |
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. |
@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. |
@3DSBricker: Because my LibreElec system goes to suspend mode, it almost nerver works. |
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. |
I still have an issue here. But the issue remains: when browsing a dutch channel and starting it, nothing happens. |
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. |
Thanks for the great plugin! Live TV works well, but replay doesn't work. 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: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" |
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. |
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. |
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 |
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. |
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. The current structure of recordings is: |
Wat bedoel je met: Wat heb je nodig om het te maken? Misschien kan ik je helpen? Ik kan niet coden maar zie graag de replay functie terug :-) |
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. |
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. |
@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. |
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? |
Welke EPG gebruik je? Ik heb er zelf ook 1 gevonden: |
Deze: 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. 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. |
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 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. |
Top! Werkt hier weer als vanouds. Gaat mij alleen om de live streams. Dank voor je werk ! |
Kunnen we je helpen om aan EPG's met ID te komen? |
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. |
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. |
@3DSBricker schreef:
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. |
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. |
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. service.dutiptv.proxy.zip Ik zal ook een nieuwe issue maken zonder het bug label. |
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:
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:
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
The text was updated successfully, but these errors were encountered: