This repository contains example applications and demonstrations for NVIDIA Rivermax SDK, showcasing high-performance media and data streaming capabilities over standard IP networks.
NVIDIA Rivermax is an SDK that enables direct data flows from the NIC to the GPU, delivering best-in-class throughput and latency for streaming workloads. This repository provides practical examples demonstrating how to leverage Rivermax for various streaming applications.
- api_demo/ - Simple straightforward applications demonstrating the direct usage of Rivermax API
- legacy/ - Legacy applications demonstrating more complex Rivermax capabilities
This repository relies on rivermax-dev-kit (RDK) as a provider of infrastructure services. However, all the Rivermax related logic and all the calls to Rivermax API, are explicitly invoked by the code within the examples.
Please follow the guidelines provided in README of rivermax-dev-kit
For a smoother start, it is better to follow the installation guidelines of the Rivermax SDK.
The repository relies on CMake to build binaries, and it can be built both on Linux and Windows.
On how to build these examples using CMake, please follow the guidelines provided in
README of rivermax-dev-kit
One can filter out categories of applications completely, by selecting only the needed ones during the configuration command line e.g.,:
cmake -B <build-dir> -DRMAX_APP_LISTS="api_demo"Note
By default, if RMAX_APP_LISTS is not specified, all apps are configured to be built.
To build individual applications using target names:
cmake --build <build-dir> --target=<app_name>Note
By default, if a target is not explicitly specified, all targets are built.
Enable GPU acceleration for supported applications:
cmake -B <build-dir> -DRMAX_CUDA=ONEach example code provides its own usage instructions.
We welcome contributions to the Rivermax Examples repository:
- To contribute and make pull requests, please follow the guidelines outlined in the Contributing document.
- Please let us know about any bugs or issues by filing a new issue.