CastagnaIT / plugin.video.netflix

InputStream based Netflix plugin for Kodi
MIT License
1.89k 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

jlb312 commented 4 years ago

Your Environment

Netflix add-on version: 1.3.2
Operating system libreelec 9.2.1
Device model: Raspberry Pi4 1Go

Used Operating system:

Android iOS Linux OSX X Raspberry-Pi
Windows

I have exactly the same issue as Spikerguy but with libreelec 9.2.1 and Raspberry Pi4. no HD anymore on that device.

stevenhoving commented 4 years ago

@spikerguy can you check in the kodi system menu that if you have whitelisted 1080p? If you look at your log and search for '540' you see that resolution is chosen from the whitelist.

jlb312 commented 4 years ago

@stevenhoving

Sorry it seems that my issue is not exactly the same as @spikerguy in fact in my Whitelist I have the following line coming from my KODI log as you can see no 540 resolution.

In fact after the update to 1.3.2, I lost all HD resolution on Netflix, and I am always in SD. Sorry for my english.

I guess our issues are relied but not excatly the same.

2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 1920x1080 with 1920x1080 @ 60.000000 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 1920x1080 with 1920x1080 @ 59.940063 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 1920x1080 with 1920x1080 @ 50.000000 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 1920x1080 with 1920x1080 @ 30.000000 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 1920x1080 with 1920x1080 @ 29.970032 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 1920x1080 with 1920x1080 @ 25.000000 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 1920x1080 with 1920x1080 @ 24.000000 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 1920x1080 with 1920x1080 @ 23.976025 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 1600x1200 with 1600x1200 @ 60.000000 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 1280x1024 with 1280x1024 @ 60.000000 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 1366x768 with 1366x768 @ 59.940063 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 1280x720 with 1280x720 @ 60.000000 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 1280x720 with 1280x720 @ 59.940063 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 1280x720 with 1280x720 @ 50.000000 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 1024x768 with 1024x768 @ 60.000000 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 800x600 with 800x600 @ 60.000000 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 720x576 with 720x576 @ 50.000000 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 720x480 with 720x480 @ 59.940063 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 720x480 with 720x480 @ 60.000000 Hz 2020-05-22 20:19:50.855 T:3011613280 NOTICE: Found resolution 640x480 with 640x480 @ 60.000000 Hz

jlb312 commented 4 years ago

@stevenhoving

The only video streams I can get are :

h264 768x432 172032 bps h264 960x540 260096 bps h264 960x540 397312 bps h264 960x540 784384 bps

If it can help. None are in my whitelist.

Regards

spikerguy commented 4 years ago

@spikerguy can you check in the kodi system menu that if you have whitelisted 1080p? If you look at your log and search for '540' you see that resolution is chosen from the whitelist.

My whitelist is blank, So not sure how is it getting 540. Now I have added 1080 to my whitelist let me try netflix and get back with the feedback. Thanks

UPDATE: It is still the same. Still playing at 540p.

jlb312 commented 4 years ago

Hello all

I confirm on Raspberry Pi 3B+ , Pi 4 , with Libreelec 9.2.1 and leia 18.6 no HD modes available anymore :

Only these modes :

h264 768x432 172032 bps h264 960x540 260096 bps h264 960x540 397312 bps h264 960x540 784384 bps

It seems that Netflix change his policy for certain boxes ? It is an assumption read on kodi forum.

I don't know why.

Regards

CastagnaIT commented 4 years ago

as well explained by the readme, the resolutions don't depend from the add-on but on Netflix there is little we can do, i have tried updating the user agents

update with this, then do Reset ESN from expert settings, only after try a video and give me a new debug log plugin.video.netflix_1.3.2_20200523_t1.zip

CastagnaIT commented 4 years ago

if you can copy this file here too: manifest.json (after play video) it is in the useer data kodi folder / addon data/ plugin netflix /...

nf debug verbose need to be enabled or this file will be not saved

spikerguy commented 4 years ago

