CastagnaIT / plugin.video.netflix

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

NO VIDEO PLAYBACK PROBLEM - WIDEVINE UPDATE - ARM DEVICES ONLY (Raspberry and similar) #1179

Closed CastagnaIT closed 2 years ago

CastagnaIT commented 3 years ago

No video playback problem

This problem concerns ONLY and exclusively devices with ARM architecture.

The recently new released version of the Widevine library (4.10.2252.0) prevents video playback on your device, this is because of a lack of support, to enable your system to use this new version you must update it and/or make some specific changes.

Currently there are some solutions that do not cover all use cases, i will try to keep this page updated to include future new solutions.

How to do (easy way)

Downgrade the Widevine library (all Kodi OS and versions)

These steps are required only pre-existent Kodi installations, otherwise in new Kodi installation it will be executed automatically.

How to use the new Widevine release

LibreELEC (Kodi 19)

LibreELEC has implemented the support from LibreELEC (Matrix) 10.0 BETA5 release

CoreELEC (Kodi 19)

CoreELEC has implemented the support from CoreELEC 19.2-Matrix_rc2

OSMC (Kodi 19)

https://discourse.osmc.tv/t/widevine-add-ons-stopped-working-from-01-09/90684

Linux operative systems like Raspbian etc... (Status unknown)

We are talking about cases where Kodi is running as a stand-alone application. Currently i am not aware of a solution, if anyone knows it, please leave feedback.

More info on this and others OS

Try follow this page: https://www.matthuisman.nz/2021/05/widevine-arm-broken.html

Portisch commented 3 years ago

CoreELEC currently spotting issues with the new 4.10.2252.0 We have the support in nightly and have done a release yesterday with 19.2-Matrix_rc1. The rolling out of the release got stopped as more and more users reported rebooting devices because of this cdm issue.

Next test is to downgrade the cdm lib down to version 4.10.1679.0 to check if the rebooting still does happen or not - now waiting for user reports...

Hint: "some users" does mean about 5 of 1500, then we stopped the release roll out. Not much but too much as there were zero issues before. CoreELEC forum: https://discourse.coreelec.org/t/coreelec-19-2-matrix-rc1-discussion/15942/54

wagnerch commented 3 years ago

@Portisch Can you try LD_PRELOAD=libwidevinecdm.so without linking libtcmalloc_minimal or preloading? And see if there is crashing?

Portisch commented 3 years ago

