Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RPI - Unable to play videos - error: InputStream Adaptive: Unable to load widevine shared library #1154

Closed
1 of 6 tasks
alexdawn opened this issue May 8, 2021 · 32 comments
Closed
1 of 6 tasks
Labels
Resolution: External The bug was not in the code, caused by external factors Wont be worked on This will not be worked on

Comments

@alexdawn
Copy link

alexdawn commented May 8, 2021

Bug report

Your Environment

  • Netflix add-on version: 1.12.4
  • Operating system version/name: LibreELEC (official): 9.2.6
  • Device model: Raspberry Pi 4B

Used Operating system:

  • Android
  • iOS
  • Linux
  • OSX
  • Raspberry-Pi
  • Windows

Describe the bug

Program will not play when selected in the menu, no error and remains on the menu rather than the play window

Expected behavior

hitting enter on a netflix program should stream the video, or at least show an error that it could not play

Actual behavior

Silent, no error and remained on menu page. Have played around with the resolution settings and everything else the wiki suggest for video issues. On kodi disabled hardware decoding and set a 720p resolution, still no help

Steps to reproduce the behavior

  1. Install LibreElec onto SD card from official raspberry pi site
  2. Insert into Pi
  3. download CastagnalT repo zip onto usb stick
  4. On Kodi Install plugin-from zip
  5. Goto Repo and install dependencies
  6. Start plug-in
  7. log-in to account
  8. Follow prompts for installing widevine via chrome
  9. find any program and hit enter

Possible fix

Total noob here but probably something to do with the log line 799 GetDirectory - Error getting /usr/lib/kodi/addons/inputstream.adaptive/ or the chrome installer for widevine could be silently failing?

Debug log

The debug log can be found here: https://paste.kodi.tv/ozicucivol

Additional context or screenshots (if appropriate)

Other information

A quick search of related issues picks up this #154
but my issue looks most similar to #474

Screenshots

@github-actions github-actions bot added the Triage: Needed Issue that was just created and needs someone looking at it label May 8, 2021
@dsardelic
Copy link
Contributor

Same LibreElec version (9.2.6), same Netflix add-on version (1.12.4) on my Raspberry-Pi 3B - and same problem as well.

The log shows two pertinent errors:
ERROR: GetDirectory - Error getting /usr/lib/kodi/addons/inputstream.adaptive/
ERROR: AddOnLog: InputStream Adaptive: Unable to load widevine shared library (/storage/.kodi/cdm/libwidevinecdm.so)

Widewine was updated about 24 hours ago. Playback worked immediately after the update, as did about 8 hours ago. I don't have an idea what might have been the trigger for this behavior. Tried several reboots, no luck.

@silles79
Copy link

silles79 commented May 8, 2021

i have the same problem:
2021-05-08 20:37:00.036 T:2362213232 ERROR: AddOnLog: InputStream Adaptive: Unable to load widevine shared library (/storage/.kodi/cdm/libwidevinecdm.so)

file is there:
Kodi:~ # ldd /storage/.kodi/cdm/libwidevinecdm.so linux-vdso.so.1 (0xbef1d000) /usr/lib/libarmmem-v7l.so (0xb5e1b000) libdl.so.2 => /usr/lib/libdl.so.2 (0xb5e08000) libpthread.so.0 => /usr/lib/libpthread.so.0 (0xb5ddf000) librt.so.1 => /usr/lib/librt.so.1 (0xb5dc8000) libm.so.6 => /usr/lib/libm.so.6 (0xb5d5e000) libc.so.6 => /usr/lib/libc.so.6 (0xb5c23000) /usr/lib/ld-linux-armhf.so.3 (0xb6fbc000)

Kodi:~ # ls -la /storage/.kodi/cdm/libwidevinecdm.so -rwxr--r-- 2 root root 8887360 May 8 20:42 /storage/.kodi/cdm/libwidevinecdm.so

