Zixi Transcoding
Zixi Broadcaster’s live transcoding provides a single solution for the universal origination and distribution of high-quality, adaptive live broadcast content. It enables users to create multiple bitrate streams from a single input stream, converting video and audio live streams to a variety of profiles and bitrates for OTT workflows, digital MVPDs, MSOs, and other destinations.
The transcoder is typically employed in the following use cases:
- Broadcast Backhaul: Compress high-bitrate live mezzanine MPEG2 to lower-bitrate H.264 or H.265 at the same quality level to reduce bandwidth requirements for video uplink.
- Adaptive Bitrate (ABR): Deliver live mezzanine video transcoded into multiple renditions of H.264 or H.265 and packaged into HLS or DASH formats to devices via Content Delivery Networks or similar services.
- Social Media Packaging: Deliver live mezzanine video transcoded to lower-bitrate H.264 and packaged into RTMP or HLS for platforms such as Facebook Live, YouTube Live, and Twitch.
- Format Normalization: Ingests legacy, obsolete, or incompatible formats and converts them into standardized, modern broadcast profiles for downstream IRDs and decoders.
- Storage Optimization: Transcodes high-bitrate archive feeds into high-efficiency bitrates to reduce long-term file and cloud storage requirements.
Transcoding Engine Options
The transcoding feature in the Zixi Broadcaster is available using the following options:
- Software-based Transcoding: Operates on any hardware configuration supported by Zixi Broadcaster (excluding macOS). It uses the AVCODEC library for video decode and the x264 library for video encode, offering the most hardware flexibility and support for advanced chroma subsampling (up to 4:4:4).
- NVIDIA GPU-based Transcoding: Utilizes NVIDIA GPUs for hardware-accelerated video transcoding on-premise or via cloud providers. It leverages nvdec and nvenc libraries to offer high-density processing, decoding and encoding at resolutions up to 4K (2160p) at 60fps.
- NETINT VPU: Utilizes NETINT VPUs for specialized hardware acceleration that provides fast transcoding with low memory overhead (Note: Framerate conversion is not supported).
- NDI Software Library: Native processing for NDI format workflows.
Advanced Processing Capabilities
Beyond format conversion, the transcoder offers deep processing tools for professional broadcast pipelines:
- Ad Insertion:
- SCTE-35 passthrough to Zixi TS
- SCTE-35 converted to CUE-OUT/CUE-IN in HLS
- SCTE-35 converted to Splice Events in DASH
- SCTE-35 converted to OnCuePoint in RTMP
- API Injection with output to SCTE-35 (Zixi TS), CUE-OUT/CUE-IN (HLS), Splice Events (DASH), or OnCuePoint (RTMP)
- Captioning Options:
- ATSC 608/708 ES passthrough to Zixi TS, HLS, DASH, and RTMP
- DVB track passthrough to Zixi TS
- WebVTT generation from ATSC 708 Elementary Stream
- Audio Processing:
- Transcode up to 16 audio tracks
- Passthrough of multiple audio tracks and unsupported codecs (e.g., E-AC-3)
- Audio Sample Rate Conversion (44.1KHz to/from 48KHz)
- PID mapping of audio tracks
- Video Processing:
- MPTS De-multiplexing and passthrough
- 10-bit to 8-bit color downscaling
- Smooth up/down framerate conversion with frame interpolation (NVIDIA) or frame duplication/removal (Software)
- Deinterlacing and support for interlaced/progressive outputs (Software) or progressive outputs (NVIDIA)
- Thumbnail extraction as an HLS playlist
- Static image/logo insertion and dynamic HTML overlays
- GOP synchronization, I-frame synchronization of outputs with different FPS, and I-frame injection at SCTE-35 markers
Comparison of Transcoders
Before deciding on a transcoder, you should consider its video codec and color support to see which one best suits your needs. Below is a comparison of the different options.
NVIDIA Hardware Encoder Codec and Color Support
| Format | Chroma Subsampling | Color Depth |
|---|---|---|---|
Video Decode | MPEG-2 | 4:2:0 | 8-bit |
| H.264/AVC | 4:2:0 | 8-bit |
| H.265/HEVC | 4:2:0 | 8-bit, 10-bit |
Video Encode | H.264/AVC | 4:2:0 | 8-bit |
| H.265/HEVC | 4:2:0 | 8-bit, 10-bit* |
*Input stream must be 10-bit
Software Encoder Codec and Color Support
| Format | Chroma Subsampling | Color Depth |
|---|---|---|---|
Video Decode | MPEG-2 | 4:2:0 | 8-bit |
| H.264/AVC | 4:2:0, 4:2:2, 4:4:4 | 8-bit, 10-bit |
| H.265/HEVC | 4:2:0, 4:2:2, 4:4:4 | 8-bit, 10-bit |
Video Encode | MPEG-2 | 4:2:0 | 8-bit |
| H.264/AVC | 4:2:0, 4:2:2, 4:4:4 | 8-bit, 10-bit* |
* Input stream must be 10-bit
NETINT VPU Codec and Color Support
Note: Framerate conversion is not supported.
| Format | Chroma Subsampling | Color Depth |
|---|---|---|---|
Video Decode | H.264/AVC | 4:2:0 | 8-bit, 10-bit |
| H.265/HEVC | 4:2:0 | 8-bit, 10-bit |
Video Encode | H.264/AVC | 4:2:0 | 8-bit, 10-bit* |
| H.265/HEVC | 4:2:0 | 8-bit, 10-bit* |
NDI Software Library Codec and Color Support
| Format | Chroma Subsampling | Color Depth |
|---|---|---|---|
Video Decode | NDI* | 4:2:0, 4:2:2, 4:4:4 | 8-bit, 10-bit |
Video Encode | NDI* | 4:2:0, 4:2:2, 4:4:4 | 8-bit, 10-bit** |
*NDI v original format, not NDI | HX
Transcoding Templates
Instead of manually selecting input streams to be transcoded, you can optionally define templates with rules for automatic transcoding of input streams according to the settings of a pre-defined Transcoding Template.
NDI Transcoding
For details about NDI transcoding, see the Configuring NDI Streams section.
WebRTC Transcoding
For details about WebRTC transcoding, see the Configuring WebRTC Streams section.