As I have written above it does also crash:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `/usr/lib/kodi/kodi.bin --standalone -fs'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0xf6cffe1c in ?? () from /storage/.kodi/cdm/libwidevinecdm.so
[Current thread is 1 (Thread 0xea52f2a0 (LWP 5478))]

Thread 1 (Thread 0xea52f2a0 (LWP 5478)):
#0  0xf6cffe1c in ?? () from /storage/.kodi/cdm/libwidevinecdm.so
#1  0xf6d03d48 in ?? () from /storage/.kodi/cdm/libwidevinecdm.so
#2  0xf6d0ba90 in ?? () from /storage/.kodi/cdm/libwidevinecdm.so
#3  0x00977f24 in ActiveAE::CActiveAESink::GenerateNoise() ()
#4  0x0097d02c in ActiveAE::CActiveAESink::OpenSink() ()
#5  0x0097d1c0 in ActiveAE::CActiveAESink::StateMachine(int, Actor::Protocol*, Actor::Message*) ()
#6  0x0097d8f4 in ActiveAE::CActiveAESink::Process() ()
#7  0x0056ab28 in CThread::Action() ()
#8  0x0056e3dc in ?? ()
#9  0xf2672f64 in ?? () from /usr/lib/libstdc++.so.6
#10 0xf6a08d64 in start_thread (arg=0xea52f2a0) at pthread_create.c:463
#11 0xf281f1b8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:73 from /usr/lib/libc.so.6

This is one more reason I think it's the cdm lib itself what causes the kodi crashes/rebooting devices. This log was done without the tcmalloc included in image.

wagnerch commented 3 years ago

@Portisch Yeah interesting. It's been pretty rock solid on RPi4, I think @kszaq has been testing on Amlogic more thoroughly? I wonder if it is certain SoCs or ARM Cores that have issues, I guess the only option would be to stick with 4.10.1679.0 until it is revoked. This might be why Google is pausing the revocation, because I imagine a number of the ChromeOS devices are Amlogic.

Portisch commented 3 years ago

Meanwhile we switched over to LD_PRELOAD for tcmalloc_minimal for next nightly. But the tests shows it still crash sometimes with the new lib. It looks like after downgrade the CDM lib all crashes are gone.

wagnerch commented 3 years ago

@Portisch Looking at the forums some folks are reporting reboots without any playback. Just for reference, this is what I am running: CoreELEC (official): 19.2-Matrix_nightly_20210526 (Amlogic-ng.arm)

And this is on an S905D SoC. It sits behind me in the office, and I don't watch it regularly, but I would notice if it rebooted because CEC would kick on the TV. :) I usually playback Tvheadend on it for background noise while I am working, so not a whole lot of Netflix, sometimes in the evening I will use the Youtube add-on (so ISA, but no Widevine) when the kid is watching the main TV.

I can bump up to the latest nightly and report back, if that would be helpful.

Portisch commented 3 years ago

We are currently completely lost what is going on. Maybe it's the tcmalloc itself causing such issues.

sevmonster commented 3 years ago

On LibreELEC 10 (9.95.4) on ROCK64, I get this as soon as I start playing:

Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `/usr/lib/kodi/kodi.bin --standalone -fs'.
Program terminated with signal SIGILL, Illegal instruction.
#0  0x003fd6a6 in Shaders::BaseYUV2RGBGLSLShader::~BaseYUV2RGBGLSLShader() ()
[Current thread is 1 (Thread 0xd9206240 (LWP 1390))]

Thread 1 (Thread 0xd9206240 (LWP 1390)):
#0  0x003fd6a6 in Shaders::BaseYUV2RGBGLSLShader::~BaseYUV2RGBGLSLShader() ()
#1  0xf7d43a48 in call_init (l=<optimized out>, argc=argc@entry=3, argv=argv@entry=0xff9daa04, env=env@entry=0x364bf80) at dl-init.c:74
#2  0xf7d43b20 in call_init (env=<optimized out>, argv=<optimized out>, argc=<optimized out>, l=<optimized out>) at dl-init.c:37
#3  _dl_init (main_map=0x8605340, argc=3, argv=0xff9daa04, env=0x364bf80) at dl-init.c:121
#4  0xf5554584 in __GI__dl_catch_exception (exception=0x86054a0, exception@entry=0x0, operate=0x0, args=0xd9204568, args@entry=0xd9204510) at dl-error-skeleton.c:182                                                                                                             #5  0xf7d47e64 in dl_open_worker (a=0xd9204718) at dl-open.c:783
#6  0xf5554544 in __GI__dl_catch_exception (exception=0x0, exception@entry=0xd9204704, operate=0xd920470c, args=0xd9204798, args@entry=0xd9204710) at dl-error-skeleton.c:208
#7  0xf7d47684 in _dl_open (file=0x877b6cc "/storage/.kodi/cdm/libwidevinecdm.so", mode=-2147483647, caller_dlopen=0xeb73814c <base::LoadNativeLibrary(std::string const&, base::NativeLibraryLoadError*)+20>, nsid=-2, argc=3, argv=0xff9daa04, env=0x364bf80) at dl-open.c:864
#8  0xf759eb48 in ?? () from /usr/lib/libdl.so.2
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

LD_PRELOAD is set to /usr/lib/libtcmalloc_minimal.so as recommended.

Am I doing anything wrong?

CastagnaIT commented 3 years ago

this is not the right place to post logs or ask solution for errors you must write your feedbacks to InputStream Adaptive developers

Leepic commented 3 years ago

I'm using Raspbian 9.13 with Kodi standalone and few days ago it was not working but today it's working again with the solution provided in the issue #1154 by downgrading Wide Vine from 4.10.2252.0 to 5.10.1679.0.

wget https://k.slyguy.xyz/.decryptmodules/widevine/4.10.1679.0-linux-armv7.so --output-document /tmp/libwidevinecdm.so
# sha1 : d5ee489d5c409ff6cb423f318a23dba71ff2f2b0
cp -a /home/kodi/.kodi/cdm/libwidevinecdm.so /tmp/libwidevinecdm.so.bak
sudo install  /tmp/libwidevinecdm.so --preserve-timestamps --owner kodi --group kodi --mode 0744 --no-target-directory /home/kodi/.kodi/cdm/libwidevinecdm.so

Playing a Netflix video works well.

CastagnaIT commented 3 years ago

I had misunderstood some time ago and then forgot to update thanks

ostanislaw commented 3 years ago

I'm using Raspbian 9.13 with Kodi standalone and few days ago it was not working but today it's working again with the solution provided in the issue #1154 by downgrading Wide Vine from 4.10.2252.0 to 5.10.1679.0.

wget https://k.slyguy.xyz/.decryptmodules/widevine/4.10.1679.0-linux-armv7.so --output-document /tmp/libwidevinecdm.so
# sha1 : d5ee489d5c409ff6cb423f318a23dba71ff2f2b0
cp -a /home/kodi/.kodi/cdm/libwidevinecdm.so /tmp/libwidevinecdm.so.bak
sudo install  /tmp/libwidevinecdm.so --preserve-timestamps --owner kodi --group kodi --mode 0744 --no-target-directory /home/kodi/.kodi/cdm/libwidevinecdm.so

Playing a Netflix video works well.

I'm using raspberry pi3 with OSMC (debian+kodi distro) Netflix works well for me too. No need to manually downgrade, simply after updating InputStream Helper to v0.5.5 and choosing (Re)install widevine it checks that the system does not support new widevine lib and prompts to install the older 4.10.1679.0.

Iron-Wolf commented 3 years ago

This worked for me (official OSMC distro on rpi3) : https://github.com/CastagnaIT/plugin.video.netflix/issues/1179#issuecomment-864573879 thx !

Although the menu is a bit hard to find :

cleveritcz commented 3 years ago

Will be fixed or not? I have been waiting for this. This is not normal solution.

CastagnaIT commented 3 years ago

thanks for the feedbacks i have updated the (first) post

vteccorp commented 3 years ago

thanks for the feedbacks i have updated the (first) post

Hi CastagnaIT, thanks for excellent job! :) I can confirm that Your collabo with CoreELEC and ISA teams ended successfully! Now new DRM mechanism works like it should… 1080p plays again! All I had to do additionally is ESN refresh… but it’s probably because I reset the kodi settings about a week ago, when I saw that 1080p stopped working… and then even SD stopped working for me…

DjDiabolik commented 2 years ago

Hi my friends.... i have installed from scratch the currently OSMC on my Raspberry Pi2.......

I have tryed to install DAZN but i have this same errors whit DRM.... it's say: On Kodi.log it's appears: 2021-08-26 13:40:36.992 T:3519 ERROR : AddOnLog: inputstream.adaptive: Unable to load widevine shared library (/home/osmc/.kodi/cdm/libwidevinecdm.so)

CDM it's installed at version 4.10.1679.0 Inputstream Adaptive it's 2.6.18 and latest Helper it's 0.5.7+matrix.1

It's all ok ?

EDIT And problably i have resolved this my issue.

I need to DELETE manually the .so files and after that (re)install it from inputstream.helper. During the installation i have select to install an OLD version and after extraction/installation i see there's the same version upper here but problably this time i obtain a perfect installation (or previously i obtain a non perfectly or corrupted library).

