Content:
1.0 .........Introduction
2.0 .........Receiving DRM + Ginga
2.1 ...........Dream and Ginga binaries
3.0 .........Transmitting
3.1 ...........DRMCS binaries
4.0 .........Ginga applications
4.7 ...........Station related content
4.8 ...........Integrated Broadcast Broadband application
1.0 Introduction
Ginga is a Brazilian developed middleware for the Brazilian Terrestrial Digital TV System, which is an evolution of the original Japanese ISDB-T, rebranded as
ISDB-T International. The major differences between the Japanese and the International ISDB-T are the audio and video codecs,
upgraded from MPEG 2 to MPEG 4, and the applications middleware, Ginga instead of BML (Broadcast Markup Language).
The support for Ginga is getting wide, only in Brazil there are 115 million
TV sets with Ginga installed, not counting the millions of cellphones with DTV support. It's also used in other 15 countries in Latin America and two in Africa (Botswana and Angola).
The NCL and Lua are the main languages supported by the Ginga middleware (Ginga-NCL subsystem) and recently also HTML 5 and Javascript support was added (Ginga-HTML5 subsystem). NCL is a declarative language for hypermedia-document authoring and the imperative language Lua can also be used as NCLua media objects.
The official proposal of Ginga transport over DRM and the formal language and middleware definitions are based in the ITU Recommendation H.761, and is available in the link below:
- DINIZ, R.; GUEDES, A.L.V.; COLCHER, S. A Ginga-enabled Digital Radio Mondiale broadcasting chain: signaling and definitions. Tech Report in Computer Science, PUC-Rio. 11 p. 2019. ftp://ftp.inf.puc-rio.br/pub/docs/techreports/19_05_diniz.pdf.
Other important references (in Portuguese) are:
- Rafael Diniz Master's dissertation: The NCL-DR Profile and the Ginga Middleware for the Brazilian Digital Radio System.
- Article: Transmission of Interactive Applications for the Ginga Middleware in the Context of the Brazilian Digital Radio System
- Digital Radio presentation
2.0 Receiving DRM + Ginga
The support for receiving DRM with a Ginga application is already committed to Dream (svn r997). The parameters used for the Ginga application are provisional (and highlighted in text), but likely not to change until
standardisation. Ginga can be transmitted as Program Associated Data (PAD) of an audio service (tipical use), or as a data service. If transmitted as a data service, FAC Service Parameter should contain the following value:
- Service Descriptor (Application identifier) = 4
For the SDC entity type 5 (Application Information):
- Packet mode indicator = 1
- data unit indicator = 1
- application domain = 0 (DRM)
- user application identifier = 1 (Ginga)
Ginga uses the MOT protocol in it's Directory Mode. In the DirectoryExtension header the parameter DirectoryIndex is the most relevant and must be
transmitted. The DirectoryIndex fields should follow the syntax:
- ProfileId = 1 (only defined profile)
- index_name = main.ncl (example, should contain the file name of the NCL or HTML application)
Dream already has support for Ginga with the parameters above.
Dream source code can be downloaded from subversion. Command:
svn checkout svn://svn.code.sf.net/p/drm/code/ drm-code
Ginga PUC-Rio implementation source code can be downloaded from git. Command:
git clone https://github.com/TeleMidia/ginga.git
2.1 Dream and Ginga binaries
Please follow the instruction for installing the Ginga middleware implementation by PUC-Rio here:
https://github.com/TeleMidia/ginga/blob/master/README.md
For Dream instalation follow the instruction on Dream's wiki. On Debian 8 (Jessie), x86_64 (Intel/AMD 64 bits), place line below to your '/etc/apt/sources.list':
deb http://www.telemidia.puc-rio.br/~rafaeldiniz/ginga4linux/debian amd64/
And, type the commands below in a root console:
# apt-get update
# apt-get install dream
3.0 Transmitting
In order to create a DRM broadcast with a NCL application, the Content Server used should support the signaling defined in section 2.0.
BBC's developed DRMCS supports the MOT Directory Mode and all the required parameters can be set.
Configuration samples for NCL application transmission as PAD and as a data service are available here.
3.1 DRMCS binaries
Comming soon.
4.0 NCL application examples
4.7. Station related content
Application: Radio Nacional da Amazonia example
Size (uncompressed): 20167 bytes
MDI Stream (in pcap format): demo1.pcap
Carousel period at 5.16 kbps: 31.2s
Typical use: MW, SW and VHF.
Screenshot:
4.8. Integrated Broadcast Broadband application
Application: Telemidia IBB example
Size (uncompressed): 15969 bytes
Typical use: MW, SW and VHF
Screenshot:
Lab. Telemídia | DI | PUC-Rio