Stream and Application Switching

Introduction

The CloudTV Platform runs across multiple devices, allowing an application to run in any resolution supported by the device, and provides for near-transparent hand-offs between applications via multiple methods. The most common method is to replace the current application URL with the new application URL. For example:

location.href = 'app2.html';

Or alternatively, keeping the current application beneath the application being launched. This method can stack up more resource utilization as memory being consumed by each window in the stack is not released until that window is closed. So window.open() followed by window.open() followed by window.open() — must be managed to balance the footprint of the application and the benefits of leaving an application stack open for an extended navigation session.

window.open('app2.html');

The following flows require special treatment:

  1. Switching Resolution - launching an SD 640x480 application from an HD 1280x720 application
  2. Launching a TAG Game
  3. Navigating to a resident application on the client device, such as VOD or channel tuning

 

Switching Resolution

To switch resolution, an application must call a CloudTV-specific function __openUrl__(). The prefix for launching an H5 application is webkit: and the URL of the application must be provided in full. So to launch an application that lives one  folder up from the current application at 'index2.html', and display it at 640x480, you would use this code:

var url = 'webkit:'
         //the full path to this script
    + location.href.substring(0, location.href.lastIndexOf('/')+1)
    + '../index2.html' //the application starting point
    + '?display=ntsc' ;//indicate the size
__openUrl__(url);

When run on the current page, the above example would produce the following URL to be launched: 

"webkit:http://developer.activevideo.com/docs/110-appguide/../index2.html?display=ntsc" 

*Additional information on the "__openUrl__(url);" function referenced above can be found in the CloudTV JavaScript Specific Functionality article 

 

 Available Resolutions

  1. ntsc
  2. hd720
  3. pal16x9
  4. 1080p

 

Launching a Tag Game

TAG games are a unique case, because the streaming server begins talking to the TAG game server for rendering as opposed to the HTML5 engine. Therefore, a unique protocol is used, which is:

tag:/GAME

The "GAME" is optional, and can take the name of any game, such as "bejewled" or "poker". If the "GAME" parameter is not provided, the TAG Game Catalogue will be loaded.

 

Each device is capable of providing its own applications in addition to the CloudTV Platform. One common resident application is a VOD streaming application which handles video on demand play-out. There are several unique protocols for commonly installed resident applications which are normalized as best as possible across clients. These are:

  1. tv://ChannelNumber
  2. vod://providerid/assetid
  3. info://providerid/assetid
Because not all devices have the same capabilities, it is integration-specific as to how to best interact with the Client in tuning to a resident application. The scope of all possible hand-offs is beyond what is covered in this overview, however we do provide a method to communicate with the client through the Session Manager APISession Manager API
  • Thursday, 31 May 2012
  • Posted in: Advanced
  • Number of Views: 2606

Your destination to find out more about just how easy it is to develop advanced applications that leverage the “write-once, deploy-everywhere” content creation environment of ActiveVideo’s CloudTV™ platform. You will be able to significantly reduce app time-to-market for connected devices of all types, as well as cable settop boxes that have no additional connectivity. Manufacturers and virtual service providers, as well as cable and IPTV operators around the world are currently benefiting from the advantages of ActiveVideo’s CloudTV platform.

© 2017 Active Video Networks. All Rights Reserved