asciidisco / plugin.video.netflix

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

Issue viewing content AddOnLog: InputStream Adaptive: Could not open / parse mpdURL #613

Open ghost opened 5 years ago

ghost commented 5 years ago

I'm submitting a ...

General infomration

[Hello,

I need a bit of help here, I have installed the Netflix pluggin but I am unable to view the content of any clips. it loads twice but nothing happens. the rest of it works great (connecting and fetching info from the Netflix account).

I am running OSMC on a PI3 and I beleive I have all the latest depedency for the pluggin.

the error I am getting in the logs is

AddOnLog: InputStream Adaptive: Could not open / parse mpdURL .........

full debug logs available at https://paste.kodi.tv/badidofozi

I even tried to reinstallled everything from scratch but still get the same error

thanks for your help]

Prerequisites

Description

Netflix clip does not play

Steps to Reproduce

  1. [First Step] open Netflix addon
  2. [Second Step] select any clips and try to view it
  3. [and so on...]

Expected behavior: video to open

Actual behavior: video seems to try to load but nothing happen other than the loading wheel.

Context (Environment)

Installation

Operating System

Additional informatin on the environment

I am running OSMC on a PI3 Kodi 18.0RC5 Netflix 0.13.21

Debug log

[https://paste.kodi.tv/badidofozi]

Other information

Screenshots

Borega commented 5 years ago

I think I have the same issue on my pi 3 with Libreelec.

aleprovencio commented 5 years ago

Same on wetekhub on libreelec,

From LibreELEC repo: Inpustream Adptive, v2.3.15.0 RTMP Input, v2.0.5.0

From this repo, Netflix 0.13.22

UPDATE: some clips DO work, most from the Animation category, such as Bingo and Rolly and Mulan, but the issue stays for the rest. UPDATE2: updated this plugin e LibreELEC to 9.01. Same happens. More movies working: The Holiday, Heal, etc.

Can you find any logic on those movies work and others don't?

My settings are also default.

jakermx commented 5 years ago

Try this

Disable your Netflix AddOn

Delete the following files from your userdata directory (storage/.kodi/userdata/addon_data/plugin.video.netflix)

COOKIE* manifest.json manifest.mpd msl_data.json

Remove .init, .challenge and .remote files on your cdm directory (/storage/.kodi/cdm) Then upgrade your inputstream stuff (Adaptive and RTMP)

Configure your Netflix AddOn , Changing your ESN from NFCDCH-01-Something to NFCDCH-02-Something, just replace the digist from 1 to 2, dont use other number , seens thata the valid option are 1 2 or 3.

Finally enable your AddOn and try again...

jakermx commented 5 years ago

If after this still falling, try enabling VP9 codecs, HEVC, Dolby etc, just add more media codecs, MPD is about it

aleprovencio commented 5 years ago

Hello @jakermx, thanks for your help.

Although following closely the steps provided I had no success.

Some caveats:

jakermx commented 5 years ago

please share your last log file

jakermx commented 5 years ago

I will need both manifest files when trying to see "bleach" 2018

jakermx commented 5 years ago

From you first log yo got this

11:00:36.781 T:1680339696 DEBUG: [Netflix] Error getting Manifest: {"signature":"Mv/qepGcBKFmbtdF1TGjwH8gVLtyOHOUU3zn8Ev8rmzlelgWAwfd4VJwdykNziAZgJm4OHiUshuLZi0zNP2kTS651DSquSif/hUPCR0GUgidgH4boqHpT4bG4gMnuBzWAM3mWznjGPTUHfM52rjccaYix1dlShgKVfnpCC+d61TqHBcN0y/QoHxMD11fcYM8Ysi/t8hFJkCTsVqCQvH/jF9TW7/7gcdrNmE9pkmEd794+dusmi7+jEFemnsx802O3KaaYrw0S/7HV4mj6o3j0tsX/sA8gNccI3ZSZ8C7JNRSeBXk9GRzKpQ3W5vSpta+KawzoDmCEWq/mkooAfFBTQ==","errordata":"eyJpbnRlcm5hbGNvZGUiOjIwNTAwNywibWVzc2FnZWlkIjo0Mzk5NTc2ODU0OTgzMDc3LCJlcnJvcmNvZGUiOjcsImVycm9ybXNnIjoiRW1haWwgb3IgcGFzc3dvcmQgaXMgaW5jb3JyZWN0LiIsInRpbWVzdGFtcCI6MTU0ODQ5NjgzNn0=","entityauthdata":{"scheme":"RSA","authdata":{"identity":"Netflix","pubkeyid":"MSL_TRUSTED_NETWORK_SERVER_KEY"}}}

If your decode it get this

{"internalcode":205007,"messageid":4399576854983077,"errorcode":7,"errormsg":"Email or password is incorrect.","timestamp":1548496836}

So please try login out and getting back in.... and disable PIN as well

jakermx commented 5 years ago

I think that you need to delete all files except from setting from your user_data and cdm directory, this way, the addon will create new ones , so keep us posted

aleprovencio commented 5 years ago

@jakermx, that log you referred to is actually not mine, but OP's.

I can provide you one if you please give me the relevant situation you want, i.e. after or before the configuration changes you recommended, and maybe after trying to play Bleach 2018, etc.

jakermx commented 5 years ago

trying to play Bleach 2018

aleprovencio commented 5 years ago

There you go http://ix.io/1FNX

Although now I don't seem to be able to watch any movies anymore...:(

jakermx commented 5 years ago

OK,

First, I would suggest you to: -Set your system clock manually (date and time) , Interface Regional Info as well -Enable the "Wait for network before starting kodi" checkbox, on Libreelec Settings -Disable Add-Ons Auto-updates (Form Settings.... System.... Addons) and System Auto-updates (Settings... LibreElec) -Disable your Netflix AddOn (Just Disable it, dont uninstall it) -Reboot your system] -Wait for KODI Boot -Wait 2-3 Minutes in order to let Kodi Services to start correctly -Enable Netflix AddOn, Wait for 1 Minute -Open Netflix and try to browse and navigate into your account, then play something... It should work. If not, get the Kodi.log file at this point If it worked, reboot your system and try to use it again.... If everything went fine, enable your automatic setting for updating and setup your NTP auto clock and test again, it will be working fine unless your system had issues with bringing the Network Interface up while getting DCHCP address and NTP Updates...It looks that your error is SSL Verification Related

