Welcome to the DVB-MABR Validation Tool.
The repository contains a Python script (app.py
), a configuration file (config.ini
), and three scripts for launching the application in the different modes described in the DVB's RfP a/o the V2V (Verification and Validation) document.
The Python script app.py
is designed to configure and run a media processing application using the GPAC library. It loads configurations from the provided config.ini
file and/or from the command-line, processes command-line arguments, and initiates the media processing session accordingly. The application can run in two modes: server or gateway.
pkg-config
andexport PATH=
; Linux: export LD_LIBRARY_PATH=
; MacOS: export DYLD_LIBRARY_PATH=
)gpac -play http://127.0.0.1:8080/Manifest.mpd
)), dash.js, Theoplayer, ...) for viewing the stream (optional)Configuration Setup:
config.ini
file to customize settings according to your requirements. Ensure that all necessary parameters are correctly set for the chosen mode (server
or gateway
).Running Examples:
run_servers.sh
) using the TAD streaming content to demonstrate the sequential execution of server and gateway modes. This script can be executed to automatically run the servers.Example usage:
./run_servers.sh
Then choose which TAD stream to execute:
Choose a stream source:
A: Live segment template without manifest updates
B: Live segment template with manifest updates every 30s
C: Live segment timeline with manifest updates every 30s
D: Multi-period, 1 period per minute
E: low-latency single rate
F: low-latency multi rate
then run this command
./scripts/launch_gateway.sh
to launch the gateway with default configuration.
Viewing the Stream:
gpac -play http://127.0.0.1:8080/Manifest.mpd
) to view the stream. The playback link will be provided in the terminal output for gateway mode.http://127.0.0.1:8080/Manifest.mpd
.Advanced mode: manual launch of the Application:
python3 app.py config.ini mode=server stream_src="http_source_link"
.python3 app.py config.ini mode=gateway
../scripts/launch_server.sh
./scripts/launch_gateway.sh
Troubleshoot:
config.ini
file as needed.You must:
The binding is called libgpac.py
, and is by default available in GPAC share folder, for example /usr/local/share/gpac/python
. It is hosted in GPAC source tree under share/python.
The Python module handler is furthermore very likely not configured to look at this directory, in app.py
we have to indicate where to look:
sys.path.append('/usr/local/share/gpac/python')
Alternatively you can use pip to install the binding.
For more information on this visit: