Bitrate Control and Auto Video Packing

Last validated: 2026-05-05

Use the Streamer Output settings to choose what Oden encodes and how it adapts to the network. These settings affect the outgoing video stream received by the Player Remote Streamer entity.

Open The Output Settings

  1. Start Oden Streamer and open the Streamer project.

  2. Open the sidebar tab Output.

  3. If the stream is running and you need to change encoder-only settings such as Resolution, Frame Rate, or Codec, press Stop first.

  4. Change the settings, then press Start.

  5. Confirm that the Output header shows the expected resolution, frame rate, and bitrate while streaming.

Set Resolution

Use Resolution to set the encoded output size. Oden renders the current Streamer output or output-alignment result into this resolution before encoding. Higher resolutions preserve more detail but increase encoder load, decoder load, and required bitrate.

  1. In Output, choose Resolution.

  2. Start with a conservative value when validating a new vehicle, for example 1280x720 or 1920x1080.

  3. Increase resolution only after the Player receives stable video and the network stats are clean.

  4. Enable Custom Resolution only when the preset list does not contain the required output size.

  5. If different scenes need different output sizes, enable Scene Specific Resolution and set Resolution per scene.

H.264 output is limited to 4096x4096 in the encoder GUI. HEVC output is adjusted to a valid decoder width when force_valid_nvdec_hevc_resolution is active in the project settings.

Set Frame Rate

Use Frame Rate to control how often Oden sends encoded frames when Sync to Video is disabled. Match the main camera frame rate when possible.

  1. Make sure Sync to Video is disabled.

  2. Open the Frame Rate section.

  3. Choose one of the listed rates: 23.976, 29.97, 59.94, 119.88, 15, 24, 25, 30, 50, 60, 100, or 120.

  4. Enable Custom Frame Rate only when the required rate is not in the list, then enter the value in fps.

Use lower frame rates when the link cannot sustain the required bitrate or when operator latency is less important than image quality. Use higher frame rates only when the camera, encoder, network, and Player decoder can all sustain them.

Choose Codec

The Codec setting is inside Encoder Settings.

  1. Stop output if it is running.

  2. Open Encoder Settings.

  3. Choose HEVC (H.265) for the normal low-latency Streamer path.

  4. Choose H.264 only when the receiving system or hardware path requires it.

  5. Choose AV1 only on builds and hardware where the option is available.

  6. Press Start and verify that the Output panel reports the selected codec.

On Jetson systems, Oden warns when H.264 is selected because HEVC (H.265) is the preferred low-latency codec.

Send Grayscale Video

Enable Grayscale when the deployment only needs luminance information and color is not useful to the operator or integration. Validate the full Player layout after changing it, especially if the project uses chroma keying, color correction, or computer-vision plugins that expect color input.

Set Bitrate

Use Target Bitrate for a fixed target. When Bandwidth Control is enabled, Target Bitrate acts as the maximum bitrate Oden tries to use.

  1. Set Resolution and Frame Rate first.

  2. Set Target Bitrate high enough for the selected resolution, but below the reliable bandwidth of the link.

  3. If the Player shows packet loss or unstable video, lower Target Bitrate.

  4. If the image is stable but compression artifacts are visible, increase Target Bitrate gradually.

When Auto Video Packer is used, prefer Per Megapixel Bitrate instead of a fixed Target Bitrate. It scales the active target with the current packed output resolution. Per MP Bitrate Cap limits the resulting bitrate.

Per Megapixel Bitrate is normalized to 30 fps. At higher frame rates, the effective bitrate is higher; at lower frame rates, it is lower.

Use Bandwidth Control

Enable Bandwidth Control when the network bandwidth varies or when the Streamer should react to Player feedback. It requires feedback from a Player-side Remote Streamer entity.

  1. Open the Bandwidth Control section.

  2. Enable Enable.

  3. Leave Target Usage near the default 50% unless measured testing shows that the link can safely run closer to saturation. It is deliberately below 100% so there is room for feedback, retransmission, FEC, audio, control data, and short network changes.

  4. Keep Auto Mode Switch disabled for normal tuning.

  5. Enable Auto Mode Switch only when the link can become very constrained and Oden should switch between regulator modes.

  6. Watch the Current Mode, Channel Usage, Bytes In Flight, Round Trip Time, and Wanted Bitrate graphs while testing.

With Auto Mode Switch enabled, the regulator modes can change Resolution Scale, Frames to skip, and Max Packet Size. The default modes are High(Default), Medium, and Low. Use the default Regulator Preset unless a project-specific network test shows that a different preset is needed.

Use Save Coded Data To File only for encoder debugging or support captures. It writes the encoded bitstream to the selected path and can consume disk space quickly.

Use FEC

Enable Use FEC when the link has packet loss but still has enough bandwidth for redundant packets. FEC can stabilize video, but it increases bandwidth usage and may push total traffic above Target Bitrate.

  1. Enable Use FEC.

  2. Set FEC Amount to the extra packet percentage to send.

  3. Set Min extra packets to the minimum number of FEC packets Oden should send.

  4. Leave DFEC Bad Link Fade unchanged unless you are tuning dynamic FEC behavior from measured link data.

  5. Test from the Player and check whether packet loss artifacts decrease.

Oden sends the larger result of FEC Amount and Min extra packets. If FEC makes congestion worse, lower Target Bitrate, lower FEC Amount, or disable FEC and fix the network link first.

Sync To Video

Enable Sync to Video when low latency to a primary camera is more important than a fixed output frame cadence. Oden synchronizes output to the selected video source and uses that source as the timing reference.

  1. Enable Sync to Video.

  2. Open Sync.

  3. Select the primary camera in Source.

  4. Set Max Fps to cap the synchronized output rate.

  5. Set Min Fps to the lowest allowed synchronized output rate.

  6. Leave Delay at 0 us unless you need a measured post-sync delay.

Choose the main driving camera as Source when one camera dominates the operator task. For projects that switch between forward and reverse driving cameras, change the sync source together with the active camera layout through the SDK or project logic.

When Sync to Video is enabled, the manual Frame Rate section is hidden. Use Max Fps and Min Fps to bound the synchronized rate instead.

Low-latency display settings

Output settings are only part of end-to-end latency. For the lowest operator display latency, also check the Player and operating-system display setup.

  • Run the monitor at its maximum refresh rate.

  • Use native Fullscreen on the Player when possible. Windowed and composited modes can add display latency.

  • Disable VSync unless a project-specific display setup requires it.

  • Use NVIDIA Surround when several monitors must behave as one large display surface.

  • On Linux vehicle computers, run Streamer with --headless when the GUI is not needed.

  • Enable Sync to Video and select the primary camera when camera-to-display latency matters more than a fixed frame cadence.

For deployed Player display settings, see Player display setup.

Validate Changes

  1. Start output.

  2. On the Player, connect to the vehicle and select the Remote Streamer entity.

  3. Check that Bandwidth, Round Trip Time, and Packet Loss match the expected network behavior.

  4. In the Streamer Output panel, check the current resolution, codec, bitrate, and frame-rate graphs.

  5. Save the project when the settings are stable.