RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
Introduction
RDK video accelerator program aims at reducing the deployment time for set-top boxes and applications. Accelerator devices support advanced features like encrypted content playback, 4K, atmos, etc out of the box. It comes with the latest hardware features, packed with an update-to-date version of SOC SDKs, providing the operators a unique opportunity to introduce the latest features in a short period of time.
What is in this version
This version of the RDK release has a revamped version of the RDK application framework, which provides rdkservices to access all the functionalities provided by the RDK platform. In addition, it includes RDKShell, an application manager that handles application lifecycle, input control, and graphics composition.
This release also features the reference user interface, which demonstrates the capabilities of rdkservices.
Accelerator Home UI
Accelerator Home UI is a lightning application which allows users to manage apps, Bluetooth, and WIFI settings
The app boots up with a splash screen. After boot up, a home screen is displayed which allows users to launch apps, manage Bluetooth and WIFI settings, and play video content.
Splash Screen
The splash screen contains an RDK Logo icon on top of a video playback
Use S key to display UI Switch screen. Choose ‘Default’ option to load Home Screen
You will be prompted to the below screen if the Bluetooth remote is not connected to the device
You will be prompted to the below screen if the network is not connected to the device. To connect to the WIFI network, please refer to the section ‘Connect to WIFI’ available in this documentation
You can switch to Full HD mode if needed
Home Screen
The home screen contains sections for apps, tv shows, and settings. YouTube and the metrological app can be launched from app listings. Video content can be played from the TV Shows section. Bluetooth and WIFI settings can be managed from the settings section. Search bar and time display are also available in the home UI. As of now, functionalities with the search bar and mic are not implemented.
Launch Apps
The first row in the main view of home UI contains app listings. YouTube and the metrological app can be launched from app listings
Play Video
The second row in the main view of home UI contains tv show listings. Video content can be played from the TV Shows section.
Settings list
The third row in the main view of the home UI contains Bluetooth and WIFI icons. Bluetooth and WIFI screens can be launched from the settings list.
Connect to WIFI
The WIFI screen supports the ability to manage STB's wifi connection.
Connect to Bluetooth
The Bluetooth screen supports discovery, pairing, and connecting to Bluetooth devices.
Load partnerapps
Note:1. Make a folder(partnerapps) in USB, add appmanagerregistry.conf as below
Sample conf file
Update apps list
User can update the apps list by specifying config file in `/opt/appmanagerregistry.conf`
Update resident app
User can update the resident app by specifying a startup app in `/opt/startupApp.conf`
Note: Right now it supports only lightning apps as startup app.
Controller UI
Users can interact with plugins using Controller UI. It helps the user to activate or deactivate the plugin and the user can go through each plugin and look for properties and methods to execute.
Launching controller UI
BOXIP:9998
Interactions with ResidentApp plugin
Plugins interaction using the console
User can also interact with plugins using JSON-RPC
Activate plugin:
curl -X POST -H "Content-Type: application/json" 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc": "2.0","id": 4,"method": "Controller.1.activate", "params": { "callsign": "$callSign" }}' ; echo
Calling Methods:
curl -X POST -H "Content-Type: application/json" 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc": "2.0","id": 4,"method": "$callSign.1.Method"}' ; echo
Example:
root@vip5202w:~# curl -X POST -H "Content-Type: application/json" 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc": "2.0","id": 4,"method": "Controller.1.activate", "params": { "callsign": "org.rdk.System" }}' ; echo
{"jsonrpc":"2.0","id":4,"result":null}
root@vip5202w:~# curl -X POST -H "Content-Type: application/json" 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc":"2.0","id":"3","method":"org.rdk.System.1.setTimeZoneDST","params":{"param":{ "timeZone":"America/New_York"}}}' ; echo
{"jsonrpc":"2.0","id":3,"result":{"success":true}}
root@vip5202w:~# curl -X POST -H "Content-Type: application/json" 'http://127.0.0.1:9998/jsonrpc' -d '{"jsonrpc": "2.0","id": 4,"method": "org.rdk.System.1.getTimeZoneDST"}' ; echo
{"jsonrpc":"2.0","id":4,"result":{"timeZone":"America/New_York","success":true}}
Limitations