Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Table of Contents

Overview

To validate lightning refapp on rdk 4.0 (rdk-generic-hybrid-image-raspberrypi) along with video playback, need to do some necessary code customizations/modifications in lightning refapp side for video player implementation provided by lightning-sdk framework and rdk library side for variable setting and url configurations.

Please follow the below instructions to validate lightning refapp on rdk-generic-hybrid-image.

Prerequisites

Before you follow the steps below, make sure you have installed all the required prerequisites in your dev PC Node.js , npm, Lightning-CLI

...

  • globally

...

  • in your dev PC     
Code Block
$ npm install -g @lightningjs/cli


reference image for Lightning-CLI install

Image Added

Build instructions

  • Create Lightning refapp

...

  • dev build

...

    1. pull code from source repo using

...

    1. below command

      Code Block
      $ git clone https

...

    1. ://github.com/

...

    1. naseemshekh20/refapp.git


    2. goto refapp directory

      Code Block
      $ cd refapp


    3. checkout to branch refapp-vid-playback-validation-on-rdk-4.0

      Code Block
      $ git checkout refapp-vid-playback-validation-on-rdk-4.0


    4. install the NPM dependencies by running

...

    1. below command

      Code Block
      $ npm install


    2. run copyAssets.sh command to create static folder and copy images, json files etc

      Code Block
      $./copyAssets.sh

...


    1.  run below command for testing in browser 

      Code Block
      $ lng dev


refer below screenshots for reference

Image Added

reference images for build instructions-1

Image Added

reference images for build instructions-2

once npm install complete, you will get message at the end "Do you want us to automatically check for old Lightning-SDK imports and update them in your project files? y/n

press n and hit enter button because on pressing y it gets hanged or stuck, in this case press ctrl+c 


Image Added

reference images for build instructions-3

Image Added

reference images for build instructions-4

Running refapp

by default vscode launch generated url on chrome browser in dev pc.

Image Added

reference image for running app on browser

  • Pre-build refapp code

Download customized pre-build refapp code which has lightning sdk video player integrated: build.zip

(or)

  • Create dist (build)

    • run below command to make build.


Code Block
$ lng dist


Image Added

reference image for dist creation

Hosting Lighting refapp

...

  1. copy the lighting build app from dist folder.
  2. host build folder into any http server.
  3. test the hosted application in browser with help of url.

Image Removed

  1. on browser 

Image Added

Lighting refapp integration 


  • Pre-build rdk-generic-hybrid-image-raspberrypi image

Download pre-build rdk-generic-hybrid-image-raspberrypi image from here: rdk-generic-hybrid-image-raspberrypi-rdk-hybrid.zip

(or)

  • Build rdk-generic-hybrid-image-raspberrypi follow below instructions


Code Block
$ repo init -u https://code.rdkcentral.com/r/manifests -b yocto-dunfell-upgrade -m rdkv-nosrc.xml
$ repo sync -j4 --no-clone-bundle
$ MACHINE=raspberrypi-rdk-hybrid source meta-cmf-raspberrypi/setup-environment
$ bitbake rdk-generic-hybrid-image


  • Flash image on the SD card 

    • Execute the following command to flash the image on the SD card


Code Block
# sudo dd if=<r-pi sdimg> of=<SD card device> bs=1M 
  
for ex: # sudo dd if=rdk-mc-rpi.sdimg of=/dev/sdb bs=1M

(or)

Windows user can download and install Balena Etcher to write the Raspberry Pi SD card: https://www.balena.io/etcher/

Image Added


  • Lighting refapp

...

  • integration into rdk-generic-hybrid-image-raspberrypi


    • Method 1:
  1. login to into raspberrypi : $ssh root@<<IP address>>cd and change directory:


Code Block
$ ssh root@<<IP address>>

# after login into box 
$ cd /lib/rdk/

 

...

2. add startup_app_conf variable into referenceApp.sh config file, if referenceApp.sh file is not available in /lib/rdk then refer method 2 below to validate refapp.


Code Block
startup_app_conf=/opt/residentapp.conf 


Image Added


        3. add below line to avoid loading default app  


Code Block
url="http://192.168.0.106:8080/"
echo $url


Image Added

       

4. replace exting url https://px-apps.sys.comcast.net/lightning_apps/SwitcherApp/dist/index.html in /opt/residentapp.conf with lighting app url which is hosted on server

       for example your server providing url http://192.168.56.1:8080


Image Added

     

5. reboot the box 

     

  • Method 2:

Validated on rdk-generic-hybrid-wpe-image_rdk-next image, download image link: https://drive.google.com/file/d/1_VgFDk_lRWLoMwv0JKQrZ4HUifN-F6Qa/view?usp=sharing

step 1: login to box $ ssh root@<your box ip>

step 2: copy refapp build into /opt/www

step3: $ cd /lib/rdk

step 4: $ vi residentApp.

...

sh

step 5: configure refapp url into residentApp.sh > find in residentApp.sh line "offlineApp="http://127.0.0.1:50050/lxresui/index.html" and replace with refapp url, Example: "offlineApp="http://127.0.0.1:50050/refapp/index.html"

Note: if you are downloading prebuild refapp from download link: build.zip after extract you will see build/build/<files>, you can copy build folder as it is and in this case url will be "offlineApp="http://127.0.0.1:50050/build/build/index.html".

step 6: After reboot app come up with a splash screen. Lighting

...

application will launch instead of switcher app. Main menu screen is displayed which allows users to launch apps, vod, and play video content.


RefApp Video Playback

  • RDK 4.0 (rdk-generic-hybrid-image) Vs LGI  RefApp (rdk-generic-hybrid-refapp-image)


Image Added


Dependencies

  • Lightning RefApp on Operator reference image (rdk-generic-hybrid-refapp-image)


 Reference Video

Multimedia
namevideo_20210129_143944.mp4
Note: Currently video playback has been verified using mp4 stream