Shaka Player fails with UNKNOWN error on http video

1. Summary

I am testing the vega sample app to find out if vega will handle my video content. When trying it with a sample video it fails with an unknown error.

App Name: MythTV Lean Frontend
App Link on Amazon Appstore (found through Developer Console → Actions column in App

Bug Severity
Select one that applies

  • Blocks current development

2. Steps to Reproduce

I checked out the sample app from GitHub - AmazonAppDev/vega-video-sample: This sample app shows you how to implement a W3C media player and the core multimedia functionality, such as interactive screens, a video player, search, and focus management. .

I edited the file src/data/local/latestHits.ts and changed the uri for the first entry to http://framework.lan/cosmos-laundromat.mp4 . I downloaded the ssample video of that name and added it to the www directory of apache2 on server framework.lan. When opening that url with Chrome, the video plays correctly. Run the sample app with the vega virtual device, select the first video and attempt playback.

3. Observed Behavior

Explain what actually happened, noting any discrepancies or malfunctions.

 it immediately shows on screen “An error occurred while playing the video, please try again later”. The react native log is pasted below and says “[VideoHandler.ts] - Streaming Error: Category: UNKNOWN


4. Expected Behavior

Describe what you expected the SDK to do under normal operation.

Play the video

4.a Possible Root Cause & Temporary Workaround

Fill out anything you have tried. If you don’t know, N/A is acceptable

I suspect it is related to the video using http on the local network instead of https. I see in src/w3cmedia/shakaplayer/ShakaPlayer.ts  that it has lines to registerScheme for http and https, so it should work.

5. Logs or crash report

These are the messages in the React Native log (Note i changed http to httpxx because it woudl not create the bug log with links)

(NOBRIDGE) INFO Src URL

(NOBRIDGE) INFO MediaPlayer: pause

(NOBRIDGE) LOG [VideoHandler.ts] - loadStaticMediaPlayer - Loading static player with: httpxx://framework.lan/cosmos-laundromat.mp4

(NOBRIDGE) INFO MediaPlayer: load

(NOBRIDGE) ERROR [VideoHandler.ts] - Streaming Error:

Category: UNKNOWN

Format: MP4

Position: 0

DRM Blocked: false

Has DRM Keys: false

Details:

uri: httpxx://framework.lan/cosmos-laundromat.mp4

For crash issues, please refer this guide for faster troubleshooting: 6. Environment

Please fill out the fields related to your bug below:

  • SDK Version: Run vega --version (v0.22+) or kepler --version (v0.21 and earlier) and paste output
    Active SDK Version: 0.22.5875
    Vega CLI Version: 1.2.18

  • App State: [Foreground/Background]
    Foreground

  • OS Information: Please ssh into the device via vega exec vda shell (or kepler exec vda shell for v0.21 and earlier) and copy the output from cat /etc/os-release into the answer section below. Note, if you don’t have a simulator running or device attached, the command will respond with vda: no devices/emulators found

    kvd-tv:/$ cat /etc/os-release
    NAME="OS"
    OE_VERSION="4.0.0"
    OS_MAJOR_VERSION="1"
    OS_MINOR_VERSION="1"
    RELEASE_ID="14"
    OS_VERSION="1.1"
    BRANCH_CODE="TV Ship day60"
    BUILD_DESC="OS 1.1 (TV Ship day60/10527300)"
    BUILD_FINGERPRINT="1.0.52730.0(c449c30bb1fb0cc8)/10527300N:user/dev-keys"
    BUILD_VARIANT="user"
    BUILD_TAGS="dev-keys"
    BUILD_DATE="Fri Dec 19 17:22:54 UTC 2025"
    BUILD_TIMESTAMP="1766164974"
    VERSION_NUMBER="1402062730030"
    kvd-tv:/$ 
    
    
    

7. Example Code Snippet / Screenshots / Screengrabs

Include any relevant code or component setup in React Native that can help reproduce the bug.

import { ExampleComponent } from 'custom-sdk';

<ExampleComponent config={{ key: 'value' }} />

:backhand_index_pointing_right: Playback Issues


If this is a playback issue, please provide your content URL, any pre-conditions (like geo-location), and let us know if it’s x86 or arm7.


Please share the following details in addition:_

  • Player SDK: Shaka
  • Player SDK Version: [e.g. 1.23]
    • Audio Codecs: AAC LC
    • Video Codecs: AVC (h264)
    • Manifest Types: MP4

Q: If applicable, please provide your media/content url
If this is created dynamically, tokenized, etc please provide a way for us to access it

Downloaded file from https://d1v0fxmwkpxbrg.cloudfront.net/videos/mp4/cosmos-laundromat/720p/cosmos-laundromat.mp4 and placed it in the root directory of apache2. I also tried with another file  of my own.

Q: Are there any special headers required to reproduce the issue you are facing?

No

Additionally please provide the following if possible
Provide Screenshots / Screengrabs / Logs. Please include as much information as you can that will help debug.

<!-- Answer here if applicable --> 

:backhand_index_pointing_right: Additional Context


Any Additional Context you would like to provide?
Add any other relevant information, such as recent updates to the SDK, dependencies, or device OS that may affect the bug.

<!-- Answer here if applicable  --> 

Hi @Peter_G_Bennett,

Welcome to Amazon Developer Community!

Thank you for the detailed bug report on the HTTP video playback issue.

I was able to reproduce the issue. And Root Cause is HTTP cleartext traffic is blocked by default on Vega OS (Android-based security policy). The video works in Chrome because browsers have different security policies.

Our team is investigating this issue and will provide an update as soon as we have more information.

Thanks for helping us improve the Vega platform!

Warm regards,
Aishwarya

The android version of my application requires a property in the manifest in Application:

android:usesCleartextTraffic="true"

Maybe there is an equivalent in Vega.

More information. Here are the log error messages, confirming the http problem.

19:35:30.950796 com.amazondeveloper.keplervideoapp[16931]: 102 E MEDIA_PLAYER:MediaPlayerUtils.cpp(113) isUriSchemeSecure Got an insecure protocol/scheme http, return error
19:35:30.950811 com.amazondeveloper.keplervideoapp[16931]: 102 E MEDIA_PLAYER:DefaultMediaPlayer.cpp(2003) openMedia Invalid URI, return error
19:35:30.950829 com.amazondeveloper.keplervideoapp[16931]: 102 E MEDIA_PLAYERV2:MediaPlayerImplLegacy.cpp(201) open open failed
19:35:30.950843 com.amazondeveloper.keplervideoapp[16931]: 102 E W3CMEDIA:[MPB_DRM] MPB UNF callback: Open failed -1

Correction - it is not the Shaka player that is failing, it is the static media player. My content is not adaptive, so it uses the default react-native-w3cmedia.