xdk-device-amazonfire-contrib
@accedo/xdk-device-amazonfire-contrib
Accedo Build XDK Device Package - Amazon Fire
Player
The player is intended for firetv webview.
VOD playback is done with HTML5Player, using the undocumented, Amazon-specific, amazon-laurl attribute on the video tag,
which might become deprecated in the future. See https://accedobroadband.jira.com/wiki/spaces/CHFOUR/pages/1432814206/The+state+of+DRM+in+Amazon+FireTV+web+apps for more details. The VOD player currently only supports SMOOTH_STREAMING / PLAYREADY. Known issue: Depending on hardware, the HTML5Player may not be rendered correctly, e g Amazon Fire stick can
sometimes play with audio but no video showing. This issue is not happening in Sony Android devices.
LIVE playback uses ShakaPlayer DASH / WIDEVINE, but CLEARKEY and PLAYREADY DRMs should also be supported.
Usage
You will need an application where you can reference this package as a module. For instance, if you want to add this package to an application as Vanilla app you have to include this into the devices packages array (in xdk.config.js)
const devices = {
  packages: [
    [...]
    {
      id: 'amazonfire',
        detection: () => import('@accedo/xdk-device-amazonfire-contrib/src/detection.js'),
        defaultConfig: () =>
          import('@accedo/xdk-device-amazonfire-contrib/src/defaultConfig.js'),
        DevicePackage: () =>
          import('@accedo/xdk-device-amazonfire-contrib/src/DevicePackage.js')
    },
    [...]
Capabilities matrix
Device and media support information is available from https://developer.amazon.com/docs/fire-tv/device-specifications-fire-tv-streaming-media-player.html Amazon does not specify supported video streaming protocols, only video and audio codecs, so it's not entirely compatible with the list below.
| Module | Implemented | Supported | Notes | |||
|---|---|---|---|---|---|---|
| Player | Playback | ISM | VOD | Supported | ||
| DASH | Linear | Supported | ||||
| MP4 | Not implemented | Supported? | ||||
| DRM | PlayReady | VOD | Supported | |||
| Widevine | Linear | Supported | ||||
| HDCP | Not implemented | Supported | ||||
| Subtitles | ISM | HTML5PlayerExternalSubtitle | Supported | |||
| DASH | ShakaSubtitles | Supported | ||||
| MP4 | Not implemented | Supported? | ||||
| Audio Tracks | ISM | HTML5PlayerAudioTrack | Supported | |||
| DASH | HTML5PlayerAudioTrack | Supported | ||||
| MP4 | Not implemented | Supported? | ||||
| System | UUID | Implemented | Supported | Using AndroidSystem.getUniqueId | ||
| Device Type | Implemented | Supported | ||||
| App Resolution | Implemented | Supported | ||||
| Network | Implemented | Supported | navigator.onLine | |||
| Storage | Local, Cookie | Local, Session, Cookie | ||||
| TVKey | Implemented | Supported | ||||
| Mouse | Not implemented | ? |