Frame-rate Conversion #
Introduced in Nimbra Edge R4.1
The Frame-rate conversion transformation changes the frame rate of a video stream using motion-compensated interpolation (InSync FrameFormer). Unlike the frame-rate option of the Transcoding
transformation, which drops or duplicates frames, motion compensation synthesizes intermediate frames so that motion stays smooth, for example when converting 50 fps content for a 59.94 fps distribution chain.
Video flow #
The derived input decodes the video, converts it to the target frame rate and re-encodes it. Audio and other PIDs pass through unchanged.
flowchart LR
A["Input Stream"] --> B[Decoder]
subgraph Frame-rate conversion
B --> C["FrameFormer
motion-compensated interpolation"]
C --> D[Encoder]
end
D --> E["Output Stream
target frame rate"]
Parameters #
| Parameter | Description |
|---|---|
| Quality tier | FrameFormer product tier. base interpolates linearly without motion compensation; performance and premium are motion compensated. |
| Demo mode | Adds a visible DEMO overlay to the output and bills usage as the FrameFormer demo service type. |
| Target framerate | 25, 29.97, 50 or 59.94 fps. |
| Video bitrate | Bitrate of the re-encoded video. Defaults to 10 Mbps. |
Advanced settings #
The re-encoded video keeps the input’s codec, chroma subsampling, bit depth and video PID. The advanced settings let you override the codec, for example to re-encode an MPEG-2 input as H.264. The pixel format and video PID follow the input: the encoder does not convert chroma subsampling or bit depth, and the converter keeps the input’s PMT, so use the PID Remapping transformation to change PIDs.
| Parameter | Description |
|---|---|
| Video codec | H.264, H.265 or MPEG-2. Leave empty to keep the input’s codec. |
| Pixel format | 4:2:0 or 4:2:2 at 8 or 10 bit. Leave empty to keep the input’s format; an explicit value must match the input, since chroma and bit depth are not converted. |
| Video PID | Only needed on appliances older than R4.2.0, where it must equal the input’s video PID. Newer appliances always keep the input’s video PID. |
| Max threads | Threads available to the interpolation. Defaults to all CPU cores. |
| Motion compensation effort | 0-100. Lower values reduce CPU usage at the cost of quality. 0 disables motion compensation. |
| CPU core index | First CPU core used by the conversion workload. |
| Realtime priority | Realtime scheduling priority of the output pacing thread (1-99). |
Appliances running a release older than R4.2.0 cannot derive the codec, pixel format and video PID from the input. On those appliances all three must be set explicitly through the API, and they must match the incoming stream.
Licensing #
Full-quality frame-rate conversion requires the installation to be licensed for it. Unlicensed installations can only run the transformation in demo mode, which watermarks the output.
Limitations #
- Motion-compensated frame-rate conversion is only supported on Nimbra 520 and Nimbra 414b appliances.
- The conversion is CPU based and resource intensive, and may affect other services running on the same appliance.
- The pixel format cannot be converted: the selected codec must be able to encode the input’s chroma subsampling and bit depth, or the one selected as override.
- The video PID cannot be changed by the conversion itself.