Auto Video Packer

The Auto Video Packer automatically optimizes the output video stream resolution by analyzing which videos are visible at the OdenVR and how much screen space each video occupies. It then dynamically scales and arranges the video streams into the output resolution, ensuring that each video gets an appropriate amount of resolution based on its importance on screen.

This feature is particularly useful when streaming multiple video sources, as it avoids sending full resolution for videos that only occupy a small portion of the operator’s screen.

It is recommended to use the auto packer instead of using different scene for different camera layout.

How It Works

OdenVR analyzes which videos are visible on screen and how much space each one occupies, then sends this data to Oden Streamer. Oden Streamer uses this information to scale and arrange the videos into the output resolution, allocating more resolution to videos that occupy more screen space.

When Apply Auto Crop is enabled, the packer also crops away parts of a video that are not visible on the OdenVR screen, further reducing the output resolution needed. When disabled, the full video is still sent but the screen occupation is estimated from the visible area.

The screen analyzer also works through Virtual Cameras if they are shown in the viewport.

Videos not shown are sent in maximum of 32x32 resolution.

Limitations

  • Auto video packer can only handle a maximum of 16 videos.

  • Layout the same video multiple times in the viewport will cause the sent video to be in higher resolution.

OdenVR

The following settings are available in the Project Settings on the OdenVR side:

Automatic Video Packing

Enables or disables the Auto Video Packer. When enabled, the output resolution and video layout will be managed automatically.

Apply Auto Crop

When enabled, the packer will take viewport crop into account when calculating video sizes.

Use Fixed Streamer Resolution

When enabled, a fixed output resolution is used instead of dynamically adjusting the resolution based on the packed content.

Fixed Streamer Resolution

The fixed output resolution to use when Use Fixed Streamer Resolution is enabled.

Oden Streamer

The Auto Video Packer GUI on Oden Streamer is available in the Output settings. It displays the following information:

Current Output Resolution

The current dynamically calculated output resolution (or fixed resolution if configured).

Max Streamer Resolution

The maximum resolution that the packer can use. This is determined by the output resolution set in the Output settings.

Player Screen Resolution

The resolution of the OdenVR screen as reported over the network.

When auto video packing is enabled it is recommended to use Per Megapixel Bitrate instead of a fixed Target Bitrate, as the output resolution will change dynamically. See Output (Streamer).

Per Video Information

Each video source is listed as a tree node showing its name and current scaled resolution. Expanding it shows the following:

Resolution

The original resolution of the video source.

Screen Occupation

How much of the OdenVR screen this video occupies, as a percentage.

Cropped

The crop percentages applied to each side of the video (Left, Top, Right, Bottom).

Cropped Resolution

The resolution of the video after crop has been applied.

Downscale

Controls the priority of the video in the packing algorithm (0.0 - 1.0, default: 1.0). Acts as a multiplier on the video’s screen occupation, reducing how much output resolution is allocated to it. Useful for deprioritizing less important video feeds. The effect is only visible when the packer is constrained, i.e. when the combined videos do not fit within the max streamer resolution.

Scale

The scale factor that the packer has calculated for this video.

Scaled Resolution

The final resolution of the video after scaling, as it will appear in the output.