Transcoding

Transcoding #

Introduced in Nimbra Edge R3.25

The Transcode transformation enables changing format and properties of video and audio streams by decoding and re-encoding them. This enables standard conversions such as changing codec, resolution, bitrate and framerate, as well as adding overlays.

Limitations #

  • Transcoding only supports transforming common video and audio streams. PIDs other than video and audio may be passed through but the behavior is undefined and may lead to unexpected results such as crashes and corrupted output data.

  • Transcoding MPTS streams is not supported.

  • MPEG-TS PIDs will be reassigned during transcoding.

Why transcode? #

The capabilities and formats supported by devices and services receiving a stream may not match the capabilities of the source. Transcoding enables adaptation of the video stream based on the requirements of the receiving device.

Video flow #

Transcoding consists of three main stages:

  1. Decode the input stream
  2. Apply transformations to the raw video
  3. Encode in the desired format

flowchart LR A["Input Stream
H.264, 1080p, 20 Mbps"] --> B[Decoder] subgraph Transcode process B --> C["Raw Video
Uncompressed Frames"] C --> D["Transformations
• Overlays
• Resolution Scaling
• Deinterlacing"] D --> E[Encoder] end E --> F["Output Stream
H.265, 720p, 5 Mbps"] style A fill:#e1f5ff style C fill:#fff3cd style F fill:#d4edda

The transcoding process can modify various aspects of the stream, including video codec, resolution, bitrate, framerate, pixel format, overlays, and audio codec. For a complete list of available options, see the Transcoding options reference.

Accelerators #

As the encoder and decoder are implemented in hardware, the feature set may be different from one vendor to another, and from one model to another. The available features are determined automatically by the video node, and are presented in the user interface. Supported accelerators are listed in the Transcoding accelerators reference.