I reboot my Pi2 and BAAAM........... It's WORKSSSSS! Now i can use DAZN on my Pi2 OSMC Setup.

Now the question it's......... i have need to DISABLE The check of update in inputstream.helper ?

ostanislaw commented 2 years ago

@DjDiabolik You don't need to disable that. Since inputstream.helper 0.5.5 it will verify that your system does not support new libwidevine (so far OSMC is not prepared) and not propose to update it until the system is prepared: https://github.com/CastagnaIT/plugin.video.netflix/issues/1179#issuecomment-864573879

Here you might check what is current status for various distro: https://www.matthuisman.nz/2021/05/widevine-arm-broken.html

DjDiabolik commented 2 years ago

@ostanislaw oh ok thanks for info :)

LaszloLango commented 2 years ago

Hi Guys! A tried to downgrade the libwidevinecdm.so, but got the following error message:

2021-09-28 21:03:30.710 T:1355797216   ERROR: CCurlFile::FillBuffer - Failed: HTTP returned error 406
2021-09-28 21:03:30.713 T:1355797216   ERROR: CCurlFile::Open failed with code 406 for https://lic.drmtoday.com/license-proxy-widevine/cenc/:
2021-09-28 21:03:30.713 T:1355797216   ERROR: AddOnLog: InputStream Adaptive: License server returned failure
2021-09-28 21:03:30.714 T:1355797216   ERROR: AddOnLog: InputStream Adaptive: License update not successful (no keys)
2021-09-28 21:03:30.785 T:1355797216   ERROR: AddOnLog: InputStream Adaptive: Initialize failed (SingleSampleDecrypter)
$ uname -a
Linux xbian 4.19.68+ #1 SMP PREEMPT Mon Aug 26 20:37:12 CEST 2019 armv7l GNU/Linux

backup libwidevinecdm version: 13505.111.0

Can you give me some pointers? Anybody using here XBian?

jon10220 commented 2 years ago

Hello

xbian works great with the new Widevine 4.10.2252.0, you need to update your xbian to bullseye.

Old Widevine is revorked and not working at the moment

matthuo333 commented 2 years ago

I'm using Raspbian 9.13 with Kodi standalone and few days ago it was not working but today it's working again with the solution provided in the issue #1154 by downgrading Wide Vine from 4.10.2252.0 to 5.10.1679.0.

wget https://k.slyguy.xyz/.decryptmodules/widevine/4.10.1679.0-linux-armv7.so --output-document /tmp/libwidevinecdm.so
# sha1 : d5ee489d5c409ff6cb423f318a23dba71ff2f2b0
cp -a /home/kodi/.kodi/cdm/libwidevinecdm.so /tmp/libwidevinecdm.so.bak
sudo install  /tmp/libwidevinecdm.so --preserve-timestamps --owner kodi --group kodi --mode 0744 --no-target-directory /home/kodi/.kodi/cdm/libwidevinecdm.so

Playing a Netflix video works well.

I'm using raspberry pi3 with OSMC (debian+kodi distro) Netflix works well for me too. No need to manually downgrade, simply after updating InputStream Helper to v0.5.5 and choosing (Re)install widevine it checks that the system does not support new widevine lib and prompts to install the older 4.10.1679.0.

I use Coreelec 9.2.7 (but modify some kernel-related network parts myself), when I perform (Re)install widevine, I will not be prompted to install the old version of widevine.

matthuo333 commented 2 years ago

But in the end, I downgraded to the old version of widevine through the Restore method. Fortunately, I have a copy of the old version of widevine.

jbatmalle commented 2 years ago

ame issue. I downgraded and it's work now.

OraDotNetDev commented 2 years ago

FWIW today I installed the latest Widevine CDM upgrading from 4.10.2252.0 to 4.10.2449.0 on ARM.

Playback now occurs without any issue.

DjDiabolik commented 2 years ago

4.10.2449.0 confirm it's work.