as well explained by the readme, the resolutions don't depend from the add-on but on Netflix there is little we can do, i have tried updating the user agents

update with this, then do Reset ESN from expert settings, only after try a video and give me a new debug log plugin.video.netflix_1.3.2_20200523_t1.zip Reseted the ESN Enabled Debug in Verbose, Installed the updated Plugin. Logged in to netflix And It is still the same.

vteccorp commented 4 years ago

I have only SD since yesterday... silly netflix rules.... ...and after some time they will wake up with their hand in the potty as Disney+ will take their customers!

CastagnaIT commented 4 years ago

@spikerguy where are the log and manifest files?

CastagnaIT commented 4 years ago

@jlb312 do not paste files or log as text

jlb312 commented 4 years ago

@CastagnaIT

I am sorry but the system doesnt allow the joined file with .json extension may I used zipped format ?

CastagnaIT commented 4 years ago

no add ".txt" at the end of file

jlb312 commented 4 years ago

I am trying again manifest.json.txt

It seems OK now

spikerguy commented 4 years ago

@CastagnaIT Here Kodi Log

Where can I find the manifest ?

jlb312 commented 4 years ago

Here is my Kodi log

01_KODI.log

jlb312 commented 4 years ago

@spikerguy in the directory

userdata\addon_data\plugin.video.netflix

spikerguy commented 4 years ago

Thanks @jlb312 I got confused with .kodi and userdata. Manifest

CastagnaIT commented 4 years ago

i tried the same tvshow letter of king on my kubuntu linux and works until 1080p so is something related to arm devices

try this (and reset esn again before play) plugin.video.netflix_1.3.2_20200523_t2.zip

CastagnaIT commented 4 years ago

tryalso delete msl_data.json file and reboot kodi

spikerguy commented 4 years ago

I can play the same in 1080p on the same device which is Arm AML S912, I think it is something to do with the android egl which is used, Cause as it might lead netflix to think it is an android and it is running at netflix mobile resolution. I will try this and get back to you.

Thanks for the quick response.

CastagnaIT commented 4 years ago

i do not understand your relation with android

jlb312 commented 4 years ago

No change for me on RPi 4 libreelec 9.2.1 KODI 18.6 still in 540 modes

Note that I try on windows KODI the netflix plugin works in HD.

CastagnaIT commented 4 years ago

windows is different, netflix handles linux differently is more restrictive also in netflix website they do not respond to linux issues, this is what netflix write on website...

Due to the many configurations of Linux, Netflix customer support is unable to assist with troubleshooting issues on Linux devices.

at the moment I don't know what else to do

jlb312 commented 4 years ago

@CastagnaIT It is very hard for me to understand how the netflix servers makes the difference between different clients with linux configuration. RPI4 libreelec (linux) worked very well till yesterday. I note that KODI stable version is now 18.7 (may 21) and libreelec 9.2.1 is still with 18.6. Many coincidences may be too.

Thanks to your efforts , lets wait and see for now.

spikerguy commented 4 years ago

@CastagnaIT Netflix need Lib widevine to play video over their embedded video player. to get widevine we use either from direct link which is only available for X86_64 and for the Arm devices we use the Chrome OS recovery image to extrace widevine file, and use the corresponding browser user agent to make use of the libwidevine. So it is a complete different implementation for X86_64 and Armv7 and also different for Windows and Linux.

I will do some more digging and get back to something hopfeully. Thanks.

CastagnaIT commented 4 years ago

hdcp override on inputstream adaptive addon is on or off?

spikerguy commented 4 years ago

hdcp override on inputstream adaptive addon is on or off?

Off.

CastagnaIT commented 4 years ago

turn ON end try a different episode or reboot kodi

jlb312 commented 4 years ago

off

jlb312 commented 4 years ago

no effects for me

spikerguy commented 4 years ago

Enabled Override HDCP Restarted CoreElec. tried to play a different Episode. Still 540p.

CastagnaIT commented 4 years ago

