asciidisco / plugin.video.netflix

Inputstream based Netflix plugin for Kodi
MIT License
1.24k stars 225 forks source link

[Lists] "Continue watching for [X]" not listing the next episode #34

Open da-anda opened 7 years ago

da-anda commented 7 years ago

The menu node "continue watching for [USERNAME]" (german: "Mit dem Profil von [USERNAME] weiterschauen") does not list the next/in-progress episode of current TV-shows, but rather only lists the show itself., so that when you click it, you end up in the root node of the show instead of continue watching where you left off This is quite annoying and differs from the default Netflix behavior. Would it be possible to directly list the according episodes there and have a context menu entry to jump to the related show?

asciidisco commented 7 years ago

@da-anda Yes, it´s on the list. Second item in the ToDo section in the README: https://github.com/asciidisco/plugin.video.netflix#todo

Uukrull commented 7 years ago

Will it be possible to continue a movie or episode where we left it (from a browser or app) or that isn't doable from a technical perspective?

asciidisco commented 7 years ago

@Uukrull Theoretically yes, but I struggled to get it working (Well, I tried for 5 minutes & then left it, cause I had urgent things to fix). I´ll get the offset position from Netflix API & Kodi seems to provide a way to start an item at that offset:

def play(url):
    videoUrl = getVideoUrl(url)
    listitem = xbmcgui.ListItem(path=videoUrl)
    listitem.setProperty('StartOffset', '50.0')
    xbmcplugin.setResolvedUrl(pluginhandle, True, listitem)

I´m currently scheduling milestones for the plugin & I have to admit, that this feature is not a priority, more a "nice to have". But it´s definitely my plan to have that in someday.

Uukrull commented 7 years ago

I investigated this a bit and the problem is that the manifest is created when Kodi tries to open the http://localhost/manifest?id= url so it's impossible to set the StartOffset property because we don't know the "bookmark" value from the manifest.

asciidisco commented 7 years ago

@Uukrull We get the bookmarkPosition from the API before we start fetching the manifest: https://github.com/asciidisco/plugin.video.netflix/blob/master/resources/lib/NetflixSession.py#L1418

I think my original problems were based on me, not knowing that Kodi does some weird 75hz offset calculation in the source: https://github.com/xbmc/xbmc/blob/master/xbmc/Application.cpp#L3146

Judging based on this thread, I´d probably consider calculating the offset percentage instead os setting the StartOffset property.

There´s also a leftover from my previous attempt in the code (https://github.com/asciidisco/plugin.video.netflix/blob/master/resources/lib/KodiHelper.py#L673)

Uukrull commented 7 years ago

Thanks for the detailed info :) As a bonus, while looking at the code and doing some tests, I found another place where localhost should be replaced with 127.0.0.1 for faster response times on Windows:

https://github.com/asciidisco/plugin.video.netflix/blob/master/resources/lib/KodiHelper.py#L663

fherrera124 commented 6 years ago

Hi. any advance on this? It's seems that the best approach is to use offset percentage. How difficult is to calculate that? we can get the bookmarkPosition and the duration of the show, is not that sufficient? I'm trying to resolve this by myself. so any guidance would be appreciated. PD: Sorry for my english.