...
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.
Unused components from MediaClient :
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,
Host Setup
Refer to the below link for Host Machine Setup
...
To build RDK images from ipstb_bringup branch, follow the below build procedure
Code Blockdeck |
---|
|
| RDark | title | Generic build |
|
...
Code Block |
---|
language | bash |
---|
theme | RDark |
---|
title | generic image |
---|
|
MACHINE=raspberrypi-rdk-ipmc source meta-cmf-raspberrypi/setup-environment
bitbake rdk-generic-ipclient-image
|
Image build
- Note. The kernel Image and root filesystem will be created under the ./tmp/deploy/images/raspberrypi-rdk-ipmc folder
...
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
- Playback through Youtube Application : For launching youtube from controller UI, enable cobalt plugin, youtube page will be loaded in TV UI.
Image Modified
UI Navigation
For details on UI page, visit RDK Accelerator Home UI - Version 2.0#ControllerUI.
Cobalt lifecycle using terminal:
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
Trouble Shooting
- Overcoming build time fetch errors:
- If fetch failure occurs for libinput, comment SRC_URI related changes from meta-cmf/recipes-graphics/libinput/libinput_git.bbappend.
- If fetch failure occurs for gst-plugins-ugly,use mirror source, for that comment out SRC_URI related changes from meta-cmf/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_git.bbappend.
- If If the wireless networks are not listed in controller wifi page, try after disabling and enabling wifi from Network page, networks will be listed.
- Disable cntlm-main.service if device reboot occasionally.