RDK
Overview
OBS has integrated DTVKit’s DVB stack (DVBCore) with the RDK software framework providing a common API for RDK applications to use for the management of DVB services. DTVKit’s DVBCore is a market-proven DVB stack, offering Free to Air (FTA) and Pay-Per-View (PPV) functionality, which has been deployed in a wide range of TV and set-top box products worldwide. The DVB integration is compatible with both RDK 3.0 and 4.0 architectures.
Integration with the RDK environment enables RDK applications to integrate DVB services and provide the following capabilities:
Access to full event information
(7 day EPG where available)
Ability to watch and playback different ‘live’ streams on different clients (dependent on available resources)
DVR and timeshift with server or client based playback
Architecture
The DVB stack has been integrated with the RDK platform in such a way as to minimise the number of changes to existing RDK software components. However, it has been necessary to make small changes to the RMF to support communication with the DVB stack through the introduction of the ‘DTV’ module, shown in the diagram below. We have also introduced a component called ‘DTVSrc’ GStreamer and made some changes to the DVB stack itself so it can produce the Single Program Transport Stream (SPTS) needed for playing a service both locally and via the network using RDK’s Media Framework.
The architecture is presented in the diagrams below:
Service selection can be performed locally or remotely by sending a request to the RMFStreamer. This request chooses the ‘DTV’ module which then passes the service selection request on to the DVB stack. Once the DVB stack has performed the tune and set up the demux with the streams that make up the SPTS for the service, the ‘DTVSrc’ GStreamer component is then responsible for making the data available for playback locally or remotely.
DVB Stack Interfaces
The DVB integration makes use of well defined interfaces at both the platform and application layers:
Application Interface
In an RDK 3.0 based system a websocket RPC interface is used to enable control of the DVB stack and retrieval of programme related data by the application. The RPC API controls service acquisition, service management, service selection, and EPG data retrieval.
For an RDK 4.0 based platform the existing RPC API is replaced with a Thunder nano-service offering the same functionality.
Platform Interface
DVBCore has a ‘platform layer’ which is used to abstract it from the underlying hardware. Using this, DVBCore can be integrated with a range of silicon vendor platform APIs. The platform layer requires modification for RDK and our ambition is to agree a standard form of platform layer with RDK.
Security
Operators usually employ content protection to secure their broadcast services. Methods for securing the content are either CI+ or a form of proprietary Conditional Access System (CAS). DVBCore has well-defined interfaces for both CI+ and CAS, and has been deployed with a range of market leading CA providers’ solutions.
Status
The RDK DVB integration is a work in progress and we are discussing architectural improvements with RDK. For further information, please email us at info@oceanbluesoftware.co.uk.