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

Odroid C2 Unable to load shared library #35

Closed rgainza closed 5 years ago

rgainza commented 6 years ago
19:33:54.179 T:3975140208   ERROR: AddOnLog: InputStream Adaptive: Unable to load widevine shared library (/storage/.kodi/cdm/libwidevinecdm.so)

Your script downloads the widevine module. No problem there, but for some reason I can't get that module to work. The macleod script worked for it without any problems so I thought it was the same structure as the RPi.

Which recovery OS image is the best for the Odroid C2?

deorder commented 6 years ago

Temp fix for the ARM version. 7zip or another archive tool that supports filesystem images required.

Go to: https://cros-updates-serving.appspot.com/#speedy

Click 67 on the line with the codename Spring. It will download an older version of Chrome OS. Direct link: https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_10575.58.0_daisy-spring_recovery_stable-channel_spring-mp-v3.bin.zip

Open the .zip archive, open the .bin file and then open the ROOT-A.img file. You will see several directories.

Go to opt/google/chrome/. In there you will find the file libwidevinecdm.so.

Extract the file libwidevinecdm.so and copy it to your Kodi home directory in ~/.kodi/userdata/addon_data/script.module.inputstreamhelper/cdm or similar (instead of overwriting you can backup the already existing one).

Restart Kodi

rgainza commented 6 years ago

Thank you!

rspierenburg commented 6 years ago

I download the file, extract the zip to a .bin, but when I try to extract the .bin file it tells me there is an error in the file. I've downloaded both from the direct link and the actual page. Is there anywhere else I can get the libwidevinecdm.so file?

rgainza commented 6 years ago

I don't think it's allowed to share the .so file openly according to the license (copying not allowed)?

Just use the SSH and follow the instructions. https://help.vivaldi.com/article/raspberry-pi/#drm-and-flash

You could create a bash script:

!/bin/sh

CHROMEOSR="https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_10575.58.0_daisy-spring_recovery_stable-channel_spring-mp-v3.bin.zip" wget $CHROMEOSR unzip $(basename $CHROMEOSR) LOOPD=$(losetup -f) sudo losetup -P $LOOPD $(basename $CHROMEOSR .zip) mkdir chromeos sudo mount -o ro ${LOOPD}p3 chromeos cp chromeos/opt/google/chrome/libwidevinecdm.so ~/.kodi/cdm sudo umount chromeos rmdir chromeos sudo losetup -d ${LOOPD} rm -vi $(basename $CHROMEOSR) $(basename $CHROMEOSR .zip)

Somebody else can probably make it better.

deorder commented 6 years ago

This is now fixed. The latest Milhouse LibreELEC testbuild already has the fix. You should restore the windevine .so file to the latest version. If you deleted it, it is inside the latest chromeos archive: https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_10718.88.2_daisy-spring_recovery_stable-channel_spring-mp-v3.bin.zip

holzfuss commented 6 years ago

LibreElec 8.25 with inputstream.adaptive 2.0.20 on RPi2.

I downloaded libwidevinecdm.so v10718.88.2 and v10575.58.0 from spring- and elm-tree, but all four files did not work.

Lib has 7,9 MB instead of 4,9 MB. Kodi tells me (after reboot) that some (3?) libs are missing. I checked chmod and links twice, everything is OK.

Does the fix only work on LibreElec 9 beta with inputstream.adaptive 2.0.27?

matthuisman commented 6 years ago

@holzfuss

Widevine appears to no longer work in KODI 17 at all. You will need to update to KODI 18 (LibreELEC Alpha)

holzfuss commented 6 years ago

It did work on Kodi 17, LE 8.2.5, I.A 2.0.20, so why doesn't it work any more? Did DAZN and SKY change anything? Otherwise this would make no sense...

rgainza commented 6 years ago

Widevine versions were blacklisted by Google. The newer versions aren't supported by the inputstream that the Kodi v17 is using. Simple as that.

holzfuss commented 6 years ago

So Google did change something. Thanks for this clear explanation. Waiting for a fix by peak3d for Kodi 17 :-)

matthuisman commented 6 years ago

@holzfuss There isn't a "fix" for KODI 17.

It simply needs a later version of the inpustream.adaptive add-on to run. However, later versions of that add-on require code changes in KODI itself. These changes are only in KODI 18. They won't be back-ported as there are no-more KODI 17 versions to be released.

The fix is to switch to KODI 18 Beta or wait for KODI 18 Stable

holzfuss commented 6 years ago

Well, I have no idea how much time it would take to backport the necessary code to KODI 17. But as long as KODI 18/LE 9 is that far away from being stable, it would not be the worst idea...

Waiting for KODI 18/LE 9 to get stable... :/

matthuisman commented 6 years ago

Even if you did back-port the code yourself, they aren't releasing any more versions of KODI (no 17.7). So you'd need to compile your own LE using your modified KODI source.

I don't think 18 is that far away. I'd guess one more Beta. Then RC1 and RC2. Then 18.0. Then you need to wait for LE to go stable.

stsichler commented 6 years ago

@holzfuss

Well, I have no idea how much time it would take to backport the necessary code to KODI 17

I do have. :) It's pretty simple and since today, I have Widevine working again in Kodi 17.6 on my good old Odroid U3. See my feature request https://github.com/peak3d/inputstream.adaptive/issues/193

holzfuss commented 6 years ago

So, we only need some changes in the inputstream.adaptive plugin? @peak3d, @stsichler That would be f*cking awesome.

LE is still Alpha5 since 17th of September...it is probably months away from being stable.

dagwieers commented 5 years ago

I am not sure, but I don't think any activity is to be expected for Kodi Krypton. Your best bet is to move to Kodi Leia.

dagwieers commented 5 years ago

I am tempted to close this issue, as I don't know what to do or expect from this conversation. Feedback appreciated ;-)

dagwieers commented 5 years ago

I am going to close this now. inputstreamhelper (or rather Widevine) is only supported on Kodi 18 and newer. This is out of our control currently.

Feel free to report any feedback related to this issue here though.