emilsvennesson / script.module.inputstreamhelper

A simple Kodi module that makes life easier for add-on developers relying on InputStream based add-ons and DRM playback.
MIT License
136 stars 48 forks source link

OSMC Kodi19 - Unable to load widevine shared library #463

Closed DjDiabolik closed 1 year ago

DjDiabolik commented 3 years ago

I have formatted my SD and i have re-installed the latest and currently OSMC image whit kodi 19.

After that i have tryed to install the DAZN addons from kodi nerds repo and i obtain this errors when i try to open a channel or a livestream.

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)

I have tryed to google to found a proper solution and i found a lot of information about people reinstall a previous backup or somethings similar and it's create a log of confusion on my head :)

At this point the question it's....... whit my Raspberry Pi2 how i can try to do to fix this issue ?

EDIT I can also add some addictional information................ i have try to look the Inputstreamhelper information and it's say: 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 ?

DjDiabolik commented 3 years ago

RESOLVED.

Need to delete manually .so and (Re)Install it from inputstream.helper. Reboot my Pi2 after the newest download and installation and BAAAM all it's start to WORKS flawlessy.

Problaby previously i obtain a corruper library ?!?!!??

Now the question it's........ i need to disable the check of update to not download the newest version ?

horstle commented 3 years ago

Your issue is related to #437 .

There were big changes to the widevine library recently and OSMC is not compatible to the newest version yet, but since Debian 11 has been released, OSMC might become compatible, soon. https://discourse.osmc.tv/t/latest-versions-of-libwidevine/89509

You most probably installed the new widevine library with an old version of inputstreamhelper, which couldn't detect compatibility. With the newest version of inputstreamhelper (v0.5.7, which you have installed now), your system will stay on an old version of widevine, until your system becomes compatible with the newer ones. The problem however is, that Google announced to revoke the older versions, although we are now past the announced date and they still seem to work at least in some parts of the world. So no one knows how long your system will continue to work with the old widevine library. It's probably best if you ask the OSMC devs when they'll update their system.

DjDiabolik commented 3 years ago

@horstle lol ok... that a great news.

In my case if this append this DAZN stop to works and i'm need to (re)start to use the very old app in my lg smart tv :)

ddceca commented 3 years ago

I'm afraid what @horstle mentioned (the old version finally stopping working) may have happened today, september 1st. Can any other OSMC users confirm?

horstle commented 3 years ago

I'm not using OSMC, but I received reports with the same problem.

DjDiabolik commented 3 years ago

DAMN!!! I could put my watch back on!! have they been waiting for me to start using it? OMG....

Can add my feedback later tonight.........

DjDiabolik commented 3 years ago

Confirm that

