Testers wanted - Widevine on iOS / tvOS
#1
I have a draft PR for inputstream adaptive to allow building wvdecrypter (the glue between inputstream adaptive and Widevine binary)
for iOS and tvOS

The pr is here: https://github.com/xbmc/inputstream.adaptive/pull/722

If anyone who uses Kodi on iOS or tvOS could get a bit of time, I'd like to know if they even will load up the Widevine binary and playback content

The test builds are here:
tvOS: https://drive.google.com/file/d/194foMTy...sp=sharing
iOS: https://drive.google.com/file/d/1xF3jEd_...sp=sharing
or you can make your own following these steps: https://github.com/xbmc/inputstream.adap...-868118139

Once you install the build, you can test Widevine playback by installing this add-on: 
https://drive.google.com/file/d/1bYhm7hu...sp=sharing
or any add-on that uses Widevine (Disney+, Netflix etc)

full debug logs after the test would be great
(I dont have access to any iOS devices)
Reply
#2
tested with your build on iOS 12, here's the most interesting line:
Quote:2021-07-30 16:06:05.344 T:1819495   DEBUG <general>: AddOnLog: inputstream.adaptive: CDM LoadNativeLibrary error: dlopen(/private/var/mobile/Containers/Data/Application/7F14D16B-8D6E-409F-A611-3F2AFB2CED2A/Library/Preferences/Kodi/cdm/libwidevinecdm.dylib, 1): image not found
full log after pressing Test Widevine!https://paste.kodi.tv/jogeqolere.kodi

please let me know if you need any other info. I can also test on iOS 14 and 15 if needed.
Reply
#3
Great. I suspect ive put the widevine blob in the wrong directory.

I'll take a closer look later.
Good news is it loaded the decrypter Smile which is what my PR adds.

Actually, could you try going into the inputstream adaptive addon settings and changing decrypter path to

special://kodi/cdm

Then try again?
Reply
#4
(2021-07-30, 18:03)matthuisman Wrote: Actually, could you try going into the inputstream adaptive addon settings and changing decrypter path to

special://kodi/cdm

Then try again?

dylib loaded, but video didn't play: https://paste.kodi.tv/eregupiroz.kodi
Reply
#5
Oh, it didn't actually load it.
It says - Absolute path to widevine in settings expected

Does it let you browse for a directory? If so, could you try to browse to the Kodi / cdm directory?

In the future, I'd be able to change the default path for iOS to be where needed
Reply
#6
no, it's just a text field. Could you show the expected location?

also tried special://xbmc/cdm and special://xbmcbinaddons/cdm - same result.

log from the latter: https://paste.kodi.tv/budevimazu.kodi
Reply
#7
The full path I believe would be

/private/var/containers/Bundle/Application/08963D3D-3F8A-41EF-83C4-76C6FB5B5678/Kodi.app/AppData/AppHome/cdm

Your last log was very close but it had /addons/cdm

special://xbmc/cdm should have worked.
You have a log for when using that?
Maybe because it's not writable.
IA will try write files in that directory.
So IA may need a change to read the widevine blob and then write to a different directory
Reply
#8
(2021-07-30, 22:53)matthuisman Wrote: The full path I believe would be

/private/var/containers/Bundle/Application/08963D3D-3F8A-41EF-83C4-76C6FB5B5678/Kodi.app/AppData/AppHome/cdm

Your last log was very close but it had /addons/cdm

special://xbmc/cdm should have worked.
You have a log for when using that?
Maybe because it's not writable.
IA will try write files in that directory.
So IA may need a change to read the widevine blob and then write to a different directory

I can post the log later if needed, but app bundle isn't writable for sure
Reply
#9
Ok, leave it with me

I'll be back
Reply
#10
FYI on tvOS doesn't work either:
Quote: 
2021-08-01 11:19:09.792 T:1657353 DEBUG <general>: AddOnLog: inputstream.adaptive: CDM LoadNativeLibrary error: dlopen(/private/var/containers/Bundle/Application/EFDF8134-35D5-42C5-A90E-C2B267ED9C0B/Kodi.app/AppData/AppHome/cdm/libwidevinecdm.dylib, 0x0001): could not use '/private/var/containers/Bundle/Application/EFDF8134-35D5-42C5-A90E-C2B267ED9C0B/Kodi.app/AppData/AppHome/cdm/libwidevinecdm.dylib' because it was not built for platform tvOS
full log: https://paste.kodi.tv/jirohubero

I guess you didn't build the dylib with tvOS SDK.

relative bit from otool -l of the app:
Quote:      cmd LC_VERSION_MIN_TVOS
  cmdsize 16
  version 11.0
      sdk 13.2
from the dylib:
Quote:      cmd LC_BUILD_VERSION
  cmdsize 32
 platform 1
    minos 11.0
      sdk 11.0
   ntools 1
     tool 3
  version 609.6

also checked output on iOS with special://xbmc/cdm, here's the error:
Quote:AddOnLog: inputstream.adaptive: CDM LoadNativeLibrary error: dlopen(/private/var/containers/Bundle/Application/08963D3D-3F8A-41EF-83C4-76C6FB5B5678/Kodi.app/AppData/AppHome/cdm/libwidevinecdm.dylib, 1): Library not loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
                                                     Referenced from: /private/var/containers/Bundle/Application/08963D3D-3F8A-41EF-83C4-76C6FB5B5678/Kodi.app/AppData/AppHome/cdm/libwidevinecdm.dylib
                                                     Reason: image not found
looks like it's a macOS-only framework
Reply
#11
yup, the Widevine DRM blob is only available in ARM64 for macOS from google.
its fully closed source - so can't build for other platforms
was hoping it would work in iOS and tvOS - but appears not.

Was worth a shot Smile
thanks for your help

Also, the issue I thought about the decrypter path being read-only wouldn't be a problem
the IA code actually gets the profile path to store those files, so it's not hard-coded to the same decrypter path.
So that shouldn't have ended up being an issue
Reply
#12
(2021-08-01, 23:39)matthuisman Wrote: yup, the Widevine DRM blob is only available in ARM64 for macOS from google.
its fully closed source - so can't build for other platforms
was hoping it would work in iOS and tvOS - but appears not.

Was worth a shot Smile
thanks for your help

Also, the issue I thought about the decrypter path being read-only wouldn't be a problem
the IA code actually gets the profile path to store those files, so it's not hard-coded to the same decrypter path.
So that shouldn't have ended up being an issue

Thanks for trying 👍🏼👍🏼
Reply
#13
No news on this ?
Reply
#14
Is it possible to play addon stuff on Apple TV with Iptv simple over network from Nvidia shield with widewine install?
This is what i use on Nvidia shield from the "telia play SE addon":
plugin://plugin.video.teliaplay-se?menu=play&streamType=live&streamId=1
And its working great

So can i call the above path from http://192.168.0.100 in any way ?
Reply

Logout Mark Read Team Forum Stats Members Help
Testers wanted - Widevine on iOS / tvOS0