DVBProject / DVB-I-Reference-Client

DVB-I Reference Client being developed by Sofia Digital
MIT License
53 stars 23 forks source link

DVB-I Reference Application

Project consists of a backend and frontend parts.

Backend allows generation and editing of DVB-I service lists and generates mockup TV Anytime programme information to be used in the EPG.

Getting Started

Welcome to DVB's open source HTML5 reference client implementation of DVB-I.

Features common to most versions are service list navigation, selection/tuning of services, an info banner on changing service and a simple EPG. All versions use the common backend.

Frontend

The frontend is a HbbTV OpApp implementation of a DVB-I compatible Client. It offers Service list navigation, selection/tuning of services, info banner and a simple EPG. A separate client is offered for Android devices. Android client is offered as both PWA and APK applications, offering roughly the same functionality. APK can be extended with native Android code to enable features requiring native code, like new network service discovery protocols (DVB-NIP, 5G broadcast, and other protocols using the Android Tuner Interface Framework). Note that support for these in Android devices can be quite limited.

Demo installations available at:

(one can use the "Add to Home screen" functionality of Chrome to create a nice launch icon and proper PWA app)

To test the OpApp version, follow the specific opapp installations instructions for the device in use. The repository offers methods to build the specification compliant opapp.pkg template.

The app can also be tested by generating a Transport Stream with an AIT pointing to the HbbTV Frontend link mentioned above. For easier testing, a TS is provided with AIT that links to the application

stream download password: dvbi2023ts

NOTE: When using the TS, TDT restamp is recommended so the schedule information is retrieved with a correct date.

Note that this version runs as a "Normal HbbTV" version and might lack some of the functionalities of the OpApp version, and might display some inconsistent UI behavior.

Operator application package

NOTE: This is an unencrypted and unsigned package

To create your own opapp.pkg, run the following commands in the project root directory:

npm install
node opapp_package.js

This will create opapp.pkg in the project root directory. Edit the XML AIT to change the application id, organization id and the package location as needed. The opapp.pkg needs to be encrypted and signed according to the Operator application specification.

Backend

Backend is deployable to any web server with PHP support. Make sure that the "servicelists" directory is writable. The backend stores new servicelists there.

NOTE: The frontend uses "example.xml" as the service list. It can be browsed in the Backend editor as well, but not modified. https://dvb-i-reference.dvb.org/client/backend/servicelists/example.xml