CastagnaIT / plugin.video.netflix

InputStream based Netflix plugin for Kodi
MIT License
1.9k stars 258 forks source link

Video Stream only at 540? - CoreElec - Linux - Arm #655

Closed spikerguy closed 3 years ago

spikerguy commented 4 years ago

Bug report

Your Environment

Used Operating system:

I've tried to set 1080 in the plugin setting but still it is only playing at 540p.

Yes ignored rules, not sure how I can help in debugging the cause of it only playing at 540p. I can play at 720p on chromium (1080p with a hack extension)- armv7 browser on the exact same device.

Kodi Log

SUMMARY for the problem

If the follow links not works, copy/paste the link in to the browser

The tests, and how to check resolutions:

https://github.com/CastagnaIT/plugin.video.netflix/issues/655#issuecomment-647163339

The cause of the problem:

https://github.com/CastagnaIT/plugin.video.netflix/issues/655#issuecomment-648695860 https://github.com/CastagnaIT/plugin.video.netflix/issues/655#issuecomment-648929816

Notice for user, to be read before you say it does not work:

https://github.com/CastagnaIT/plugin.video.netflix/issues/655#issuecomment-663852816

CastagnaIT commented 4 years ago

if the arm UA for some reason has problem perhaps is possible to use the standard linux UA that it generate a different esn

if you want to try update and do reset esn

plugin.video.netflix_1.3.2_20200525_t4.zip

spikerguy commented 4 years ago

kodi.log

I tried this and after reset esn I get error on parsing from netflix. Kodi Log attached.

Thanks for trying.

kafantaris commented 4 years ago

Pasting my tests here for reference: Thanks for all your hard work CastagnaIT.

All above tested on Kodi Leia 18.6

CastagnaIT commented 4 years ago

@spikerguy sorry my bad i am doing too things at once plugin.video.netflix_1.3.2_20200525_t5.zip

spikerguy commented 4 years ago

@spikerguy sorry my bad i am doing too things at once plugin.video.netflix_1.3.2_20200525_t5.zip No worries, Take your time. I tried t5 and its giving me error when trying to play the ep. So this widevine lib is not going to work with the updated UA. I will try using my lib and see if ithelps.

CastagnaIT commented 4 years ago

what type error?

spikerguy commented 4 years ago

No T5 doesn't work. It doesn't allow to play the video. Will attach log in sometime. my sd card is being used for some other way :(

Will be back in sometime.

jlb312 commented 4 years ago

With T5 I got error 1044 from netflix the title is not available please try another one.

If it can help

CastagnaIT commented 4 years ago

have you do Reset ESN before play?

jlb312 commented 4 years ago

Yes I did it each time I am trying a new test.

CastagnaIT commented 4 years ago

have you ever tried to do also Logout? (warning this reset all settings)

jlb312 commented 4 years ago

No I do not I am going to try this

jlb312 commented 4 years ago

No changes same 1044 error with T5 after logout reset esn

CastagnaIT commented 4 years ago

can show me the ESN?

spikerguy commented 4 years ago

kodi.log

Yes T5 is throwing error 1044 from netflix the title is not available please try another one. Log above. What I usually do when you share updated plugin is.

jlb312 commented 4 years ago

IMG_0008 This is my ESN

CastagnaIT commented 4 years ago

@jlb312 has the right esn (LX == linux) @spikerguy not have the right esn ?!? (01 == CrOS):

Performing key handshake. ESN: NFCDCH-01-GDQV083WHH2KRXU69TU5UHN5Q4EWR4

but i still don't understand why that error

@spikerguy the log is a bit mixed with two differents attempts that's way i got confused

the problem is that i do not see "Performing key handshake" with the last changed esn (LX)

i will do some checks and after report

CastagnaIT commented 4 years ago

[DELETED] need other tests

norbix029 commented 4 years ago

The same problem version T5 installed on the Raspberry Pi 4 4 GB - when enabling video shows error error 1044 from netflix the title is not available please try another one.

I tried :

Delete old plugin and temporary files Install new plugin (t5) Reset ESN Play a new ep.

IMG_20200526_083253 IMG_20200526_083341

Netflix turns on 1280x720 with chromium I hope that I can fix it, I need netflix on Raspberry for TV

robcast commented 4 years ago

I can add that I have the same problem on ARM boards: I only get Netflix shows in 540p now where I got at least 720p before (like, a week ago). Using CoreElec on Odroid C2 and C4 with Netflix plugin 1.3.2.

Does it help if I try out something?

I just bought the new Odroid C4 with the hope of getting 1080p DRM software decoding to work without stuttering and now Netflix stops delivering it ;-(

major-mayer commented 4 years ago

I also get this behavior since about 1 to 2 weeks. I am using coreelec on my X96 Max Plus and just upgraded to the latest inputstream version (2.4.5.1).

I can only play series and movies up to 540p. If you need some logs I can provide them if you tell me which one you need.

CastagnaIT commented 4 years ago

@spikerguy I had a really hard time understanding your log because the operation sequence is not what you have described so it is not reliable and i wasted a lot of time

i have do others checks to the esn updating sequence and is right, so it is excluded and also nothing is changed in manifest request (compared with windows side)

@robcast i am sorry for your new device, but if you have look the resolutions table in readme you must have seen that to not have resolutions problems you have to use an android device

is not useful to know every device because the afflicted systems are all arm's devices, excluded android at least on my android L3 working as expected as always

maybe it is possible analyze the network flow to get the manifest data from an arm device (that i do not have) that run netflix website from chromium browser (without hack extensions), and then give me the manifest data so i can see if the problem could be there

to do this there are two possibilities: 1) proxy "netflix-mitm-proxy" that there is in my repository instruction on readme

2) debug browser i can not give too details here i want avoid legal problems, these are some guideline: -open netflix website -open chromium debug window -navigate pages until cadmium player js file and view it -find inside the string "Sending MSL request" then add a breakpoint in to this line now when you try to play a video the breakpoint is fired, then find the variables "_mslrequest" and when the child variable "method" have the string content as "manifest" then copy all content of child "body" variable in a file and attach here

