-
Notifications
You must be signed in to change notification settings - Fork 241
Dev. FAQ
This list provides helps and where possible solutions for problems that a developer may encounter.
Problems:
- Streams language names displayed with wrong/incomplete descriptions on Kodi OSD settings
- How to get downloaded manifests files
Errors:
- Decrypt Sample returns failure!
- Unable to initialize MediaDrm
- HTTP error 403
- HTTP error 404
- HTTP error 400 - Provisioning server returned failure
- License request - HTTP error 400
- License request - HTTP error 500
Most video services usually provide streams with language code in ISO 639-1 format, well accepted in Kodi (example es
Spanish).
But nowadays a new standard is being adopted the IETF BCP 47, which provides subtags (like region code) for example es-ES
for Spanish-Spain,
but this new format is not supported in Kodi, leading to some problems.
All Kodi versions until v19 (Matrix) are affected by the worst problem and will results in wrong display of language names, for example:
-
es-ES
will be displayed on Kodi OSD settings asSpanish-Spanish
-
pt-BR
will be displayed on Kodi OSD settings asPortuguese-Breton
- and so on...
but the situation has been improved a bit from Kodi v20 (Nexus), see below.
Solutions for Kodi v19 and older
For these Kodi versions, the only workaround is to use a proxy to intercept the manifest and rename the language codes of each audio/subtitle stream, so you have to set a custom subtag to something that does not exist, for example:
-
es-ES
renamed toes-Spain
will be displayed asSpanish-Spain
-
pt-BR
renamed topt-Brazil
will be displayed asPortuguese-Brazil
- and so on...
as you can see the final result is that the custom subtags are kept as is, but still there will always be problems with the Kodi language selection done by Kodi when playback starts.
Solutions for Kodi v20 and newer
From this Kodi version has been improved the support for language code with subtags, then unrecognized language codes are displayed in Kodi GUI menus as is without descriptions, for example:
-
es-ES
will be displayed asSpanish-es
-
pt-BR
will be displayed asPortuguese-br
- and so on...
therefore no manifest alterations are required, but if the final user want a better language descriptions and selection when playback starts, must perform one of these operations:
- Install skin language packs of each language code you need (if are available)
- Provide to Kodi the missing language code with description by using
Advancedsettings.xml
. Read Kodi Wiki to know how to do https://kodi.wiki/view/Advancedsettings.xml#languagecodes
To save downloaded stream manifests to disk during playback, open the settings and in the Expert category enable Save stream manifests. The files will be stored in the user data folder of InputStream Adaptive. Each manifest file will be saved in sequential download order using timestamps, the filename can also be identified in the Kodi debug log to verify when it was saved. All existing manifest files will be deleted at the start of each video playback.
This error may occurs when the inputstream.adaptive.license_key
property is configured with wrong content, then may happen that the video plays for a few seconds before stopping with this error. We suggest you investigate the HTTP requests/responses of your video service provider, in order to understand the right license configuration.
This error occurs when the device used has an invalid or corrupted DRM library, could be the case when you use a custom firmware, or running the application on a virtual environment. In any case it is an external problem not related to the add-on.
We know two common reasons that can lead to an HTTP error 403:
You can recognise this type of protection by analysing HTTP requests/responses which should contain the word Cloudflare. This anti-bot protection does not allow us to download files, there is currently no known solution.
There is currently no known solution. For more info see Verified Media Path (VMP) page.
This can usually happen when for some reason the add-on tries to download the wrong stream segments.
If you are trying to play a LIVE content, its possible that the manifest updating is not working, in this use case you could try set inputstream.adaptive.manifest_update_parameter
property, see Integration page. Otherwise it could be an add-on bug.
Your device may have some problem with the DRM library, could happens for example when using Android custom ROM's.
We suggest you to verify the headers set to the inputstream.adaptive.license_key
property, may be missing or URL encoded in an incorrect way.
This error can occurs when is missing some headers in the license request. An example could be Content-Type: application/octet-stream
or for missing user agent. See inputstream.adaptive.license_key
property to know how set the license headers.
User Documentation
Developer Documentation
- Integration
- Integration DRM
- Integration DRM (old)
- Stream selection types properties
- How to test a stream
- Test samples python addon
- How to provide custom manifest and license
- Supported containers and codecs
- Verified Media Path (VMP)
- Set resolution limits for DRM streams
- Custom DASH manifest tags
- Audio Subtitles track properties
- Dev. FAQ
- Widevine ARM64 support
- Add‐on WIP status
Development