I tried to delete it and redownload it. Got the same problem.

@Zagur
Copy link

Zagur commented May 8, 2021

I have the same error, my log:

2021-05-09 00:22:52.833 T:1807721344 NOTICE: [script.module.in putstreamhelper] Widevine update check was made on 2021-05-07 2 2:19 2021-05-09 00:22:52.889 T:1937514512 NOTICE: VideoPlayer::Open File: plugin://plugin.video.netflix/play/movie/80183187/?profil e_guid=SCVOBTIHIUI4 2021-05-09 00:22:52.891 T:1255129984 NOTICE: Creating InputStr eam 2021-05-09 00:22:52.893 T:1255129984 ERROR: ADDON: Could not locate inputstream.adaptive.so.2.4.6 2021-05-09 00:22:52.893 T:1255129984 ERROR: IAddonInstanceHan dler::CreateInstance: inputstream.adaptive returned bad status "Permanent failure" during instance creation 2021-05-09 00:22:52.893 T:1255129984 ERROR: CVideoPlayer::Ope nInputStream - error opening [plugin://plugin.video.netflix/pla y/movie/80183187/?profile_guid=SCVO6IUI4] 2021-05-09 00:22:52.894 T:1255129984 NOTICE: CVideoPlayer::OnE xit()

@silles79
Copy link

silles79 commented May 9, 2021

Guys, found a "fix". I had an image backup and extracted the old libwidevinecdm.so and copied it over to the PI.
It works fine. So the culprit is the latest libwidevinecdm.

-rwxr--r-- 1 root root 7297324 May 9 16:45 libwidevinecdm.so

@ancebfer
Copy link

ancebfer commented May 9, 2021

Guys, found a "fix". I had an image backup and extracted the old libwidevinecdm.so and copied it over to the PI.
It works fine. So the culprit is the latest libwidevinecdm.

-rwxr--r-- 1 root root 7297324 May 9 16:45 libwidevinecdm.so

I can confirm that restoring previous libwidevinecdm.so from backup solves the problem:

find / -name "libwidevinecdm.so"
/storage/.kodi/cdm/libwidevinecdm.so
/storage/.kodi/userdata/addon_data/script.module.inputstreamhelper/backup/13816.64.0/libwidevinecdm.so
/storage/.kodi/userdata/addon_data/script.module.inputstreamhelper/backup/13729.56.0/libwidevinecdm.so
/storage/.kodi/userdata/addon_data/script.module.inputstreamhelper/backup/13505.111.0/libwidevinecdm.so

cp -a /storage/.kodi/userdata/addon_data/script.module.inputstreamhelper/backup/13729.56.0/libwidevinecdm.so /storage/.kodi/cdm/

Instead of the not working libwidevinecdm.so version 13816.64.0, the previous version 13729.56.0 works right.

Best regards.

@TimSoethout
Copy link

Any ideas on how to get an older version when you don't have any older backups?

@ancebfer
Copy link

ancebfer commented May 9, 2021

Any ideas on how to get an older version when you don't have any older backups?

Backups are stored in the RPi. Enable the ssh service (Kodi settings), connect to your RPi (you can use putty in Windows) and execute the above commands.

Also you can follow the instructions at:
https://gist.github.com/ruario/19a28d98d29d34ec9b184c42e5f8bf29

@wagnerch
Copy link
Contributor

wagnerch commented May 9, 2021

You might want to report this issue over on the InputStream Helper add-on:
https://github.com/emilsvennesson/script.module.inputstreamhelper

More than likely Google added a new recovery image that isn't for the ARM platform, and this is why you have a problem loading the library. They usually have to add an exclusion rule to InputStream Helper. You can go into the InputStream Helper add-on and roll back to a previous version.

Try logging in via SSH and running (on LibreELEC or CoreELEC):
ldd /storage/.kodi/cdm/libwidevinecdm.so

@wagnerch
Copy link
Contributor

wagnerch commented May 9, 2021