NOTE that the first two things will clean the SSL Certificate errors, later you may want to use NTP and Adjust cluck automatically.

Hope it helps

aleprovencio commented 5 years ago

@jakermx, I'm aware of the NTP issue [1], [2], it seems that it will only be fixed on the next LibreELEC release. For now, what I'm doing is setting manually date/time via SSH which is by now the only way I am able to install any addons and I've also done this procedure before performing the tests from the last log. [1] https://forum.libreelec.tv/thread/14483-upgrade-le-8-2-5-to-9-0-0-wifi-connected-but-no-ntp-link-ssl-certificate-error/?pageNo=4 [2] https://forum.libreelec.tv/thread/14999-connman-and-nsswitch-not-working-properly/?postID=114655&highlight=ntp#post114655

Unfortunately, it's still not working. I've followed your steps, but as this manual method resets date/time after a restart, I took this extra step just after booting. This time I tried Heal movie on the test because it used to work.

Here's the log: http://ix.io/1FSv

Thanks again for your time.

jakermx commented 5 years ago

Have you tried using connmanctl on autostart.sh?

This way you can bring you interface up, wait and then update ntp before kodi starts....

aleprovencio commented 5 years ago

No I haven't. Actually I wouldn't know the correct command to put there, but if the NTP issue is about not having a patched updated connman version on LE, is this really the case?

jakermx commented 5 years ago

try this: echo "echo 'Before' > /storage/ntp.boot.log " > /storage/.config/autostart.sh echo "date >> /storage/ntp.boot.log" >> /storage/.config/autostart.sh echo "ntpd -d -n -q -p 0.pool.ntp.org >> /storage/ntp.boot.log" >> /storage/.config/autostart.sh echo "echo 'After' >> /storage/ntp.boot.log " >> /storage/.config/autostart.sh echo "date >> /storage/ntp.boot.log" >> /storage/.config/autostart.sh echo "sleep 10" >> /storage/.config/autostart.sh echo "echo 'After Sleep' >> /storage/ntp.boot.log " >> /storage/.config/autostart.sh echo "date >> /storage/ntp.boot.log" >> /storage/.config/autostart.sh chmod 777 /storage/.config/autostart.sh

If time set fail, it could be dns issue, so try 129.6.15.28 instead of time.nist.gov, check the btp.boot.llog for details

