Versions Compared

Key

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


Table of Contents

Summary

The purpose of this section is to describe the  new implemented solution to have a secure containerized RDK build on emulator. This implementation done from the reference of

Raspberry pi platform.

The intent of this page is to be used as a walk-through to all the relevant information present in the section.

Detailed organization

The section is organized in two main subsections, as the following:

  • Implementation details: here is described all the relevant developments to have containers working.
  • Implemented containers: here is detailed information about each container that is already implemented.
  • Building procedure.

Most of the information is present in Implementation details, that is organized as the following:

...

Introduction

...

Advanced Adaptive Media Player (AAMP) is an application which uses gstreamer (AAMP) to present clear/encrypted HTTP Live Streams.(HLS)

HLS is a Media Streaming Protocol used for delivering visual and audio media over the internet. HLS uses the HTTP protocol and hence users can stream media from their regular web server. To Stream HLS data,source files are encoded at different data rates and will be split into chunks with the .ts file extension  and  manifest file  .M3U8  file is created  for maintaining index for the video chunks. For example, M3U8 file may give references to online files for an internet radio station. M3U8(MP3 URL that uses  UTF-8-encoding)is a computer file format for a multimedia playlist.Although originally designed for audio files, such as MP3, it is now used to point  both audio and video sources


Implementation details

...





Implemented containers

...

Playbintest

This utility is available in /usr/bin  to test aamp plugin which by default takes aamp HLS  as aamps://tungsten.aaplimg.com/VOD/bipbop_adv_example_v2/master.m3u8 


gst-launch 

AAMP can be tested with gst-launch using playbin.


WPELauncher 

AAMP can be tested with WPELauncher. Please make sure environmental variables are set.


Building procedure

...



DEBUG Logs

...

To Enable logs,please export following 

export GST_DEBUG=2,aamp:3,webkitmediaplayer:5

Test cases

...

aamp://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8
aamps://tungsten.aaplimg.com/VOD/bipbop_adv_example_v2/master.m3u8

aamps://mnmedias.api.telequebec.tv/m3u8/29880.m3u8 

aamp://184.72.239.149/vod/smil:BigBuckBunny.smil/playlist.m3u8

...

Container generation process:
This subsection describes how the new container generation process is replacing the earlier process. Main focus in the following topics:

...

Service files

  • In platformcontrol container: As we are running three processes we need three service files for launching these processes inside container.
    • Three  services are  

    • sysmgr.service

    • irmgr.service

    • dsmgr.service

  • In rmfstreamer container: As we are launching rmfstreamer process we need 
    • rmfstreamer.service 
  • Note: All these service files are overridden in corresponding receipe .bbappend files based on distro feature "lxc-secure-containers" . 
  • For exmaple sysmgr.service,irmgr.service and dsmgr.service files are overridden in iarmmgrs_git.bbappend file in meta-rdk-bsp-emulator. 
  • rmfstreamer.service file overridden in rmfstreamer_git.bbappend in meta-rdk-bsp-emulator.

Implemented containers is updated with all containers that are already implemented. Currently, the following ones are available:

  • platformcontrol: runs sysmgr,irmgr and dsmgr processes;
  • rmfstreamer: runs rmfstreamer;
  • wpelauncher: runs wpelauncher;
                Now deprecated. So trying to replace this container with rdkbrowser2.

Building procedure:

...