Please try also this, i updated version in the manifest request do not think this fix the problem but better to try plugin.video.netflix_1.3.2_20200523_t3.zip

spikerguy commented 4 years ago

Please try also this, i updated version in the manifest request do not think this fix the problem but better to try plugin.video.netflix_1.3.2_20200523_t3.zip

Nothing wrong it trying and it doesn't work. Updated the plugin and then restarted kodi. Played new ep still 540p.

Thanks for the effort.

YW-JEONG commented 4 years ago

I also have only playing at 540p 2days ago My Environment Netflix add-on version: 1.3.2 Operating system version/name: Linux - CoreElec 9.2.2 Device model: Khadas VIM3 Pro (AML A311D)

frodo19 commented 4 years ago

Im also confirm this issue, at max 540p playing My Environment Netflix add-on version: 1.3.2 ( Im tryed older versions too, but same issue) Operating system version/name: Linux - CoreElec 9.2.1 nightly Device model: Beeling GT-King (AML S922)

marcinolawski commented 4 years ago

I suspect that the whole problem is due to the Widevine library. Widevine supports 3 levels of security:

Netflix limits the maximum resolution of the materials depending on the maximum level that your device supports:

L3 is default. We need to check how the Widevine library checks the maximum level and convince the library that our device supports L1. Sounds easy in theory, in practice it will probably be very difficult;)

spikerguy commented 4 years ago

I use widevine from elm recovery image and it can do 1080p on chromium though.

I think inputstream helper is also using the same image. Will check in the script and get back.

CastagnaIT commented 4 years ago

Netflix limits the maximum resolution of the materials depending on the maximum level that your device supports:

widevine is only one of the pieces that is involved to get the available resolutions netflix take in account also of type/model of device, operative system, and in some case of video production and other rules that will never be disclosed to the public

in the case of linux platforms (not android) widevine are not involved to make manifest request and resolutions are obtained from the manifest requested to netflix

manifest data may also vary depending on the type of ESN used

@spikerguy you use chromium on what operative system?

spikerguy commented 4 years ago

@CastagnaIT Manjaro ARM aarch64, I packaged chromium armv7 on docker with chromeos widevine extracted at time of installation, it uses chromeos user agent.

CastagnaIT commented 4 years ago

can you get the user agent of cronium from this page? https://www.whatismybrowser.com/detect/what-is-my-user-agent

spikerguy commented 4 years ago

here Its on my git

CastagnaIT commented 4 years ago

but is see also

Install Netflix 1080P Extension

are you using this extension?

spikerguy commented 4 years ago

Yes extension to get 1080p without extension i get 720p.

CastagnaIT commented 4 years ago

the extensions invalidate the right behaviour of netflix website

so your sentence:

I can play at 1080p on chromium - armv7 browser on the exact same device.

is totally wrong we don't use hacks here to circumvent netflix limits

spikerguy commented 4 years ago

is totally wrong

we don't use hacks here to circumvent netflix limits

Yes my bad should have made that clear before.

Ok then how is the plugin making use of the widevine and useragent? Maybe I can dig into that and try different way to see of I can help in any ways?

CastagnaIT commented 4 years ago

the addon usr agent is set in device_utils.py

in previous test we have tried to use this UA without success:

Mozilla/5.0 (X11; CrOS armv7l 12871.102.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36
spikerguy commented 4 years ago

the addon usr agent is set in device_utils.py

in previous test we have tried to use this UA without success:

Mozilla/5.0 (X11; CrOS armv7l 12871.102.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36

From my understanding this can only play at 720p right? Then how was it playing 1080p before.

Also what changed have happened that now its only playing at 540p.

CastagnaIT commented 4 years ago

i am not a netflix engineer and i can not provide all answers...

we must first rely on this page as a basis: https://help.netflix.com/en/node/23742

Up to 1080p on Chrome OS

here specify "up to" that means not all content at 1080p

the initial behavior was correct (1080p) but we can't know what changes they might have made internally

if you get 720p with Chronium we should be able to do it also here