• 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 7
peak3d development roadmap
#46
(2017-08-08, 18:12)dr88dr88 Wrote: @brulsmurf

A Ziggo add-on would be cool. Are you planning to do a normal video add-on or a PVR-IP add-on or both ?

Right now I'm not planning anything, I'm just fiddling around to figure out if I am capable of getting any results Smile That being said, maybe it should be both. PVR-IP for the live TV streams, video add-on for replay TV and the on demand content. What do you think?
Reply
#47
@peak3d

Yes, still not working on latest kodi-20170808-b6318a5-master-arm64-v8a.apk or the arm7
I have tried the latest Windows nightly and that works fine.

Also, are you able to advise if KODI 17 / 18 checks all the below paths for the ssd_wv?

- cdm/ssd_wv*
- inputstream/ssd_wv*
- inputstream/lib/ssd_wv*
- /usr/lib/ssd_wv*

OK, found the source code for what paths are searched.
Looks like just (cdm/ssd_wv*) and the add-ons path (inputstream/ssd_wv*) are checked.
Reply
#48
(2017-08-07, 20:06)JinJin Wrote: @enen92
Code:
listitem = xbmcgui.ListItem()
listitem.setProperty('inputstreamaddon', 'inputstream.adaptive')
listitem.setProperty('inputstream.adaptive.manifest_type', 'hls')

FYI, If your streams require custom header values use:
Code:
headers = 'User-Agent=Some user agent&Cookie=some_cookie'
listitem.setProperty('inputstream.adaptive.stream_headers', headers)

This one tripped me up for quite some time.
Reply
#49
kodi-20170809-67137d6-master-armeabi-v7a.apk
&
kodi-20170805-3aa19b0-Krypton-arm64-v8a.apk

Video is now playing, but the audio cuts in and out for a few seconds and then cuts out completely.
Reply
#50
(2017-08-10, 06:10)matthuisman Wrote: kodi-20170809-67137d6-master-armeabi-v7a.apk
&
kodi-20170805-3aa19b0-Krypton-arm64-v8a.apk

Video is now playing, but the audio cuts in and out for a few seconds and then cuts out completely.

Can you pls. provide a debug log?
I can not archive any issues here, shield and wetek hub.
Reply
#51
peak3d, are you planning to add HDS support also in inputstream.adaptive? This will be great!
Reply
#52
(2017-08-10, 22:43)Majide Wrote: peak3d, are you planning to add HDS support also in inputstream.adaptive? This will be great!

I did only some really short investigation and it seemed that it fits into inputstream.adaptive.
But, I have to go deeper into this area.
Reply
#53
(2017-08-06, 07:30)peak3d Wrote: AES-128 encryption is supported, SAMPLE-AES not as there was no usecase for this ntil now.

So am I reading this right, you are going to support SAMPLE-AES? My NBC Sports addon could really make use of that as they are switching the majority of the streams to SAMPLE-AES. If you need someone to test I'd be more than willing.
Reply
#54
I'd like to start putting together a guide for this, because it seems awesome, but what's necessary to get going is not really clear at all. In particular, it'd be nice to have a guide that links to WIP addons that can make use of this, include the steps necessary to get things up and running (turn on adaptive stream, and OS specific actions necessary), and finally the steps necessary to made the addons work. So far, here's what I know and what I don't know. the questions here are genuine questions that I don't know the answer to.

1. Install a relatively recent Kodi 18 nightly. (Can I install a Win64 nightly?) Preferrably one from the past month.

2. Go to My add-ons -> VideoPlayer InputStream -> InputStream Adaptive -> Enable (Do I need to enable spiff's RTMP too?)

3. If on Android, no need to install additional software. On other platforms, what do I have to install, and do I still need to do weird stuff involving copying folders around?

4. Install addons. Which ones? From where? No idea. I know you wrote a list of them in an earlier post, but, for example, I'm guessing the Netflix addon you are talking about isn't the same one in the Kodi forum that launches Chrome.

5. Setup these addons.

6. Play

Might be nice to have an FAQ section that answers the following questions:

Will the adaptive streaming stuff ever come turned on by default and why isn't it on by default now?

Why do I need to install additional software separately? (This one I know. The GPL. With that said, the GPL only requires the user to separately install it. This post makes me think you are also requiring the user to manually move folders post-install, which I think is a step more than the GPL requires. I may be misreading that though.

Since there's HLS support, any chance of a new Youtube addon where we can change resolutions midstream?

Um... I think that's all I've got at the moment.
Reply
#55
@natethomas I'll open a separate thread for inputstream.adaptive and repost your remarks / questions there
There'll be around 20 addons currently based / using inputstream.adaptive and plan is to write this stuff on the start post of this new thread
Reply
#56
Awesome! Once I get a grasp on the basic stuff, I'm happy to help with writing user documentation or whatever else you might need.
Reply
#57
@peak3d

Would KODI being able to have a DRM Helper add-on in it's official repo?
It wouldn't contain the actual widevine files, but have the ability to download them and install them for the user.

It pretty much does all the steps @natethomas mentioned.

I have an add-on that does this in my own repo
https://github.com/matthuisman/kodi-repo...-0.0.5.zip

And also @glennguy (my inspiration) does as well:
https://github.com/xbmc-catchuptv-au/scr....drmhelper

The add-on needs to do a few things

1) Check and enable / install the inpustream add-on
If not Android:
2) Check for ssd_wv and copy it do CDM folder
3) If not present, then download it
4) Download widevine and install in CDM folder