2021-09-02 15:48:45.230 T:373      INFO <general>: CActiveAESink::OpenSink - initialize sink
2021-09-02 15:48:45.231 T:373      INFO <general>: CAESinkALSA::Initialize - Attempting to open device "default"
2021-09-02 15:48:45.253 T:373      INFO <general>: CAESinkALSA::Initialize - Opened device "default"
2021-09-02 15:48:45.259 T:373      INFO <general>: CAESinkALSA::InitializeHW - Your hardware does not support AE_FMT_FLOAT, trying other formats
2021-09-02 15:48:45.260 T:373      INFO <general>: CAESinkALSA::InitializeHW - Using data format AE_FMT_S24NE3
2021-09-02 15:48:47.795 T:320     ERROR <general>: Control 55 in window 10025 has been asked to focus, but it can't
2021-09-02 15:48:47.901 T:24595    INFO <general>: initializing python engine.
2021-09-02 15:48:58.820 T:24595    INFO <general>: CPythonInvoker(51, /home/osmc/.kodi/addons/plugin.video.dazn/addon.py): script successfully run
2021-09-02 15:49:04.381 T:24595    INFO <general>: initializing python engine.
2021-09-02 15:49:14.790 T:24595    INFO <general>: CPythonInvoker(51, /home/osmc/.kodi/addons/plugin.video.dazn/addon.py): script successfully run
2021-09-02 15:49:44.893 T:24595    INFO <general>: initializing python engine.
2021-09-02 15:49:45.504 T:24595    INFO <general>: CPythonInvoker(51, /home/osmc/.kodi/addons/plugin.video.dazn/addon.py): script successfully run
2021-09-02 15:49:50.904 T:24595    INFO <general>: initializing python engine.
2021-09-02 15:49:51.953 T:24595    INFO <general>: CPythonInvoker(51, /home/osmc/.kodi/addons/plugin.video.dazn/addon.py): script successfully run
2021-09-02 15:49:52.060 T:320      INFO <general>: VideoPlayer::OpenFile: plugin://plugin.video.dazn/?mode=play&title=Milan+TV&id=11gr3fqct0m611fvltqbqh7bu1&params=10u4zu6e8s5t30cjimrl958zw&verify_age=False
2021-09-02 15:49:52.064 T:24636    INFO <general>: Creating InputStream
2021-09-02 15:49:52.065 T:24636   ERROR <general>: CInputStreamAddon::Supports - 'inputstreamaddon' has been deprecated, please use `#KODIPROP:inputstream=inputstream.adaptive` instead
2021-09-02 15:49:52.068 T:24636    INFO <general>: AddOnLog: inputstream.adaptive: SetVideoResolution (1920 x 1080)
2021-09-02 15:49:52.491 T:24636    INFO <general>: AddOnLog: inputstream.adaptive: Successfully parsed manifest file. #Periods: 1, #Streams in first period: 2, Type: live, Download speed: 2330492.8593 Bytes/s
2021-09-02 15:49:54.257 T:24636   ERROR <general>: AddOnLog: inputstream.adaptive: Unable to find license in JSON string
2021-09-02 15:49:54.258 T:24636   ERROR <general>: AddOnLog: inputstream.adaptive: License update not successful (no keys)
2021-09-02 15:49:54.358 T:24636   ERROR <general>: AddOnLog: inputstream.adaptive: Initialize failed (SingleSampleDecrypter)
2021-09-02 15:49:54.363 T:24636   ERROR <general>: CVideoPlayer::OpenInputStream - error opening [plugin://plugin.video.dazn/?mode=play&title=Milan+TV&id=11gr3fqct0m611fvltqbqh7bu1&params=10u4zu6e8s5t30cjimrl958zw&verify_age=False]
2021-09-02 15:49:54.363 T:24636    INFO <general>: CVideoPlayer::OnExit()
2021-09-02 15:49:54.367 T:24636    INFO <general>: ADDON: Dll Destroyed - InputStream Adaptive
2021-09-02 15:49:54.383 T:24591    INFO <general>: Deleting settings information for files plugin://plugin.video.dazn/?mode=play&title=Milan+TV&id=11gr3fqct0m611fvltqbqh7bu1&params=10u4zu6e8s5t30cjimrl958zw&verify_age=False
2021-09-02 15:49:54.412 T:320      INFO <general>: CVideoPlayer::CloseFile()
2021-09-02 15:49:54.412 T:320      INFO <general>: VideoPlayer: waiting for threads to exit
2021-09-02 15:49:54.412 T:320      INFO <general>: VideoPlayer: finished waiting

DAZN addons it's not more works on my Raspberry pi2 whit OSMC......... that message "Unable to find license in JSON string" i thinks it's the widevine library not more avaible for my hardware.

Very good choice google.

Here some info on official osmc forum. https://discourse.osmc.tv/t/widevine-add-ons-stopped-working-from-01-09/90684

horstle commented 3 years ago

https://github.com/xbmc/inputstream.adaptive/issues/678#issuecomment-912798598

This sounds interesting.

themooleman commented 3 years ago

I am running kodi-rpi 19.1-11 as a standalone service on Arch Linux Arm 5.10.63-8 on a Raspberry Pi 4B. I encountered the same issue (unable to load widevine shared library (/var/lib/kodi/.kodi/cdm/libwidevinecdm.so)). I noted the changelog for V 0.5.8 states "Simplify Widevine CDM installation on ARM hardware". Critically, this seems to have removed the check still present in 0.5.7 which asks if you want to install an older version of Widevine.

I did not have an older version of Widevine from which I could restore so I installed inpustreamhelper 0.5.7 from zip, disabled updates, ran (re)install Widevine CDM library and chose the option to install an older version of Widevine and now Netflix works perfectly again.

The current (non-working) version of Widevine is 4.10.2252.0 extracted from Chrome OS image FIEVEL version 13982.88.0 The latest version which works for me is Widevine 4.10.1679.0 FIEVEL version 13505.73.0.

I'm not sure how much longer it'll work for.

It's worth noting that, at least for me on Arch Linux Arm, the current version of InputStreamHelper (0.5.8) installs a non-working version of Widevine. My system is fully up to date.

I know this has already been discussed in detail but I thought I'd chime in with my experience just in case anyone else has a similar setup and encounters the same issue. This is an easy fix, albeit likely a temporary one.

horstle commented 3 years ago

I wasn't aware of any streaming platform or any region where you can still use the old widevine. That's why we removed the check, since we thought installing the old version doesn't make any sense.

Anyways, your issue is somewhat different to the original, since apparently the developers of Archlinux ARM are not planning to release a patched version of glibc. However, you can try compiling it yourself, but not as explained there! To make you system compatible with newer versions of widevine, apply the 2 patches from here to glibc, compile and install it. Then you can update inputstreamhelper and install the latest widevine.

themooleman commented 3 years ago

I'm in New Zealand. That might be why. Makes sense that you removed the check.

Interesting to know that Archlinux ARM devs aren't planning to release a patched version of glibc. Thanks for providing instructions! As soon as the old Widevine versions stops working for me I'll be sure to follow them!

ostanislaw commented 3 years ago

I wasn't aware of any streaming platform or any region where you can still use the old widevine.

@horstle No, really? I use older widevine 4.10.1679.0 for Netflix, it is still fine, watched today. OSMC(kodi19) on raspberry. InputStream Helper 0.5.8. Just found another issue that when I try to enter "InputStream Helper information" it fails now, log below.

2021-09-18 23:54:41.045 T:15930   ERROR <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--                                
                                                    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!                                                                                   
                                                   Error Type: <class 'KeyError'>
                                                   Error Contents: 'hwidmatch'
                                                   Traceback (most recent call last):
                                                     File "/home/osmc/.kodi/addons/script.module.inputstreamhelper/default.py", line 8, in <module>                                   
                                                       run(sys.argv)
                                                     File "/home/osmc/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper/api.py", line 25, in run                     
                                                       info_dialog()
                                                     File "/home/osmc/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper/api.py", line 57, in info_dialog             
                                                       Helper('mpd', drm='widevine').info_dialog()                                                                                    
                                                     File "/home/osmc/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper/__init__.py", line 433, in info_dialog       
                                                       text += localize(30822, name=wv_cfg['hwidmatch'].split()[0].lstrip('^'), version=wv_cfg['version']) + '\n'                     
                                                   KeyError: 'hwidmatch'
                                                   -->End of Python script error report<--
mirek186 commented 2 years ago

Hi, I think inputstreamhelper is now trying to download the wrong ARM version or there is some other error. Fresh install of OSMC, and after successful download I've got ldd error failed to load. When you ssh and run ldd you do get not a dynamic executable error.

-rwxr--r-- 2 osmc osmc  8499656 Feb  2 22:26 libwidevinecdm.so
-rw-r--r-- 2 osmc osmc   320169 Feb  2 22:26 recovery.json
-rw-r--r-- 2 osmc osmc      640 Feb  2 22:26 config.json
osmc@osmc:~/.kodi/cdm$ ldd libwidevinecdm.so
not a dynamic executable

The 0.5.7 version is working but the windevine is too old and get HTTP 500 error from the server. Helper Information page is showing: Chrome OS Image FIEVEL with 14324.62.0

horstle commented 1 year ago

The original issue has long been solved. If any of the other mentioned problems is still relevant, please create a new issue.