aleprovencio commented 5 years ago

The date/time trick worked @jakermx! After a reboot it was correctly set and netflix addon got back to the original issue where I could play some movies and some not.

FYI, ntp.boot.log:

Before                                                                                         
Fri Apr 12 11:20:14 -03 2019                                                                   
After                                                                                          
Fri Apr 12 11:20:16 -03 2019                                                                   
After Sleep                                                                                    
Fri Apr 12 11:20:26 -03 2019                                                                   

..and LE's log after booting, starting netflix addon, playing Heal (which works) and playing Bleach which does not.

jakermx commented 5 years ago

Could you enable Debug and then try to play Bleach then disable Debug and send the log file please.

aleprovencio commented 5 years ago

sure, here you go:

http://ix.io/1G4A

jakermx commented 5 years ago

Thanks,

the issue is here: 2019-04-13 09:45:18.678 T:3755963248 ERROR: File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/MSLv2.py", line 332, in __decrypt_payload_chunks 2019-04-13 09:45:18.678 T:3755963248 ERROR: decrypted_payload = decrypted_payload[1]['payload']

You are getting a very short manifest, so it is not chunked, so no index 1... could you try enabling dobly , vp9 or hevc... and see how it goes?

jakermx commented 5 years ago

it will just ask for more info, so, response will be biigger, probably chunked....

aleprovencio commented 5 years ago

Sorry about the delay, I was not home on the weekend :)

About this new test: Dolby Sound - was already enabled before; I manually enabled: VP9 and HEVC along with HDR and DolbyVision.

jakermx commented 5 years ago

Uninstall your Netflix Addon, select yes on delete settings, and then install this from ZIP and try again...

http://www.mediafire.com/file/sq1t27d410mjlla/plugin.video.netflix_0.14.0beta24_20190414.zip/file

aleprovencio commented 5 years ago

Hello @jakermx, unfortunately still no good:

Test 1) Default settings (Dolby Digital + HEVC enabled): http://ix.io/1GnE

Test 2) Default settings + VP9 + HDR + DolbyVision: http://ix.io/1GnG

jakermx commented 5 years ago

Could you set to Manual on InputStream Selection?

aleprovencio commented 5 years ago

Just did it, not yet: http://ix.io/1Goq

jakermx commented 5 years ago

Do you know python programming? just a bit

aleprovencio commented 5 years ago

yeah I can handle "just a bit" :) maybe this is the hint? EXCEPTION: argument "line2" for method "ok" must be unicode or str I'm still unsure though :/

jakermx commented 5 years ago

Please replace the atached file on this directory.... .Kodi\addons\plugin.video.netflix\resources\lib\services\msl\

then share the log, It will just print the requested manifest... so I can reproduce the error.

msl_handler.zip

aleprovencio commented 5 years ago

Here you go, http://ix.io/1Grr

jakermx commented 5 years ago

since it is a service, please restart your equipment, in order to update the changes...

aleprovencio commented 5 years ago

thats weird, I thought I had rebooted before on that test...Anyways, here's the new log: http://ix.io/1GsW

jakermx commented 5 years ago

please remove the content of your cdm directory and userdata/netflix.... restart and try again, I just repruduce it and I have it worked.....

jakermx commented 5 years ago

another thing... please try setting your box in English, it looks, that portuguese is not fully implemented...

Keep us post....

aleprovencio commented 5 years ago

Nothing again...http://ix.io/1GJj Do you also have a wetek hub box?

jakermx commented 5 years ago

It still in pt-BR...

