RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
RDK-V IP Client is a IP based Client Set-Top-Box (STB) with RDK 4.0 features which connnects directly with Network Gateways. Targets on Accelerator platforms and utilizes only open-sourced RDK components.
IP STB build is based from medicalient image with out the licensed components and other components which are not required for IP streaming. Some of the components which are removed as of now are,
Refer to the below link for Host Machine Setup
How to Build#SettinguptheHostEnvironment
All RPi based RDK images with the latest features are from the rdk-next branch
To build RDK images from ipstb_bringup branch, follow the below build procedure
mkdir workspace
cd workspace
# initialize the manifest with repo tool
repo init -u https://code.rdkcentral.com/r/rdkcmf/manifests -b dunfell -m rdkv-extsrc.xml
repo sync -j `nproc` --no-clone-bundle --no-tags
mkdir workspace
cd workspace
# initialize the manifest with repo tool
repo init -u https://code.rdkcentral.com/r/rdkcmf/manifests -b rdk-next -m rdkv-extsrc.xml
repo sync -j `nproc` --no-clone-bundle --no-tags
MACHINE=raspberrypi-rdk-ipmc source meta-cmf-raspberrypi/setup-environment bitbake rdk-generic-ipclient-image
The micro SD card should not have any partition while flashing the image. The complete memory of the card should be free.
# Insert the micro SD card to the host system and mention the card's device file name # of - output file (the device file for the inserted micro SD card bzcat <image name> | sudo dd of=/dev/<sd file> bs=4M iflag=fullblock oflag=direct conv=fsync
S.No | Component | Recipe | Dependent on | Remarks |
---|---|---|---|---|
1 | sysint | No bb file | It is not yet opensourced | If added in meta-rdk it is fixed |
2 | sysint-conf | No bb file | Removing from package oss file | Build is proceeding further |
3 | virtual/mfrlib | Opensourcing | ||
4 | tenablehdcp-dev | meta-rdk-video/recipes-extended/tenablehdcp/tenablehdcp_git.bb | iarmmgrs | virtual/mfrlib |
5 | ledmgr-dev | meta-rdk-video/recipes-extended/ledmgr/ledmgr_git.bb | iarmmgrs | |
6 | iarm-query-powerstate-dev | meta-rdk-video/recipes-extended/sys_mon_tools/iarm-query-powerstate_git.bb | iarmmgrs | virtual/mfrlib |
7 | tr69hostif-dev | meta-rdk-video/recipes-thirdparty/tr69hostif/tr69hostif_git.bb | Bluetooth-mgr -> audiocapture -> iarmargs | |
8 | Netsrvmgr-pni-controller, netsrvmgr-pni-settings-loader, netsrvmgr-dev | meta-rdk-video/recipes-extended/networkmgr/netsrvmgr_git.bb | iarmmgrs | |
9 | iarm-set-powerstate-dev | meta-rdk-video/recipes-extended/sys_mon_tools/iarm-set-powerstate_git.bb | iarmmgrs | |
10 | rdkservices-dev | meta-rdk-video/recipes-extended/rdkservices/rdkservices_git.bb | iarmmgrs | |
11 | Key-simulator-dev | meta-rdk-video/recipes-extended/sys_mon_tools/key-simulator_git.bb | iarmmgrs | |
12 | iarmmgrs-dev | meta-rdk-video/recipes-extended/iarmmgrs/iarmmgrs_git.bb | virtual/mfrlib | |
13 | ledmgr-extended-noop-dev | meta-rdk-video/recipes-extended/ledmgr/ledmgr-extended-noop_git.bb | iarmmgrs | |
14 | bluetooth-mgr-dev | meta-rdk/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb | Audiocapturemgr -> iarmargs | |
15 | aamp | meta-rdk-video/recipes-extended/aamp/gst-plugins-rdk-aamp_git.bb, meta-rdk-ext/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb, meta-rdk-video/recipes-extended/injectedbundle/injectedbundle.bb | iarmmgrs | |
16 | mfrlibs-rpi | |||
17 | Wpe-webkit-dev, wpe-webkit-web-inspector-plugin, wpe-webkit | meta-rdk-ext/recipes-extended/wpe-webkit/wpe-webkit_2.22.2.bb | ||
18 | audiocapturemgr, audiocapturemgr-dev | virtual/media-utils iarmbus iarmmgrs | iarmmgrs | virtual/mfrlib |
19 | tts | meta-cmf-video/recipes-graphics/tts/tts.bbappend | wpeframework-clientlibraries | security agent library is added to LD flag to fix the issue |
20 | mediautils | removed mediautils |
root@raspberrypi-rdk-ipmc:~# cat /version.txt imagename:rdk-generic-ip-stb-client_rdk-next_20210902101930 BRANCH=rdk-next YOCTO_VERSION=dunfell SPIN=0 BUILD_TIME="2021-09-02 10:19:30" Generated on Thu Sep 02 10:19:30 UTC 2021 root@raspberrypi-rdk-ipmc:~# |
---|
eg :- gst-launch-1.0 playbin uri=aamp://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8 video-sink=westerossink
eg :- gst-launch-1.0 playbin uri=aamp://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8 video-sink=westerossink
For details on UI page, visit RDK Accelerator Home UI - Version 2.0#ControllerUI.
Launching cobalt using RDK Shell : execute below command from ssh terminal
curl --data-binary '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.launch", "params":{"callsign": "Cobalt", "type":"", "uri":""}}' -H 'content-type:text/plain;' http://127.0.0.1:9998/jsonrpc
Setting a video URL using deeplink method.
curl --data-binary '{"jsonrpc":"2.0", "id":3, "method":"Cobalt.1.deeplink","params": "<videoURL>"}' -H 'content-type:text/plain;' http://127.0.0.1:9998/jsonrpc
Sending enter key to proceed video playback
curl --header "Content-Type: application/json" --request POST --data '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.generateKey", "params":{"keys":[ {"keyCode": 13,"modifiers": [],"delay":1.0}]}}' http://127.0.0.1:9998/jsonrpc
Suspending the plugin using RDKShell
curl --data-binary '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.suspend", "params":{"callsign": "Cobalt"}}' -H 'content-type:text/plain;' http://127.0.0.1:9998/jsonrpc
Resuming the plugin
curl --data-binary '{"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.launch", "params":{"callsign": "Cobalt", "type":"", "uri":""}}' -H 'content-type:text/plain;' http://127.0.0.1:9998/jsonrpc
Destroy
curl --data-binary ' {"jsonrpc":"2.0", "id":3, "method":"org.rdk.RDKShell.1.destroy", "params":{"callsign":"Cobalt"}}' -H 'content-type:text/plain;' http://127.0.0.1:9998/jsonrpc