Stable

Resolution Audit

Native desktop app for scanning video libraries and summarizing files by resolution bucket.

  • Swift
  • SwiftUI
  • FFprobe

Screenshots

macOS

Windows

Windows screenshots will be added soon

Overview

Resolution Audit scans local or network video libraries and classifies files into practical resolution groups such as 4K, 2K, 1080p, 720p, 480p, and SD. It uses bundled FFprobe-backed inspection and read-only workflows to help review media-library quality across large collections. Classification is a practical estimate from coded stream dimensions, not a guarantee that every file or adaptive stream condition is detected.

Key features

  • Open video files or folders and run an explicit Scan (selection alone does not start analysis)
  • Classify files into practical resolution buckets with documented tolerances
  • Review overview cards, pie chart, table, filters, search, sort, and selection details
  • Export CSV or TXT results and export the Activity Log
  • Read-only, local analysis with a sandboxed bundled FFprobe helper
  • Handle large local or NAS-backed libraries when the share is readable

Platforms

Windows

Coming soon

Desktop utility focused on resolution auditing across local and NAS-hosted media folders. Uses bundled FFprobe to inspect video stream metadata. Designed for practical folder-level review rather than transcoding or remuxing.

macOS

Coming soon

Minimum OS: macOS 15

Native SwiftUI app for Apple Silicon Macs running macOS 15 or later. Bundles FFprobe 8.1.2 for local media inspection and runs fully offline under the App Sandbox. The ffmpeg executable is not included.

Help

Opening media, running an audit, reading buckets, and understanding limitations.

Getting started

Open Resolution Audit, then choose Open Files… (⌘O) or Open Folder… (⌘⇧O), or drag and drop supported video files/folders onto the window. Press Scan (⌘R) to begin. Selection or drops do not start scanning automatically. Cancel Scan (⌘.) stops in-flight work while keeping completed results. Scans are read-only and do not transcode, remux, rewrite, or delete source files.

Audit workflow

Discovery enumerates enabled video extensions (subject to Settings such as recursive folders, hidden files, and symlink following). Each discovered file is probed with the bundled FFprobe helper. Results appear in the summary chart and table as analysis progresses. You can filter by resolution bucket or status, search by name/path, sort the table, inspect selection details, Reveal in Finder, Copy Path, or Copy Filename. Export writes available scan results as CSV or TXT to a destination you choose and does not modify source media.

Resolution buckets and tolerances

Buckets are practical labels derived from coded width/height after a 90°/270° rotation swap when needed. Standard height bands use fixed tolerances (for example 1080p ±40, 720p ±30, 4K/2160p ±80). Very small short sides map to SD. Some non-matching heights may appear as an “Np” style label or Unknown. These are estimates for library review, not a claim that every display size, crop, or adaptive rung is detected.

Coded dimensions, rotation, and SAR

Classification uses coded stream dimensions from FFprobe. Rotation metadata (tags.rotate or side-data rotation) is normalized; 90° and 270° swap width and height before bucketing. Sample aspect ratio (SAR) may be shown in details but is not multiplied into classification dimensions. “Displayed” sizes in the UI follow the same coded+rotation path and are not a guarantee of player output size.

Cropped DVD heuristics and adaptive media

Limited heuristics recognize some cropped DVD / 480p-width TV rips (for example widths near 700–720 with reduced height). Anamorphic or unusual crops outside those rules may land in other buckets or Unknown. Variable or adaptive streams (multiple representations over time) are not modeled as a timeline of buckets; the app reports what FFprobe returns for the probed stream metadata of that file.

Skipped files, Unknown results, and false positives/negatives

Expected exclusions such as hidden files and unsupported extensions are skipped during discovery and do not by themselves produce warning completion. Genuine discovery problems can produce warnings and may show View Warnings. Files without a readable video stream, damaged containers, or audio-only media can be skipped, failed, or marked Unknown. False positives can occur when coded dimensions fall inside a tolerance band but the intended display size differs (SAR, letterboxing, or player scaling). False negatives can occur when dimensions fall outside buckets, metadata is missing/wrong, or FFprobe cannot read the file. Always treat the audit as a library aid, not exhaustive verification.

Formats and offline sandbox behavior

Format coverage is constrained by the bundled FFprobe build and the app’s enabled extension list (common containers such as MP4, MOV, MKV, and related types). Analysis runs locally on your Mac with no network entitlement for scanning. Resolution Audit accesses only files and folders you explicitly select. Security-scoped access is limited to the current session and is not persisted between launches. Mounted network volumes can be scanned when macOS grants read access.

Activity Log

View → Show Activity Log (⇧⌘L) opens a separate window with scan lifecycle and diagnostic messages. The Activity Log window supports Copy All, Export, Open Log Folder, and Clear. Optional on-disk logging can be enabled in Settings → Logging; logs stay on your Mac and are not transmitted by the app.

Troubleshooting

  • If Scan stays disabled, select files or a folder first, then check the Activity Log for diagnostic messages.
  • If many files fail, check the Activity Log; FFprobe may be unable to read a video stream from that container.
  • Network/NAS scans depend on share connectivity and sandbox read access to the paths you selected.
  • Unexpected buckets can reflect coded size + tolerances, missing rotation tags, or SAR that is intentionally not applied.
  • For product questions or to report a problem, use the H61 Apps contact page and include app name, platform, version/build, and an Activity Log export when possible.

Keyboard shortcuts

Shortcuts below apply to the macOS app.

macOS

  • ⌘O Open Files…
  • ⌘⇧O Open Folder…
  • ⌘R Scan
  • ⌘. Cancel Scan
  • ⌘⇧S Export
  • ⌘⇧L Show Activity Log
  • ⌘, Settings
  • ⌘? Resolution Audit Help

Support

For product questions or to report a problem, use the H61 Apps contact page. Include the app name (Resolution Audit), platform, version or build, system version, and what happened. If you can, attach an Activity Log export.

Technical details

Cross-platform resolution auditing with platform-native implementations. The macOS version uses SwiftUI with a sandboxed bundled FFprobe 8.1.2 helper (ffprobe only; built from FFmpeg 8.1.2 source). Classification uses coded dimensions with rotation swap and does not apply sample aspect ratio. Windows builds use WinUI 3 with FFprobe-backed inspection.

Third-party notices

Resolution Audit includes a bundled FFprobe helper that runs locally on your computer to inspect video stream metadata. It does not upload your media. The app ships ffprobe only and does not ship the ffmpeg executable.

FFprobe is built from the FFmpeg 8.1.2 source package under LGPL 2.1 or later for this build (GPL and nonfree components disabled). License text and source information are included with the app. Corresponding source is published on this website.

FFmpeg project · FFmpeg corresponding source · Privacy Policy