Skip to content

Resolutions by User Group

Daniel Neto edited this page Oct 31, 2025 · 1 revision

This document explains how the "Resolutions by User Group" feature controls which video resolutions are available to users and how it interacts with the encoder configuration.

Summary

  • The plugin lets administrators select which video resolutions a user group may access (for example: 240p, 360p, 480p, 720p, etc.).
  • At encode time the system takes the intersection between:
    1. The resolutions allowed by the user's group(s)
    2. The resolutions enabled in the encoder configuration
    3. The source file/video maximum (the encoder will not upscale beyond the original height)

Only resolutions that appear in all three sets are used for encoding and available in the player.

Where to enable and configure

  1. Go to Plugins → CustomizeUser and enable "Enable Resolutions by User Group".
  2. Go to Users → User Groups, edit or create groups and select the allowed resolutions for each group.
  3. Encoder-side resolutions are configured in the encoder settings (the encoder configuration file used by the site). The encoder has its own list of enabled resolutions (for example: [240, 360, 480, 720]).

If a user belongs to multiple groups, the user’s allowed resolutions are the union of all selected resolutions from those groups — then the intersection with the encoder’s enabled list is computed (see "How it is applied").

How it is applied (details)

When a video is encoded the system computes the final set of resolutions as follows:

  1. Read the allowed resolutions for the current user (union of their groups). If the user has no group assignment or the plugin is disabled, this initial set is treated as "all resolutions".
  2. Read the encoder-enabled resolutions (the encoder configuration / Format configuration). This is the canonical list the encoder is prepared to produce.
  3. Intersect the two sets: Final = (user allowed) ∩ (encoder enabled).
  4. Remove any resolution higher than the source video height (the encoder won't upscale). For example, if encoder and user allow 720 but the source height is 480, 720 is skipped.

Result: only resolutions present in the encoder configuration and allowed by the user are encoded.

Example

  • Encoder enabled: [240, 360, 480, 720]
  • User is in "Free" group: [240, 360]
  • Source video height: 480

Final encoded resolutions:

  • Intersection: [240, 360] (both are supported by the encoder)
  • Source height check: both are ≤ 480, so final = [240, 360]

If instead the user group allowed only [240] then final = [240] (even though the encoder supports more resolutions).

If user allowed set is empty (administrator left no resolution selected) the system treats it as "no restriction" and will fall back to the encoder-enabled list (but still respects source height). Always verify group settings if you expect a restriction.

Clone this wiki locally