AAMP App Integration: Universal Video Engine (UVE) APIs

Created on June 21, 2022

Official UVE-JS API documentation.


This document is published as part of RDKM Open Source AAMP repo, and included here for convenience.

Changes should never be directly pushed, but rather added incrementally to a dedicated documentation ticket under a given main federated release ticket. These changes will be reviewed and brought forward at end of sprint. All UVE APIs and event changes must result in documentation updates.

Process:

-> Update the document for new changes in tracking mode ,dont accept the changes . That will help us to review changes
-> Follow the template used : font , color , size ,tabular column format , numbering scheme etc
-> Rename the document with change summary : AAMP-UVE-API_<SmallSummary> and upload to ticket .
-> Add a comment in ticket update the document change added .
-> Not to create review for sprint merge for each document change
-> All document changes after review will merged together at sprint closure .
-> Not to have separate ticket for document update.

Universal Video Engine (UVE) APIs

This is the recommended mechanism for interfacing with the native AAMP video engine from WPE browser.  It exposes both basic and advanced features, without limitations of HTML5 video tag interface (which was not designed with DASH/HLS in mind). 

<html><head><title>AAMP playback in WPE browser using UVE APIs</title></head>
<script>
    var url = "http://d3rlna7iyyu8wu.cloudfront.net/skip_armstrong/skip_armstrong_multi_language_subs.m3u8";
    window.onload = function() {
        var player = new AAMPMediaPlayer();
        player.load(url);
    }
</script>
<body>
 <!-- video tag element used for hole punching, to ensure visibility of background video plane -->
    <video style="height:100%; width:100%; position:absolute; bottom:0; left:0" src="dummy.mp4" type="video/ave"/> 
 </video>
</body>
</html>

HTML5 Video Tag based Playback

AAMP can also be used for playback as a plugin directly using HTML5 <video> tag, by passing locator that starts with aamp:// (for http) or aamps:// (for https) for source.  This mode of playback has a number of limitations, but is easy for quick test and may be sufficient for some partners.

Minimal Video Tag based Playback Example:

<html><head><title>AAMP playback in WPE browser using HTML5 video tag</title></head>
<script>
    // assign HLS or DASH locator here, with protocol changed to aamp:// or aamps://
    var url = "aamps://d3rlna7iyyu8wu.cloudfront.net/skip_armstrong/skip_armstrong_multi_language_subs.m3u8";    
    window.onload = function() {
        var video = document.getElementById("video");
        video.src = url;
 video.play();
    }
</script>
<body">
    <video id="video" style="height:100%; width:100%; position:absolute; bottom:0; left:0" src=""/>
</body>
</html>



Go To Top