LivePackager
This software is used by Vindral LiveEngine as our internal component for ingress, encoding, transcoding, and packaging. After years of internal usage and development, we are now making it available for external use. It is a powerful tool for ingesting and packaging live streams, and it can be used in conjunction with Vindral LiveEngine or as a standalone component.
- Deploy on-prem or in-cloud, with or without hardware offload (GPUs, ASICs).
- Receives live streams and packages them for delivery.
- Built-in monitoring and API for control.
- Supports multiple codecs & protocols, including Media over QUIC (MoQ), SRT, AV1, opus, and RTMP.
- A strong software alternative to Elemental encoders and other hardware encoders.
- Can act as a media gateway/proxy.
Operation
When using LiveCloud or a full installation of LiveEngine, the packager is automatically launched during stream ingestion and verification. This process is fully automated and requires no user intervention.
For standalone cases, the packager can be run via Docker, with configuration options available for SDI, MPEG-TS, NDI, and other input types. Configuration can be managed through configuration files, the API, or a graphical user interface (GUI).
For more information on how to set up your encoder, requirements, or if you'd like to give LivePackager a try, please contact us.
API and monitoring
The LivePackager includes a built-in API and monitoring system. This allows you to control the packager, monitor its performance, and receive real-time metrics about the streams being processed.
Use Grafana to set up alerts on specific events, such as stream failures or performance issues, to ensure that your live streams are always running smoothly.
The API can be used to start and stop streams, configure settings, and retrieve information about the current state of the packager.
Internals
Protocol flow example
Below is an example of how the LivePackager can be used to receive streams from different sources and package them for delivery to Vindral LiveEngine, CDN, or other third-party services.
SRT-RTMP gateway
Below is an example of how the LivePackager can be used to receive an SRT stream and proxy it to multiple RTMP endpoints.
SDI source, encode + CC via MPEG-TS
Below is an example of how LivePackager can be used to handle an SDI video source alongside a separate MPEG-TS source for closed captions.
In this workflow:
- The SDI source is transcoded and packaged for delivery to Vindral LiveEngine.
- An HLS stream is generated for recording to an S3 bucket.
- The closed captions from the MPEG-TS source are integrated into the MoQ output, along with an adaptive bitrate ladder.
- The packaged stream is simultaneously delivered to a third-party RTMP service (e.g., YouTube).
- Local playback is supported via MoQ, using a player such as the Live Player.
Multi-source, multi-audio, ABR via MPEG-TS
Below is an example of how LivePackager can be used to handle multiple MPEG-TS video sources at different bitrates, along with multiple MPEG-TS audio sources in various languages or with audio description tracks.
In this setup:
- No transcoding is required — LivePackager simply packages the incoming streams.
- An HLS stream is created for recording to an S3 bucket.
- Multiple audio tracks are preserved and included in the MoQ output, alongside the already-encoded adaptive bitrate ladder.
- The packaged streams are also delivered to a third-party RTMP service (e.g., YouTube).
- Local playback is enabled via MoQ, using a player such as the Live Player.
Performance
The entire component is built using high-performance Rust code, with a focus on low latency, high throughput, and 24/7 stability.
Utilize the hardware offload support (GPUs and ASICs) to increase channel quality and achieve predictable performance.
NVIDIA GPUs
Offloading encoding tasks to NVIDIA GPUs is the most common setup for LivePackager installations. Our system supports:
- Automatic load balancing and real-time metrics
- Deinterlacing, scaling, and support for 4K and 8K video
- AV1 encoding on 8th-generation GPUs and newer
- AV1 decoding on 7th-generation GPUs and newer
Netint ASICs
Netint delivers reliable ASIC solutions for offloading video encoding. Our integration with Netint offers:
- Automatic balancing and real-time performance metrics
- Scaling capabilities and 4K/8K support
- AV1 encoding support starting with the Quadra generation and newer
- Up to 64x 1080p30 simultaneous streams per ASIC (Quadra T2A)
Intel GPUs and iGPUs
Although less common than NVIDIA and Netint setups, Intel GPUs provide impressive performance and are fully supported:
- 4K and 8K support
- AV1 encoding support on Gen 12+ / ARC A-series
- AV1 decoding support starting from Gen 11+ / ARC series and newer
AMD GPUs and iGPUs
While AMD offloading is less frequently used compared to NVIDIA, Netint, and Intel, it is supported:
- AV1 encoding support for the Alveo MA35D platform
- 8K support for the Alveo MA35D platform
Next steps
If you'd like to know more about LivePackager, please contact us.