Skip to content

Feature request: auto-detect and remove black bars (letterbox/pillarbox) via clean aperture or scaled dimensions #122

@nbinding

Description

@nbinding

Add the ability to automatically detect black bars in a video track and apply crop values via the clean aperture (clap) atom, scaled size, or both. Ideally exposed as a one-click action in the video track properties panel, with manual override of the detected values before applying.

Problem this solves

Films mastered in cinematic aspect ratios (2.39:1, 2.40:1, 2.76:1, etc.) delivered in 16:9 containers carry permanent letterbox bars in the frame. On displays matching the content's native aspect ratio (ultrawide monitors, 2.39:1 projectors, Cinemascope TVs), these bars waste significant screen real estate and can't be removed without re-encoding.

Subler already exposes scaled size and (in some versions) clean aperture fields manually, but:

  • Users have to calculate the correct crop values themselves
  • Getting values wrong is easy and the result looks stretched
  • There's no way to preview what the crop will look like
  • Scaled size behaviour is player-dependent and unreliable

Automating detection and applying the correct metadata atom would solve the framing problem for users with non-16:9 displays without requiring a re-encode, preserving Dolby Vision, HDR10, Atmos, and original quality.

Proposed solution

  1. A "Detect black bars" button in the video track properties panel
  2. Runs analysis on a sample of frames across the file (similar to ffmpeg's cropdetect)
  3. Returns suggested crop values with confidence indicator
  4. User can accept, modify, or reject
  5. On accept, Subler writes the appropriate atom (preferably clap, as it's better supported in Apple's ecosystem than scaled size alone)
  6. Optionally, show before/after preview thumbnails

Additional considerations

  • Variable aspect ratio films (IMAX sequences, Nolan-style) should be detected and flagged to the user rather than silently cropped
  • Sampling should span the full duration, not just the first few minutes, to catch VAR
  • Threshold for "black" should be configurable (some masters use near-black rather than pure black)
  • The operation should remain lossless — metadata only, no re-encoding

Use case

Typical scenario: a user with an ultrawide 21:9 monitor plays a 2.39:1 film stored in a 16:9 container. Currently the only fix is a full re-encode, which for a 4K Dolby Vision Atmos file is a multi-hour process with quality and metadata risk. Metadata-only cropping via Subler would resolve this in seconds.

Letterboxed film on ultrawide

Workarounds currently needed

  • Full re-encode with ffmpeg/HandBrake (slow, lossy, kills Dolby Vision without dovi_tool)
  • Player-side crop/zoom (per-player config, doesn't persist, not all players support it)
  • Manual scaled size entry in Subler (unreliable across players, easy to get wrong)

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions