retrospect-addon / plugin.video.retrospect

Retrospect is a Kodi video add-on which allows you to watch streams of a number of free and publicly available online TV stream sites.
https://www.rieter.net/content/
GNU General Public License v3.0
112 stars 36 forks source link

SE TV4 Play: Missing movies, series and seasons in series #1714

Closed matsarv closed 1 year ago

matsarv commented 1 year ago

Bug report

Describe the bug

Recently added movies, series and seasons of series are missing.

Expected Behavior

View all newly added TV shows

Actual Behavior

Recently added movies, series and seasons of series are missing. No new image and fanart is downloaded for the programs. Error in Kodi.log, error with imageproxy services.

Possible Fix

As a test for the images, I removed imageproxy and after that the images started to appear again. As for the other issues, it could be changes in the API. TV4 Play has now received an updated layout and now with the content from cmore.

To Reproduce

Steps to reproduce the behavior:

Some example on things that is missing now.

Missing Långfilm (Movies) Greenland Spanglish

https://www.tv4play.se/program/7fa0816013259a226175/greenland https://www.tv4play.se/program/7bfde4baaa1e7b88e609/spanglish

Missing new Series Under Categories / Drama

The White Queen The White Princess

https://www.tv4play.se/program/36ef84707c4146142ab7/the-white-queen https://www.tv4play.se/program/39b85536a99143e663cc/the-white-princess

Missing new season in a Serie Under Categories / Drama / Kommisarie Dalgliesh, missing Säsong 2 Under Categories / Drama / Morden i Brokenwood, missing Season 8

https://www.tv4play.se/program/043185a9ed2c15c95046/kommissarie-dalgliesh https://www.tv4play.se/program/7915b9c849d93237d6a6/morden-i-brokenwood

Some missing areas on home page, some examples: New on Play Kommer snart Last chance

Debuglog

The debug retrospect.log can be found here: For imageproxy: Retrospect log: https://paste.kodi.tv/ewowocabiv.kodi Kodi log: https://paste.kodi.tv/ronayuqebo.kodi

Screenshots

Additional context or screenshots (if appropriate)

Your Environment

Used Operating system:

Used versions:

basrieter commented 1 year ago

UPDATE after closing the issue: I added a tutorial to the Retrospect WIKI page with the process of setting the refresh token: https://github.com/retrospect-addon/plugin.video.retrospect/wiki/Storing-Passwords-in-the-Retrospect-Vault

matsarv commented 1 year ago

My test code changes in chn_tv4se.py to get the images and fanart back: If it's API changes, maybe this doesn't apply?

Possible fix for line 282

``` Line 282 from: item.thumb = result_set.get("image") if item.thumb is not None: item.thumb = "https://imageproxy.b17g.services/?format=jpg&shape=cut" \ "&quality=70&resize=520x293&source={}" \ .format(HtmlEntityHelper.url_encode(item.thumb)) item.fanart = result_set.get("image") if item.fanart is not None: item.fanart = "https://imageproxy.b17g.services/?format=jpg&shape=cut" \ "&quality=70&resize=1280x720&source={}" \ .format(HtmlEntityHelper.url_encode(item.fanart)) item.isPaid = result_set.get("is_premium", False) to: item.thumb = result_set.get("image") item.fanart = result_set.get("image") item.isPaid = result_set.get("is_premium", False) ```

Possible fix for line 440

``` Line 440 from: # some images need to come via a proxy: if thumb_url and "://img.b17g.net/" in thumb_url: item.thumb = "https://imageproxy.b17g.services/?format=jpg&shape=cut" \ "&quality=70&resize=520x293&source={}" \ .format(HtmlEntityHelper.url_encode(thumb_url)) else: item.thumb = thumb_url to: # some images need to come via a proxy: if thumb_url and "://img.b17g.net/" in thumb_url: item.thumb = "{}".format(HtmlEntityHelper.url_encode(thumb_url)) else: item.thumb = thumb_url ```

basrieter commented 1 year ago

The issue is the API, seems they moved to a new one and are no longer updating the old one. I will have to dive into it a bit more. But my time is very limited at the moment.

create-issue-branch[bot] commented 1 year ago

Branch bug-1714 was created for issue: "SE TV4 Play: Missing movies, series and seasons in series"

cabban commented 1 year ago

@basrieter 😀😣 Cmore have moved all Webplay to tv4 so that's why none of new shows from tv4 play is added. I hope we can have this working soon 😀 so tv4 and cmore is tv4play Now Tv4play+ is paid Keep up the great work😀

basrieter commented 1 year ago

I will have to look into it. But the timing sucks, as I am really busy with RL things at the moment. Will try to do my best.

telgetok commented 1 year ago

Hope there is a update coming soon so the family can watch "idol" without commercials again 😉. Donation coming.

basrieter commented 1 year ago

I need to rewrite the whole integration from scratch is crappy timing, as I am very very busy IRL at the moment.

telgetok commented 1 year ago

Ah too bad for us , donation done anyway. And great job i think i speak for all of us when i say we appreciate the job you do !

basrieter commented 1 year ago

I am really going to put in an effort this week, but a the start of an academic year, my time is always very limited.

huey-smart commented 1 year ago

I believe this is the first time that you have not fixed an issue immediately, and you are very much forgiven. :) Any updated ETA on it?

basrieter commented 1 year ago

I know it has been taking some time. The problem lies in my current real-life that is very/too busy. And because I need to rewrite most of the code for TV4, it will take up more then just 15 minutes to do.

mangebest commented 1 year ago

50 E from me. Hoping for swedish tv4play to work soon.

basrieter commented 1 year ago

Thanks! I was planning on putting some effort in this the next couple of days. So I hope it will work out.

basrieter commented 1 year ago

Managed to get lists of shows/movies again. However I am running into an issue with logging in. Seems like they changed it and currently, I can't figure it out. Any pointers would be nice.

Kooperx commented 1 year ago

It seems that you need to include a "akamai-bm-telemetry" header to /oauth/authorize when sending the login request. At least for me.

basrieter commented 1 year ago

That was my conclusion, but I have no clue how to generate one!

Kooperx commented 1 year ago

Possibly some bot guard, and may be difficult to bypass...

Kooperx commented 1 year ago

Perhaps it is possible to implement by capturing the returned token from the weblogin and insert it into the configuration, like this: https://svtplay-dl.se/tv4play/

See also https://github.com/spaam/svtplay-dl/blob/43ca1970aff936a532c8d93b39a46f741413062d/lib/svtplay_dl/service/tv4play.py#L94

The refresh_token seems to be valid for a year.

basrieter commented 1 year ago

Possibly some bot guard, and may be difficult to bypass...

That is what I am afraid of.

Perhaps it is possible to implement by capturing the returned token from the weblogin and insert it into the configuration, like this: https://svtplay-dl.se/tv4play/

See also https://github.com/spaam/svtplay-dl/blob/43ca1970aff936a532c8d93b39a46f741413062d/lib/svtplay_dl/service/tv4play.py#L94

The refresh_token seems to be valid for a year.

Could be, but this is very user unfriendly in Kodi. Tech-savvy people can manage that. But it has a very low WAF (wife acceptance factor).

basrieter commented 1 year ago

Can somebody test https://github.com/retrospect-addon/plugin.video.retrospect/archive/refs/heads/bug-1714.zip for me?

image

image

jonsag commented 1 year ago

Hi

Tried watching "Beck - Lockpojken" as it is in the free section, but after pasting my token it still didn't work. "Could not log on to the selected channel" I entered the token without quotes ("), and perhaps that was wrong? If it was, how do I reset the token? Also, is the login/password not required wihen using the token?

The token I used is the same as when I use svtplay-dl, and it works there. With quotes.

/jon

jonsag commented 1 year ago

As a clarification, the message to open the webpage and pasting the token worked as it should (I suppose)

And of course, thanks for all your work! /jon

basrieter commented 1 year ago

Nope, no quotes. Edit the settings.json in the Retrospect userdata folder and remote the refresh token from the channel.se.tv4se.tv4segroup section. The try again.

If it actually works, I will, of course, make it more user friendly so you can reset it more easily.

Also, is the login/password not required wihen using the token?

A refresh token is a signed token that was already validated and obtained when you signed in with your username and password. It be used (until expired) to get an actual access token without re-entering a username or password.

jonsag commented 1 year ago

Yeah, Found it and fiddled around a bit. Noticed I had left out the last character.

Meanwhile I had logged out of tv4.se so got a new token I had to add in.

After correcting everything I sometimes, but not every time, get an error screen "Playback Failed. One or more items ...", and also every time "The selected Item does not have any streams associated".

Tried "Aurora Teagarden.. A game of..." this time

Haven't check the log.

/jon

jonsag commented 1 year ago

Have to get some sleep now. Don't stay up too late! :-)

/jon

mangebest commented 1 year ago

I would love to help but need a bit more information. Where/how do i open webgui? I tried to open it in chrome on my mac but i suspect that is not right

basrieter commented 1 year ago

I would love to help but need a bit more information. Where/how do i open webgui? I tried to open it in chrome on my mac but i suspect that is not right

You open the Retrospect Webgui on a PC/Mac where you already logged on to TV4Play. On that device you retrieve a refresh token by:

mangebest commented 1 year ago

I got the refresh token and tried it but no luck. I just tried it once. I tried the movie: Linje 1 2 3 kapad.

basrieter commented 1 year ago

If it fails, please enable debug logging in Retrospect, try again, use Retrospect to upload the log and post the link here.

Only then I van see what is wrong.

basrieter commented 1 year ago

Can you all redownload https://github.com/retrospect-addon/plugin.video.retrospect/archive/refs/heads/bug-1714.zip and try again?

mangebest commented 1 year ago

I have tried it several times. Tried to start the movie Greenloand. I only get "cant logon to the selected..." I have checked my login on Tv4play and it seems right.

Also. i have never uploaded a log-file before. Do i risk my password or something by doing so?

basrieter commented 1 year ago

Nope, I don't even use the password anymore. Just the refresh token. So please provide a debug logfile.

I now get errors about my IP not being in Sweden, so it should work from Sweden.

EDIT: Does Greenland play from your browser?

matsarv commented 1 year ago

Can you all redownload https://github.com/retrospect-addon/plugin.video.retrospect/archive/refs/heads/bug-1714.zip and try again?

Super! The videos are now playing after the latest change.

basrieter commented 1 year ago

I have tried it several times. Tried to start the movie Greenloand. I only get "cant logon to the selected..." I have checked my login on Tv4play and it seems right.

Also. i have never uploaded a log-file before. Do i risk my password or something by doing so?

Please check that your Refresh-token was provided WITHOUT quotes!

basrieter commented 1 year ago

Can you all redownload https://github.com/retrospect-addon/plugin.video.retrospect/archive/refs/heads/bug-1714.zip and try again?

Super! The videos are now playing after the latest change.

That is super news! Let me go and fine tune all of this then and continue with the folders and stuff.

mangebest commented 1 year ago

I have also made it work! Greenland played perfectly

basrieter commented 1 year ago

Great! So this is a doable method?

mangebest commented 1 year ago

hope so I made it work on my macbook after a lot of googling about what webGUI and refresh cookies was. I made a fresh installation of kodi before it worked. On my tv i use raspberry and libreelec and i dont know how the same process would be done there. On the raspberry i think i would need a noob-manual or something.

Espancor commented 1 year ago

You mean that everything is working like before with the new update? Like every tv-show?

basrieter commented 1 year ago

hope so I made it work on my macbook after a lot of googling about what webGUI and refresh cookies was. I made a fresh installation of kodi before it worked. On my tv i use raspberry and libreelec and i dont know how the same process would be done there. On the raspberry i think i would need a noob-manual or something.

You just go to the url the GUI gives you from your PC/Mac and do the same.

You mean that everything is working like before with the new update? Like every tv-show?

Nope, working on that.

jonsag commented 1 year ago

Works for me too now. Great job!

/jon

basrieter commented 1 year ago

I tweaked the webdialogue a bit and added an option under the TV4 settings (in the Retrospect add-on settings) that allows you to set the refresh token manually.

Please try https://github.com/retrospect-addon/plugin.video.retrospect/archive/refs/heads/bug-1714.zip

I haven't had the time to add the TV shows yet. Will happen soon.

mangebest commented 1 year ago

I have a problem. LibreELEC does not seem to have a web-browser and no addon to install. Therefore i cannot go to the URL that pops up. If i do it on the mac it does not work.

basrieter commented 1 year ago

I have a problem. LibreELEC does not seem to have a web-browser and no addon to install. Therefore i cannot go to the URL that pops up. If i do it on the mac it does not work.

Try: http://ip-address:3145/

where ip-address is the IP address of LibreElec.

mangebest commented 1 year ago

Worked and didn´t. Got to the page where i input the value ( just so that i understand, the value is the loong sets of numerals under the box value?)On my kodi device on raspberryn got the message: value imported. But the movie did not play. Tried it a few times and reboted.

basrieter commented 1 year ago

It's the value of the refresh token. Validate it here: https://jwt.io/

Please provide a DEBUG log file as state above: enable debug logging in Retrospect, try again, use Retrospect to upload the log and post the link here.

mangebest commented 1 year ago

Ok. tried it again, verifyed the refresh value=ok. Updloaded it to tv4 in retrospect and tried Greenland-did not work. But tried two other movies: "Linje 123 kapad" och "hundraaringen som gick....." and they worked! First time uploading logfile but here is a try: http://ix.io/4jdj

mangebest commented 1 year ago

Tried "Greenland" on my computer and they moved this movie to the Plus-content. It was therefore not supposed to work.Seems you solved it good!

pererikl commented 1 year ago

I get "No items found for the selected item" on all shows. Installed from the latest zip file above and entered the refresh-token in the ip-address:3145. What have I not done right?