Well, it looks like the libwidevinecdm is an ARM library, as expected. But it is almost 1M larger than the previous versions. There isn't enough logging in InputStream Adapter to know why it is failing, but it is either failing to load the library, or one of the symbols required are missing (which doesn't appear to be the case).

@lgangler
Copy link

Here's what worked for me (I think this is doing the same as @ancebfer above but easier for those less experienced with the command line):

Go to Add-ons > My add-ons > Program add-ons > InputStream Helper > Configure > Restore Widevine CDM Library

Select the most recent previous version. The one that worked for me was ...77.0

@CastagnaIT CastagnaIT added Resolution: External The bug was not in the code, caused by external factors Wont be worked on This will not be worked on and removed Triage: Needed Issue that was just created and needs someone looking at it labels May 10, 2021
@Zagur
Copy link

Zagur commented May 10, 2021

There is this issue (the date is a bit old) but the script in comment also works correctly.

emilsvennesson/script.module.inputstreamhelper#35 (comment)

I solved it yesterday this way, then I have seen that maybe the best way is the way @lgangler explains it

@wagnerch
Copy link
Contributor

wagnerch commented May 10, 2021

Basically anything before Widevine 4.10.2252.0 will work (this is part of the ChromeOS image 13816.64.0), Google changed something with the library. Pretty much you need to rollback the version via the Restore option in InputStream Helper. This is only deferring the eventual incompatibility.

@dagwieers
Copy link
Contributor

If you open the InputStream Helper information pane, you get all the details of which ChromeOS image the Widevine CDM was extracted from, and this may help us understand what is going on.

On my Raspberry Pi 4 it says:

Widevine CDM is at version 4.10.2252.0 and was installed on 2021-02-04 16:17
It was extracted from Chrome OS image FIEVEL with version 13816.64.0

It appears that this one is not working on my RPi4 system.

kodi04:~ # ls -la ~/.kodi/cdm/libwidevinecdm.so 
-rwxr--r--    2 root     root       8887360 May 10 14:34 /storage/.kodi/cdm/libwidevinecdm.so
kodi04:~ # sha1sum ~/.kodi/cdm/libwidevinecdm.so
4d129768d3753328a837a940e6ee903830c791c4  /storage/.kodi/cdm/libwidevinecdm.so

If I remove FIEVEL from the list of accepted ARM ChromeOS images (in ~/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper/config.py) and reinstall Widevine CDM. I get:

Widevine CDM is at version 4.10.2252.0 and was installed on 2021-02-04 16:44
It was extracted from Chrome OS image TIGER with version 13816.64.0

And with the same Widevine CDM library:

kodi04:~ # ls -la ~/.kodi/cdm/libwidevinecdm.so 
-rwxr--r--    2 root     root       8887360 May 10 14:51 /storage/.kodi/cdm/libwidevinecdm.so
kodi04:~ # sha1sum /storage/.kodi/cdm/libwidevinecdm.so
4d129768d3753328a837a940e6ee903830c791c4  /storage/.kodi/cdm/libwidevinecdm.so

So it's not just one ChromeOS build that is broken in this way, Google is releasing a new library that no longer works with Inputstream Adaptive.

@dagwieers
Copy link
Contributor

Rolling back to an earlier release is the only option now until we find the exact cause.

Add-ons » Program add-ons » InputStream Helper » Restore Widevine CDM library...

Obviously this will impact anyone setting up a new ARM Kodi system, with no access to a backup Widevine CDM.

@CastagnaIT CastagnaIT changed the title Does nothing when hitting enter on a program RPI - Unable to play videos - error: InputStream Adaptive: Unable to load widevine shared library May 10, 2021
@dagwieers
Copy link
Contributor

dagwieers commented May 10, 2021

