This tutorial stands up a DVB-I-aware 5GMS application and walks through verifying that DVB-I service discovery is working, on top of the plain 5GMS end-to-end deployment. For background on the specifications and architecture it exercises, see the Scope page; for the underlying repositories, see the Resources page.
Standing up the DVB-I-aware 5GMS application
What you will build: the same end-to-end 5GMSd deployment as the 5GMS end-to-end tutorial (an Application Function, an Application Server, and the Android client stack), but with the client driven by a DVB-I service list instead of a hard-coded stream, so you can confirm that DVB-I service discovery is actually selecting the service instance that gets played.
1. Prerequisites: the 5GMS end-to-end deployment
The client used here is built from the same repository as the plain 5GMS reference tools, rt-5gms-application, listed on this project's Resources page as the "DVB-I Reference App" (its description there notes it "holds applications that can be used to test and demonstrate other 5G-MAG Reference Tools related to 5GMS," including both the 5GMSd-Aware Application and the Exo DVB-I Player). The Application Function, Application Server, Common Android Library, Media Stream Handler, and Media Session Handler it depends on are exactly the same 5GMS components either way, and setting them up is already documented step by step:
5G Media Streaming: 5G MSd End-to-End deployment (with Docker)
Follow that tutorial's server-side setup (Option 1, Docker Compose, is the fastest path) and client-side steps 1-3 (Common Android Library, Media Stream Handler, Media Session Handler) before continuing here.
2. Installing the DVB-I-aware application
With the AF, AS, and the shared Android libraries in place, install the rt-5gms-application repository itself:
The repository builds both the plain 5GMSd-Aware Application used in the 5GMS tutorial and the Exo DVB-I Player, the DVB-I-aware variant used here. Follow the repository's own README for the current build target/flavour used to produce the DVB-I-aware variant rather than the plain 5GMSd-Aware Application: that build step is not documented on this website.
3. Configuring DVB-I service discovery
This is the part that is specific to this project rather than to plain 5GMS. Per the Scope page, the DVB-I-aware client adds a discovery layer in front of the same 5GMS unicast transport: instead of (or alongside) the 5GMS m8Url source list used in the plain 5GMS tutorial, the client needs a DVB-I service list to fetch and parse (DVB A177 / ETSI TS 103 770), whose service instances then hand off to the 5GMS delivery path set up in step 1 (see the Scope page's "How the tools map to the standard" section for that hand-off, and "Bootstrap and the Service List Registry" on the Tech: DVB-I Services over 5G Systems page for how a client locates a service list in the first place).
Neither this project's docs nor the 5GMS tutorials document the specific configuration file, setting, or command used to point the DVB-I-aware application at a DVB-I service list (for example a Service List Registry query, or a directly configured service-list URL). Check the rt-5gms-application repository's own README for the current mechanism rather than assuming the 5GMS app_config.json m8Url/metadataUrl source list from the plain 5GMS tutorial carries over unchanged, it may not.
4. Verifying DVB-I service discovery works
Once the app is installed and pointed at a DVB-I service list, check the discovery layer itself rather than only the underlying stream playback:
- The app should successfully fetch and parse a DVB-I service list (completing the Service List Registry bootstrap first, if one is configured) instead of falling back to a hard-coded stream.
- Selecting a service in the app should resolve to the same AF/AS-served DASH source you set up in step 1, i.e. the DVB-I service and programme metadata is what is driving playback, not a bypass of it. This is the "Service discovery and selection" mapping described in Scope.
- If you also have a 5G Broadcast instance available (see the 5G Broadcast reference tools), the same DVB-I service should expose both a unicast and a broadcast service instance, letting you exercise the "Concurrent / hybrid operation" behaviour described in Scope rather than only ever resolving a single path.
Next steps
- Scope - the reference architecture these components implement
- Resources - the underlying repositories and releases
- 5G Media Streaming Tutorials - the full set of 5GMS AF/AS walkthroughs this one builds on
Developer Exchange
Our YouTube channel hosts some practical videos provided by developers on the use of the Reference Tools.
Some of the videos are also available here.
The recorded talk below demonstrates the DVB-I over 5G Reference Tools in use.
No DVB-I over 5G-specific videos are curated here yet. In the meantime, here's what's recent from the wider Developer Exchange:
End-to-End setup with 5GC, NG-RAN and UE for MBS Broadcast Services - 5G-MAG Reference Tools
Overview of the latest updates to the 5G Media Streaming Project - 5G-MAG Reference Tools
Demonstrating MBS User Service Announcement mechanisms - 5G-MAG Reference Tools
Demonstrating the OBJECT_CAROUSEL operating mode - 5G-MAG Reference Tools
Introducing Network Emulator & AI Traffic Characterization Framework - 5G-MAG Reference Tools
Introducing the new 5GMS Application Provider Portal - 5G-MAG Reference Tools