I'm sure @glennguy and myself would be happy to have a hand in making an official helper add-on.

The hardest part I find currently is matching a ssd_wv with correct version of inpustream.
Which makes it tricky to host these and make sure correct version is downloaded for the matching version of inputstream.
So possibly KODI could host these somewhere with names like 2.0.7-ssd_wv.dll where 2.0.7 is the matching version of inputstream.
It looks like newer version of inpustream always include the decrypter, but is this so for eg Ubuntu PPA etc?

Also, any progress on getting inpustream to work in Windows Store version?
I think something to do with the sandbox stopped it working.

Oh, and is HLS support only in 18? Or is it in 17.4?

PS: my phone's Android audio issue was my rom in the end!
Reply
#58
(2017-08-24, 01:38)matthuisman Wrote: The hardest part I find currently is matching a ssd_wv with correct version of inpustream.

Some versions of LibreELEC (ie. my test builds) include /usr/lib/libssd_wv.so, and a built-in (and matched) version of inputstream.adaptive, and in this case the helper would just need to create a libssd_wv.so symbolic link in DECRYPTERPATH with /usr/lib/libssd_wv.so as the target.

ie.
Code:
rpi22:~/.kodi/cdm # ls -la
total 16348
drwxr-xr-x    3 root     root          4096 Aug 24 00:32 .
drwxr-xr-x   13 root     root          4096 Aug 24 00:28 ..
lrwxrwxrwx    1 root     root            21 Jun 30 01:01 libssd_wv.so -> /usr/lib/libssd_wv.so
-rwxr-xr-x    1 root     root       5122508 Jul  5 14:06 libwidevinecdm.so

Official LibreELEC releases will (eventually) offer inputstream.adaptive as an installable addon and this addon will include lib/libssd_wv.so, avoiding any matching issues.

In both cases there should be no need for the helper to download libssd_wv.so, it would just need to create the symbolic link.

Pseudo-code for the helper:
Code:
if [ -f /usr/lib/libssd_wv.so ]; then
  ln -s /usr/lib/libssd_wv.so ${DECRYPTERPATH}/libssd_wv.so
elif [ -f ${HOME}/.kodi/addons/inputstream.adaptive/lib/libssd_wv.so ]; then
  ln -s ${HOME}/.kodi/addons/inputstream.adaptive/lib/libssd_wv.so ${DECRYPTERPATH}/libssd_wv.so
else
  # download/install libssd_wv.so from the internet etc.
fi
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
#59
Thanks for the info.

My addon already searches those locations for it first and copies if found.
I copy just so it's platform independent and easier to remove when re-installing.
Instead of first checking if link, then unlink else remove.

Code:
addon_path = xbmc.translatePath(addon.getAddonInfo('path')).decode("utf-8")
paths = [os.path.join(addon_path, filename), os.path.join(addon_path, 'lib', filename), os.path.join(os.sep, 'usr', 'lib', filename)]
    for path in paths:
        if os.path.exists(path):
            try:
                shutil.copy(path, download_path)
                os.chmod(download_path, 0755)
                return
            except:
                continue

The addon also stores the inpustream version in addon settings.
So, each time it's called, it checks the versions still match and both files exists in CDM.
If either of those fail - it simply runs the install code.
Code:
if (addon.getAddonInfo('version') == installed and
                os.path.exists(os.path.join(cdm_path, config.WIDEVINECDM_DICT[system_])) and
                    os.path.exists(os.path.join(cdm_path, config.SSD_WV_DICT[system_]))):

This way, if CDM is deleted, or addon data deleted or inpustream updates - it forces a re-install.

I currently use the major version of inputstream when building path to online libssd.
eg. inpustream 1.X will point to /1.0/windows64/ssd_wv.dll
whereas inpustream 2.X will point to /2.0/windows64/ssd_wv.dll

I hope that a ssd_wv for 2.X will also work on all other 2.X versions.
i think this may not be the case however.
But, for later versions - hopefully most platforms should have it included anyway.

The one good thing about libssd is that it's very quick to compile.
I compile it for i386 as I couldn't find any already compiled for it.
Reply
#60
OK so your helper addon runs every time another addon needs to use widevine, in which case libssd_wv.so should always match whatever is installed (in OS, or add-on)? If so that sounds fine.

However in terms of your copy, just one nit-pick (which others might not agree with). You're prioritising the addon path over the OS path - I'd always see the OS version of the file having priority over any add-on version myself. For instance, say the user has installed an add-on that included libssd_wv.so, then upgrades to a new version of the OS that includes a more recent version of the addon (built-in) and also a newer version of /usr/lib/libssd_wv.so so that now the built-in add-on is used in preference to the user-installed addon. Your copy code will continue to copy the older version of libssd_wv.so from the user-installed add-on path, and ignore the OS version.

However this discussion probably isn't appropriate for this thread. If it's an issue I guess we'll find out (PM me if you want to discuss it further).
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
  • 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 7

Logout Mark Read Team Forum Stats Members Help
peak3d development roadmap1