CastagnaIT commented 4 years ago

another thing with the t5 test provide me a "manifest.json" after try to play a video, never mind if stop with error

spikerguy commented 4 years ago

Ok I will clean the logs.

kodi.log manifest.json.txt

Apologise for the previous log I think it was all mixed. I will clean the log manually everytime from now onwards. BTW I rarely watch anything on kodi, I am just trying to help CoreElec and LibreElec users. I will try to get the browser logs tonight if I get time. Thanks for the support.

CastagnaIT commented 4 years ago

this is an experiment, i do not thing works: plugin.video.netflix_1.3.2_20200526_t6.zip

I will need someone to provide what i mentioned earlier

jlb312 commented 4 years ago

I installed T6 Renew ESN

Got new manifest.json manifest.json.txt 01_KODI.log

and kodi.log

jlb312 commented 4 years ago

Error 1044 always present

major-mayer commented 4 years ago
1. proxy
   "netflix-mitm-proxy" that there is in my repository
   instruction on readme

I could try that out, but where can i find this piece of software? Is it a kodi addon, or should I install it somehow else? And which readme/ repo are you talking about?

CastagnaIT commented 4 years ago

I could try that out, but where can i find this piece of software?

in my github repositories...

major-mayer commented 4 years ago

Hmm I see, but i don't know how to install mitmdump on a coreelec system, because there is no pip or brew installer available. And i can't just open the binary mitmdump file, because that gives me an unexpected "(" error.

CastagnaIT commented 4 years ago

...the proxy is not for Kodi/addon is for ARM OS browser it makes no sense to debug with proxy the add-on where the source codes are open source...

major-mayer commented 4 years ago

Yeah this makes sense to me. So i think that i have to switch to another OS instead of coreelec to use this browser and debug/ log the connection between the browser and netflix right? I'm not even sure if there exists another OS for this small TV box like armbian, i only used Coreelec and Android so far, so I don't think i can help there, sorry ...

kmc4001 commented 4 years ago

this is an experiment, i do not thing works: plugin.video.netflix_1.3.2_20200526_t6.zip

I will need someone to provide what i mentioned earlier

As you mentioned, "t6" version wasn't working. I'm looking forward to solve this issue. (1080p resolution is working until last weekday)

If you need any logs or testing or support and so on.. I cant help you solve problem.

Thank you for your efforts!!

spikerguy commented 4 years ago

I will try to get the data using this method.

Thank you for the work.

CastagnaIT commented 4 years ago

someone can test this? (reset ESN after update) plugin.video.netflix_1.3.2_20200527_t7.zip

jlb312 commented 4 years ago

T7 tested No more error 1044 Go back to ESN NFCDHG-01-xxxx

Still limited to 540p resolution on RPi4

