xbmc / inputstream.adaptive

kodi inputstream addon for several manifest types
Other
445 stars 241 forks source link

Feature request - stream resolution limit for general decoder with encrypted content #331

Closed cache-sk closed 2 years ago

cache-sk commented 4 years ago

Since mid august 2019, new version of Widevine need more compute power to decrypt strams. So some low performance ARM cpus - for example cheap china boxes with Amlogic S905w with CoreELEC or rpi 2b/3b with LibreELEC - have problem to decrypt even 720p streams, noted in issue #305 for example.

There are two options in settings - "Max. Resolution general decoder" for non encrypted content decoded mostly by HW decoder and "Max. Resolution secure decoder" for encrypred content decrypted and decoded by Widevine.

But there exist third option - content which is only decrypted by Widevine, but decoded by general decoder.

So in my case (S905W) there is no problem, when some addon plays 1080p non encrypted content via inputstream.adaptive. But paid stream, encrypted by Widevine is jerky, because CPU can't decrypt 720p and is decoded by general decoder, so secure decoder limit is not applied. And i do not want to limit general decoder to lower.

So third option in settings, something like "Max. Resolution general decoder secured", will be much appreciated.

CastagnaIT commented 2 years ago

we have discussed your request internally but here we are talking to add new settings workarounds

as you have already stated we already provide a max resolution settings workaround (DRM / non-DRM) to help users to try contain the problem on devices with low-end CPU's

but any new workaround setting cannot solve the problem at root because when the CPU will be highly load also for other operations will result in a stuttering video which depends not only on the bitrate/resolution but also on the type of video codec

so we prefer to find a way of lowering the quality according to CPU load feature to be implemented in the future

for the time being it will have to adapt to using the existing settings