Versions Compared

Key

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

...

  • Live stream with webRTC and RTSP based protocol
  • 24/7 Continuous video recording
  • Normal Thumbnail
  • Firmware upgrade

RDK-Camera: Architecture

        RDK-C Profile

  • RMS (RDK Media Streamer)​
    • RDK Media Stream is an media server capable of delivering your live and on-‐demand content to any screen
    • RMS is not just a multi-‐format, multi-‐protocol server that delivers your media rich content across multiple screens and platforms.
    • Capable of ingesting a single live H.264 video stream from either an MPEG-‐TS, RTMP, or RTP encoder and concurrently  transforming and redistributing the stream to any other endpoint including PCs, Macs, mobile phones, tablets, and televisions.
    • RMS uses WebRTC streaming protocol for end to end streaming
  • Mediastreamer

    • The media streamer does the streaming of captured media content from the camera.
    • HTTP streaming through Mongoose server
    • The gstreamer media framework is used to stream H264 encoded content to mongoose server
    • The output of media streamer shall be provided as input to RDK Mediastreamer (RMS) or for Continuous video recording (CVR) modules
  • CVR(Continuous Video Recording )

    • CVR support using Kinesis Video Streams Producer libraries Kinesis video stream - A set of easy-to-use software and libraries that you can install and configure on your devices
    • These libraries make it easy to securely connect and reliably stream video in different ways, including in real time, after buffering it for a few seconds, or as after-the-fact media uploads
  • Pipewire

    • It have ability to create audio and video server
    • Apps and device are represented by node
    • Each node have the input and output port to share media between node
    • Session manager is to configure nodes, ports and linking nodes
  • KVS
  • SDK
  • SDK​
    • The Amazon Kinesis Video Streams Producer libraries are a set of easy-to-use libraries that are part of the Kinesis Video Streams Producer SDK. The client uses the libraries and SDK to build the on-device application for securely connecting to Kinesis Video Streams and streaming video and other media data that can be viewed in the console or client applications in real time. 
    • Media data can be streamed in the following ways:
    • Streaming media data in real time
    • Streaming media data after buffering it for a few seconds
    • Streaming after-the-fact media uploads
    • After you create a Kinesis Video Streams stream, you can start sending data to the stream. You can use the SDK to create application code that extracts the video data (frames) from the media source and uploads it to Kinesis Video Streams. These applications are also referred to as producer applications.
  • Thumbnail
  • Thumbnail​
    • The RDK-C Thumbnail provides Real time thumbnail and thumbnail on motion events.
    • Types of Thumbnail
      • Next-Gen Thumbnail
      • Smart Thumbnail
  • HttpClients
  • HttpClients​
    • The RDK-C httpclients component provides APIs for REST Operation.
  • ConfigMgr
  • ConfigMgr​
    • The ConfigMgr provides APIs for the devices and user specific management services.
  • Plugins
  • Plugins​
    • The RDK-C plugins components provides HAL, APIs to connect with audio and video source streams.

        RDK Device Management

  • XCONF​

    • Xconf is slated to be the single entity for managing firmware on set-top boxes both in the field and in various warehouses and test environments.

    • Xconf's primary purpose is to tell set-top boxes (STBs) what version of firmware they should be running. Xconf does not push firmware to the STB, nor is not involved in any way in the actual download / upgrade process. It simply tells the STB which version to use. Xconf also tells STBs when, where (host), and how (protocol) to get the firmware.

    • Xconf consists of two web applications, XconfDataService and Xconf Admin. XconfDataService is the app that the STBs talk to. Xconf Admin allows humans to enter all the information necessary for Xconf to provide the correct information to STBs.

    • The interface between STBs and Xconf is simple. STBs make HTTP requests to Xconf sending information like MAC address, environment, and model. Xconf then applies various rules to determine which firmware information to return. The information is returned in JSON format.

Image Modified

 

  • RDK Telemetry​
    • RDK Telemetry mechanism is simple in concept - grepping log files on a device - and has been hugely successful.  
    • The resulting data and reports are a staple for Triage and Debugging.  However, over time, that success has also resulted in a cost.  
    • The number of logs and strings being searched and reported for legacy telemetry can result in larger than desired CPU utilization every time DCM runs , and the resulting upload of data can grow very large.

 
Image Modified

  • RDK Logging
    • RDK Logger provides common logging capability for all RDK components. It is a common logging library which is based on MPEOS logging & uses log4c for formatting and supports multiple log levels.
    • RDK Logger Capabilities 
    • Abstracts logging client from underlying logging utility.
    • Dynamically enables/disables logging level at run time.
    • Provides logging format that complies with the existing OCAP format (e.g. <timestamp> [mod=*, level=*]).
    • Controls log level independently for each component/module.
    • Enables logging globally via single configuration value.Controls initial log level for each component/module from configuration file (debug.ini) at startup.
    • The debug.ini is the main configuration file for RDK Logger and it is intended to be used globally in multi-process environment.
    • Prints formatted data to stdout.
    • Separates logs into separate files based on "SEPARATE.LOGFILE.SUPPORT" configuration variable.
    • RDK logger log files will be generated under "/opt/logs" folder if SEPARATE.LOGFILE.SUPPORT=TRUE
  • WebPA​
    • WebPA is the communication channel from Cloud to RDK based home gateway devices. It helps to manage devices from Cloud. 
    • WebPA protocol provides functionality of read/write access to device management parameters
  • RDK Feature Control​
    • Operational limitations that lead to RFC
    • The only way to disable a new feature in the field was to rollback to the older firmware
    • Lack of options to do a feature deployment in a subset of devices
    • Lack of options to deliver dynamic configurations to the box
    • Using RFC
    • Enables quicker roll out of features
    • Enables a secure channel for delivering runtime configurations to the device
    • Ability to control when the feature needs to be enabled/disabled ? Disable now/ Disable during reboot

        RDK Linux Distribution

...