spikerguy commented 4 years ago

Just want to inform but a strange behaviour on Chromium Netflix. It plays at 720 in the beginning and the settles down at 488p and it never goes back to 720p even when the internet is fast enough to handle 720p.

Will try a detailed test tonight on chromium and get back.

CastagnaIT commented 4 years ago

@jlb312 try also this thanks, i think this is last attempt plugin.video.netflix_1.3.2_20200527_t8.zip

I think netflix has made the system so complicated to limit the resolutions in the various OS that they also don't even know what is wrong

jlb312 commented 4 years ago

1044 error is back ESN NFCDHG-LX-xxxx

Sniff!! I am close to the nervous breakdown with Netflix company behavior I am sad that I can't used my favourite KODI add-on anymore on my RPi4 and RPi3B+ (unfortunately I am not alone).

Thank you again for your efforts

CastagnaIT commented 4 years ago

unfortunately i don't understand the difference between addon and the chromium browser on CrOS to get missing 720p and i don't have an arm device with CrOS for make test locally

I can't teach someone remotely need someone already quite experienced in testing and the environment

the problem came suddenly, so or it is an action intended by netflix house, or they have a bug and will be fixed soon

I don't know what else to think

have you tried also to enable VP9 profile? (with regular addon version)

jlb312 commented 4 years ago

I have just a last beotian question about your python code where you detect the user agent : the addon usr agent is set in device_utils.py

It seems that you detect the platform here and send it back the information to netflix am I right ? Is the problem can coming from that point ?

jlb312 commented 4 years ago

About the Vp9 profile I also tested it, the resolution remains at 540p.

CastagnaIT commented 4 years ago

i will try to reimplement the old 1080p unlock workaround

kafantaris commented 4 years ago

Sorry just wanted to mention again, in case it's of any help, that this latest problem is not specific to arm devices. I've got the same issue on a x64 Intel nuc with libreelec.

robcast commented 4 years ago

I tried to play Netflix at HD on any of my ARM boards to have something to check against but failed so far. The Netflix app under Android (Android Pie, Widevine L3) only plays SD and Chromium (Chromium 81, Ubuntu 18) did not have Widevine and I couldn't get it to install... Now I only have Chrome or Safari on Intel that plays HD but I guess that is too different to check.

Is there something I can try in Kodi on ARM?

Wild speculation: could it have something to do with resolution fall-forward in the stream? I saw that the Netflix app on Ipad starts in 720 and only after a while goes to 1080...

spikerguy commented 4 years ago

Hello @robcast This is not the right place to discuss this. This is an issue thread which we're trying to find the fix for.

The answer to your question is very vast and complex to explain here. You should read the read me on this repo and see what all works and how it works.

Thank You.

@CastagnaIT I am tryin to get the MSL request but I cannot seem to find it in the cadmium-playercore.js file. I can see Error sending MSL request

I will try to add breakpoint there and see if it helps.

YW-JEONG commented 4 years ago

I could get 1080p again.. I don't know how..

I tried T8 , reset ESN, ESN : NFCxxx-LX-xxxx

and then I got 1044 error. so, I go back to normal 1.3.2 ,reset ESN

ESN back to NFCxxx-01-xxxx

I played ep, but surprisingly I could get 1080p..

My Environment Operating system version/name: Linux - CoreElec 9.2.2 Nightly build 20200525 Device model: Khadas VIM3 Pro (AML A311D)

IMG_5720

kmc4001 commented 4 years ago

I could get 1080p again.. I don't know how..

I tried T8 , reset ESN, ESN : NFCxxx-LX-xxxx

and then I got 1044 error. so, I go back to normal 1.3.2 ,reset ESN

ESN back to NFCxxx-01-xxxx

I played ep, but surprisingly I could get 1080p..

My Environment Operating system version/name: Linux - CoreElec 9.2.2 Nightly build 20200525 Device model: Khadas VIM3 Pro (AML A311D)

IMG_5720

Wow... That's good news!!!

Can you share zip file successed playing 1080p? (You described "go back to normal 1.3.2") And, Did you install "normal 1.3.2" after uninstalling previous version or overwriting previous version? If you uninstalled previous version, Did you choice options "clear all user data"? or not?

YW-JEONG commented 4 years ago

I just update to plugin.video.netflix 1.3.2 and reset ESN. that's all

frodo19 commented 4 years ago

Working for me again at 1080p, no needed reset anything.