DEBUG: [plugin.video.netflix (0)] ---------------------------------------CSG---------------------------- 2019-04-20 14:52:38.395 T:3718239088 DEBUG: [plugin.video.netflix (0)] {"languages": ["pt-BR"].......

Change your timezone on libreelec settings, interface languange, then on player settings setup playback languages as original, both audio and subtitles, and check prefer....

Please Clean Cache and delete manifest, mpd, cookies files and cdm files, reboot and try again....

look at -----CSG----- on your log, the line after shows what are you requesting to netflix, it should be en-US... so the function get_local_string will work now...

aleprovencio commented 5 years ago

Still no good @jakermx, http://ix.io/1GMZ.

Even though changing all of these I still find the same pt-br call on the logs. Maybe this is a Netflix account thing and can't be changed thru kodi?

On the previous test, I had already changed the interface language, but following your suggestions I also changed timezone and playback configs.

I was unsure on how to clear cache, so I did thru netflix addon option Purge in-memory and on-disk cache.

The cdm dir only had the widevine stuff so I have not deleted anything.

Other directions were followed.

jakermx commented 5 years ago

I hardcoded the language request, could you please replace and restart , then try.... please

msl_handler.zip

aleprovencio commented 5 years ago

sure, http://ix.io/1Eae no good yet, but thanks for your help :)

jakermx commented 5 years ago

Please remove it from your local library, and then clear disck and memory cache, I would recommend you to backup and remove any video from netflix from your library, then remove the whole Netflix Addon, restart, ttry to play the movie from the addon, without being on your library and then , add it to your library... if it works, we need to add this issue to the version issues, since videos added to the library are not being upgraded on addon upgrade...

Please keep us posted...

aleprovencio commented 5 years ago

@jakermx, I don't have any videos from Netflix on my local library, I just play them directly from the addon, just like the 'Bleach' test we were doing. This way, I don't quite understand how this test is different from the ones we have been doing already, can you please explain me that?

jakermx commented 5 years ago

by example...

2019-04-21 20:27:26.647 T:3675292528 DEBUG: [plugin.video.netflix (1)] Loaded contents from backing file: {u'profile_have_mylist_menu': True, u'sub_menus': {u'72380': {u'force_videolistbyid': False, u'description_id': None, u'show_in_menu': False, u'lolomo_known': False, u'lolomo_contexts': None, u'label_id': 30095, u'content_type': u'tvshows', u'path': [u'genres', u'72380'], u'request_context_name': u'genres', u'icon': u'DefaultTVShows.png'}, u'74141': {u'force_videolistbyid': False, u'description_id': None, u'show_in_menu': False, u'lolomo_known': False, u'lolomo_contexts': None, u'label_id': 30095, u'content_type': u'tvshows', u'path': [u'genres', u'74141'], u'request_context_name': u'genres', u'icon': u'DefaultTVShows.png'}, u'72397': {u'force_videolistbyid': False, u'description_id': None, u'show_in_menu': False, u'lolomo_known': False, u'lolomo_contexts': None, u'label_id': 30095, u'content_type': u'tvshows', u'path': [u'genres', u'72397'], u'request_context_name': u'genres', u'icon': u'DefaultTVShows.png'}, u'80153': {u'force_videolistbyid': False, u'description_id': None, u'show_in_menu': False, u'lolomo_known': False, u'lolomo_contexts': None, u'label_id': 30095, u'content_type': u'tvshows', u'path': [u'genres', u'80153'], u'request_context_name': u'genres', u'icon': u'DefaultTVShows.png'}, u'26705': {u'force_videolistbyid': False, u'description_id': None, u'show_in_menu': False, u'lolomo_known': False, u'lolomo_contexts': None, u'label_id': 30095, u'content_type': u'tvshows', u'path': [u'genres', u'26705'], u'request_context_name': u'genres', u'icon': u'DefaultTVShows.png'}, u'1661847': {u'force_videolistbyid': False, u'description_id': None, u'show_in_menu': False, u'lolomo_known': False, u'lolomo_contexts': None, u'label_id': 30095, u'content_type': u'tvshows', u'path': [u'genres', u'1661847'], u'request_context_name': u'genres', u'icon': u'DefaultTVShows.png'}, u'2867911': {u'force_videolistbyid': False, u'description_id': None, u'show_in_menu': False, u'lolomo_known': False, u'lolomo_contexts': None, u'label_id': 30095, u'content_type': u'tvshows', u'path': [u'genres', u'2867911'], u'request_context_name': u'genres', u'icon': u'DefaultTVShows.png'}, u'10375': {u'force_videolistbyid': False, u'description_id': None, u'show_in_menu': False, u'lolomo_known': False, u'lolomo_contexts': None, u'label_id': 30095, u'content_type': u'tvshows', u'path': [u'genres', u'10375'], u'request_context_name': u'genres', u'icon': u'DefaultTVShows.png'}, u'26018': {u'force_videolistbyid': False, u'description_id': None, u'show_in_menu': False, u'lolomo_known': False, u'lolomo_contexts': None, u'label_id': 30095, u'content_type': u'tvshows', u'path': [u'genres', u'26018'], u'request_context_name': u'genres', u'icon': u'DefaultTVShows.png'}}, u'menu_titles': {u'mostViewed': u'Populares na Netflix', u'myList': u'Minha lista', u'1661847': u'S\xe9ries sobre investiga\xe7\xe3o criminal', u'chosenForYou': u'Sugest\xf5es para Xand', u'newRelease': u'Lan\xe7amentos', u'74141': u'TV provocativa dos EUA', u'26705': u'S\xe9ries sobre luta contra o sistema', u'72380': u'Fic\xe7\xe3o cient\xedfica e fantasia dos EUA para TV', u'26018': u'S\xe9ries sombrias', u'recommendations': u'Recommendations', u'genres': u'Genres', u'continueWatching': u'Continuar assistindo como Xand', u'exported': u'Exported', u'recentlyAdded': u'Recently added', u'10375': u'S\xe9ries c\xf4micas', u'search': u'Search', u'72397': u'Document\xe1rios dos EUA', u'tvshows': u'All TV Shows', u'80153': u'Document\xe1rios sociais e culturais dos EUA', u'movies': u'All Movies', u'currentTitles': u'Em alta', u'netflixOriginals': u'ORIGINAIS NETFLIX', u'2867911': u'NX: fic\xe7\xe3o cient\xedfica, fantasia e mais'}, u'locale_id': u'pt-BR'}

it is being loaded using "pt-BR", it said that has been exported...

jakermx commented 5 years ago

Look at this

2019-04-21 20:28:18.212 T:3755996016 DEBUG: [plugin.video.netflix (0)] Executing POST request to https://www.netflix.com/nq/msl_v1/cadmium/pbo_manifests/%5E1.0.0/router 2019-04-21 20:28:19.455 T:3755996016 DEBUG: [plugin.video.netflix (0)] Request took 0.853009s 2019-04-21 20:28:19.455 T:3755996016 DEBUG: [plugin.video.netflix (0)] Request returned response with status 200 2019-04-21 20:28:19.458 T:3755996016 DEBUG: [plugin.video.netflix (0)] Received encrypted chunked response 2019-04-21 20:28:19.458 T:3755996016 DEBUG: [plugin.video.netflix (0)] <Response [200]> 2019-04-21 20:28:19.465 T:3755996016 ERROR: EXCEPTION: argument "line2" for method "ok" must be unicode or str 2019-04-21 20:28:19.469 T:3755996016 ERROR: [plugin.video.netflix (0)] Traceback (most recent call last): File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/services/msl/http_server.py", line 47, in do_GET data = self.server.msl_handler.load_manifest(int(params['id'][0])) File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/services/msl/msl_handler.py", line 45, in error_catching_wrapper netflix_error=isinstance(exc, MSLError)) File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/kodi/ui/dialogs.py", line 104, in show_error_info line3=common.get_local_string(30103)) TypeError: argument "line2" for method "ok" must be unicode or str 2019-04-21 20:28:19.470 T:3683685232 ERROR: CCurlFile::FillBuffer - Failed: HTTP returned error 400

I would say that Kodi is looking for a message that is not present on Portuguese, so that is why it is failing, I would suggest to do a factory resest and try it on English, if it works, we could try to get it solved for pt-BR, but since we are no getting positive response , it is still strnge....

aleprovencio commented 5 years ago

@jakermx, I'll try the factory reset tomorrow by the time get back home. Do you suggest using the modified version of msl_handler and netflix 14beta?

jakermx commented 5 years ago

yes, in order to see the request...

aleprovencio commented 5 years ago

@jakermx,

performed a hardreset, just changed the network config and did not change language, timezone etc, leaving English as default. This way i have not had the time issues that prevented me to install addons etc.

Then I installed the Inputstream and RTMP from LibreELEC repository and proceeded to netflix beta (thru zip) install. Put the msl_handler.py provided by you, searched for Bleach and when I tried to play the widevine stuff installed successfully.

Rebooted...turned on debugging, Searched again for Bleach, tried to play and...no good...and still the pt-br stuff on the logs: http://ix.io/1Htb

After that, I realized that should be some config via Netflix itself (not the addon). So I logged in there and changed my default language from Portuguese to English. I was unsure on how to update this on the netflix addon so I did the whole hardreset process again! This is sunday after all :)

Well, the result of this test remains problematic but it does not have the pt-br calls anymore as you can see here: http://ix.io/1Htp

I hope this is another step on the path of this issue.