If I interpret the latest news from Widevine correctly (https://www.widevine.com/news), older Widevine CDM versions will no longer be working as soon as 2021-05-31. So if we do not fix this new Widevine CDM, all our ARM users could be affected in 3 weeks.

@dranidis
Copy link

I tried to restore a previous version but it reported that it did not find any backups. Indeed when I run:

find / -name "libwidevinecdm.so"

I could only see the new version.

Is there any way to find a file to download in order to restore to a working version?

@matthuisman
Copy link

matthuisman commented May 10, 2021

ARMv7 4.10.1679.0 here if anybody needs

https://k.slyguy.xyz/.decryptmodules/widevine/4.10.1679.0-linux-armv7.so
(just rename it to libwidevinecdm.so)
or
http://archive.raspberrypi.org/debian/pool/main/w/widevine/widevine_4.10.1679.0.orig.tar.xz
(extract and find the file in widevine\opt\WidevineCdm_platform_specific\linux_arm"

@cyr06
Copy link

cyr06 commented May 10, 2021

My first time with Kodi so I don't have any previous version of the library. Is there an "official" fix easy to use that could work after June ;)
Many thanks to @CastagnaIT for this add-on

@jakermx
Copy link

jakermx commented May 10, 2021

Hi Guys,

There is a new version of InputStreamHelper v0.5.3, which has a patch for this, as the release notes saids, It may fail on 1st of June. So far , so good!!!

emilsvennesson/script.module.inputstreamhelper@8f4205e

Cheers

@alejandro-amo
Copy link

Hi Guys,

There is a new version of InputStreamHelper v0.5.3, which has a patch for this, as the release notes saids, It may fail on 1st of June. So far , so good!!!

emilsvennesson/script.module.inputstreamhelper@8f4205e

Cheers

20 ChromeOS builds affected. Only Scarlet build is valid now. Oh my...

@alejandro-amo
Copy link

alejandro-amo commented May 11, 2021

My first time with Kodi so I don't have any previous version of the library. Is there an "official" fix easy to use that could work after June ;)
Many thanks to @CastagnaIT for this add-on

As @dagwieers said, everyone setting up a new ARM Kodi system, with no access to a backup Widevine CDM, would be stuck at this point, but they have updated InputStream Helper in order to use a ChromeOS build (SCARLET) that ships with an older Widevine CDM. Updating the plugin and re-downloading will do the trick. At least, temporarily.

EDITED IN ORDER TO UPDATE STATUS

@dagwieers
Copy link
Contributor

@AlisterAmo We have updated InputStream Helper so that it only uses a ChromeOS build (SCARLET) that ships with an older Widevine. This will get us to 2021-05-31 (when Google will revoke any older Widevine CDM libraries) or until SCARLET gets the updated CDM..

So updating Widevine CDM with the newer InputStream Helper, or rolling back the Widevine CDM will do the trick.

PS We have been asking for ISH to get a notification when Widevine has an issue so we can ask the user to update the CDM when it is needed, rather than having to update it regularly to prevent future issues. (This mechanism is now causing issues while the mechanism was designed to prevent issues) But currently Kodi does not report back any playback issues related to Widevine CDM, key revocation, HTTP access problems, etc...

@Rowhdy1337
Copy link

Rolling back to an earlier release is the only option now until we find the exact cause.

Add-ons » Program add-ons » InputStream Helper » Restore Widevine CDM library...

Obviously this will impact anyone setting up a new ARM Kodi system, with no access to a backup Widevine CDM.

i don't have an older backup, is there any chance i can get it?

@matthuisman
Copy link

Rolling back to an earlier release is the only option now until we find the exact cause.

Add-ons » Program add-ons » InputStream Helper » Restore Widevine CDM library...

Obviously this will impact anyone setting up a new ARM Kodi system, with no access to a backup Widevine CDM.

i don't have an older backup, is there any chance i can get it?

Look up a few comments:
#1154 (comment)

@Lookens
Copy link

Lookens commented May 17, 2021

Hi guys, someone can explain me how to downgrade widevine without backup on my libreelec kodi ?

Thanks

@jakermx
Copy link

jakermx commented May 17, 2021

Update your InputStreamHelper to 0.5.3, ince installled Open iit and select Remove Widevine then select (Re)Installl ,and there you go!

@Lookens
Copy link

Lookens commented May 17, 2021

Thanks i found an other solution !

@dagwieers
Copy link
Contributor

Apparently, the newer InputStream Helper v0.5.3 for Krypton/Leia has not been approved yet by Team Kodi, so people are still affected by this on Leia every day. xbmc/repo-scripts#2012

@jakermx
Copy link

jakermx commented May 17, 2021

I have an RPI 3 Runnng LE 9.2.6 Kodi Leia, and Cloned the Gitt and the Insalled without isssues, and for a RPI4 I ran the Vivaldi Script to grab de library and works great....aalso O have a Development Bord on RPI 4 running Matrix... and it runs smoothly.

It requires pytho 2.5+ sio I think is ok as far for Leia...

@CastagnaIT
Copy link
Owner

I have opened a new Issue thread: #1179
with the currently known solutions
This issue will remain open for a few more days, then it will be closed

@Henk4542
Copy link

HI
I have also a problem with widevine

This is what i run
LineageOS 21 Android TV (Android 14)
on Raspberry Pi 5

InputstreamHelper does not offer you the option to install widevine.

i tried to install widevine have the option install from ZIP File
but this does not work either
this is the file , i tried

https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_14092.77.0_veyron-fievel_recovery_stable-channel_fievel-mp.bin.zip

I have a small problem with video streaming using Kodi , spesely when I tries to view a DRM protected video

below is information the problem have

That means that Inputstream Helper has detected your O.S. as Android. Since Widevide CDM is a google product it is shipped with Android by default and InputstreamHelper does not offer you the option to install widevine.
However you appear to run Lineage, which is based on the Android Open source Project (AOP), but widevine is not open source.

read more
So, as I mentioned before, check with Lineage if the ship widevine, or whether there is a way to install it - you won't be the first who tries to view a DRM protected video on Lineage. Since Lineage for Raspbery pi does not appear to be an official Lineage distro,

what can I do to getting Widevide is installed.
or can you tell me where I can refer/go to solve this problem

cause I'm struggling with it.

thank you very much for your time

@Henk4542
Copy link

Hi
I have logging here , and I also found something
in this log is written See below does this have anything to do with the problem I have

2024-06-17 00:00:29.970 T:3823 debug : AddOnLog: inputstream.adaptive: New period, dispose sample decrypter and reinitialize
2024-06-17 00:00:29.970 T:3823 debug : AddOnLog: inputstream.adaptive: Entering encryption section
2024-06-17 00:00:29.972 T:3823 error : AddOnLog: inputstream.adaptive: CWVCdmAdapterA: Unable to initialize MediaDrm
2024-06-17 00:00:29.972 T:3823 error : AddOnLog: inputstream.adaptive: OpenDRMSystem failed
2024-06-17 00:00:29.972 T:3823 debug : AddOnLog: inputstream.adaptive: CSession::~CSession()
2024-06-17 00:00:29.972 T:3823 error : CVideoPlayer::OpenInputStream - error opening [plugin://plugin.video.retrospect/?channel=channel.sbsnl.kijknl&action=playvideo&pickle=7FA7BFC8CD132A6E17704E9A657F4E9B87EE462179A08AFC6D61959952CFC9DD--554B1936D79216A835F464F37CC4A287974E1D8679AC86A1703E2B256251E119]
2024-06-17 00:00:29.972 T:3823 info : CVideoPlayer::OnExit()
2024-06-17 00:00:29.973 T:3823 debug : AddOnLog: inputstream.adaptive: Close()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Resolution: External The bug was not in the code, caused by external factors Wont be worked on This will not be worked on
Projects
None yet
Development

No branches or pull requests