Learn all about media delivery, processing and playback in today’s software stacks, and become able to implement your own media stack.
Course gives an introduction into how media content is created, distributed, received, processed and played back in today’s Digital TV and multimedia standards, applications and software stacks. Specific consideration is given to reception stage, including the understanding of demultiplexing, descrambling and decoding phases and their integration via layered software stack and media frameworks into modern application runtimes. Course has a practical dimension, with laboratory exercises in Android TV or HTML-based runtimes, which are most commonly used in today’s media receivers.
Course topics:
- Introduction to digital TV and multimedia
- Media receiver architecture
- Multimedia distribution, reception and demultiplexing
- Media device software platform
- DTV middleware and application layer
- Internet TV and IPTV
- Content protection and conditional access
- Video compression and coding formats
- Application layer architectures
- Application layer based on W3C standards
- User Experience in media application design
Modules:
M1: Introduction to Digital TV
https://academy.nit-institute.com/wp-content/uploads/2025/05/L1.png
The goal of this lecture is to give you a very first introduction to the world of digital television and media delivery. You will find out how media and TV are delivered (broadcast versus broadband) and what is the overall format of the signal (transport stream).
Set-up the development environment in the lab for DTV programming, understanding its basic elements.
2 hours 30 minutes
M2: TV Receiver Architecture
https://academy.nit-institute.com/wp-content/uploads/2025/05/L2.png
In this lecture, you will learn how the typical multimedia device looks like. Each device that is in charge of receiving, processing and playing media content is alike. We will present typical media flow within a device, describing the most important notions. We will sketch a typical hardware architecture of the receiver, showing the hardware acceleration and explaining how to use it in your software designs. After this lecture, you will be ready to write your first piece of software dealing with multimedia at the reception side.
In the lab environment, learn how to use basic SDK to receive the signal from the broadcast stream and understand its structure.
2 hours 30 minutes
M3: Multimedia distribution, reception and demultiplexing
https://academy.nit-institute.com/wp-content/uploads/2025/05/L3.png
In this lecture, we will analyze how video, audio, and corresponding metadata are created, delivered, received and played to the user. All important phases are demystified. The central point in this process is called multiplexing or demultiplexing. After this lesson, you will understand the multiplexed media stream and the role of demultiplexer as a block at the receiver. You will be ready to utilize this block to help you route the signal and achieve the desired media processing and playback.
Using the basic DTV SDK, set up the demultiplexing operation and filter out signal components accordingly.
2 hours 30 minutes
M4: DTV Signal Metadata
https://academy.nit-institute.com/wp-content/uploads/2025/05/L4.png
Each DTV and multimedia signal needs to be described by metadata. This metadata is packaged together with audio and video content. In this lesson, you will learn where to find the required metadata, what types of metadata are there and how to extract them. You will be able to write software modules accessing and parsing metadata, to achieve audio/video synchronization and correct live service playback. You will also learn to fetch service names, scheduling and other information related to the media content.
Extend the DTV software to obtain the structure of the transport stream and understand its composition and elementary components contained within.
2 hours 30 minutes
M5: DTV software platform
https://academy.nit-institute.com/wp-content/uploads/2025/05/L5.png
In this lesson, you will get an overview of a software stack in charge of media control and playback. We will depict the stack bottom-up, starting from hardware, via a programming platform, on to the middleware and application layers. We will emphasize the role of a programming platform (DTV SDK) and describe its functionality. DTV SDK is in charge of providing all the required abstractions to handle media routing and accelerated processing. After this lesson, you will be fully enabled to understand and utilize target-specific DTV SDKs when developing software for media devices at any level.
Understand APIs of the selected DTV SDK and work out a few examples for basic setup of the audio/video processing pipeline.
2 hours 30 minutes
M6: DTV Middleware and Application Layer
https://academy.nit-institute.com/wp-content/uploads/2025/05/L6.png
This lesson extends the understanding of media software stack, by introducing the very important role of middleware and application frameworks / APIs. Middleware is in charge of implementing client use cases, being that service list storage, playback control, scheduling and content databases, subtitle decoding, metadata parsing, system control, etc. After this lecture, you will understand the role of middleware and will become able to design your first application-level APIs, to help design great applications for media playback!
Use SDK of the selected middleware environment to set up the DTV signal path upon user request.
2 hours 30 minutes
M7: Internet TV
https://academy.nit-institute.com/wp-content/uploads/2025/05/L7.png
In addition to broadcasting, media is delivered most frequently over the internet, or over closed IPTV (Intranet/WAN) infrastructures. In this lecture, you will get to the bottom of how IP and Internet TV delivery works, including head-end and client sides of the story. You will understand the concept of IP streaming, getting familiar with the terms such as HTTP streaming and adaptive streaming. You will differentiate between broadcast and broadband delivery, and be able to address this difference in your software implementations.
In the lab environment, learn how SW is used to receive media coming through the adaptive streaming and pump it to the processing pipeline.
2 hours 30 minutes
M8: Content protection, CA and DRMs
https://academy.nit-institute.com/wp-content/uploads/2025/05/L8.png
In this lesson, we dig deeper into the concept of content protection and digital rights management, which is ubiquitous today. Each premium content, which considers tremendous investments, needs to be protected against piracy and unauthorized broadcasting. For this purpose, we introduce conditional access systems and digital rights management principles overall. We point you to how scrambling/encryption systems work, what are user and service keys, what are the differences in metadata within the transport stream, what needs to be done in both hardware and software to support premium content playback.
Extend your DTV software to recognize the protected content based on the appropriate signal metadata and restrict its playback.
2 hours 30 minutes
M9: Video compression and formats
https://academy.nit-institute.com/wp-content/uploads/2025/05/L9.png
Finally, no media could be delivered efficiently without coding and compression. Our video signal is simply too large for the available bandwidth. Luckily, we are today able to compress it 100x or more with little effect on perceivable quality. In this lesson, we demystify the overall principles behind video coding and introduce the main components of coders/decoders. We also enumerate some of the most important video coding standards which are in use and describe some of their specificities.
Understand the format of the A/V signal and learn to configure the video decoder accordingly in software.
2 hours 30 minutes
M10: Application layer architectures
https://academy.nit-institute.com/wp-content/uploads/2025/05/L10.png
In this lecture, we present common ways to architect application layers in modern devices, which go beyond core middleware functionalities. We will dissect native architecture, nested architecture and service-oriented architectures, discussing how middleware is integrated and accessed from apps within each of the architectures. We also identify key design patterns. Students are prepared for hands-on work in Android / TV Input Framework environment, what is the architecture of choice for exercising.
Create an exemplary state machine and transitions to power a simple GUI for a DTV app.
2 hours 30 minutes
M11: Application layers based on W3C standards
https://academy.nit-institute.com/wp-content/uploads/2025/05/L11.png
This lecture dives deeper into the architecture based on W3C standards. Those architectures are based on HTML/CSS/Javascript and heavily rely on a browser as the main rendering engine for DTV applications. We give insights into the selected exemplary specifications of W3C-based stacks, and their common usage today.
Continuation and finalization of M10 exercise.
2 hours 30 minutes
M12: User experience for DTV applications (and the final project!)
https://academy.nit-institute.com/wp-content/uploads/2025/05/L12.png
The final lecture deals with user experience (UX) and user interface (UI), often overlooked when designing DTV devices and applications. We present and demonstrate the complete UX and UI design process, emphasizing specifics of television and multimedia.
Using all the parts uncovered through exercises, assemble a simple real-world DTV application software with basic user interface (info banner, channel list) with channel zapping and volume control. Two flavors of the project can be selected for each group: a broadband-stream (internet TV) or broadcast-stream (broadcasted via cable).
16 hours
Final exam
none
none
none
1 hour 30 minutes
Requirements
Software: RealVNC, Virtual Box, Chrome browser.
Hardware: Computer with an Internet connection, working speakers, and microphone.
Prior knowledge: Students should have basic programming knowledge in either Java (preferably within Android) or basic C/C++.