Video Commander wraps FFmpeg, ffprobe, MediaInfo, VMAF, and an ISOBMFF parser in a single desktop workspace. Below is what each module does and which formats it reads.
Inspect
Open any local file, remote URL, or file in Amazon S3, Cloudflare R2 & MinIO and explore its full structure: container format, codec parameters, stream metadata, MP4 box hierarchy, hex dump, and frame-level sample tables.
Color & HDR
Read how a file signals colour: CICP primaries, transfer, and matrix, plus full or limited range. Classifies HDR10+ and Dolby Vision, reports MaxCLL, MaxFALL, and mastering display metadata, and falls back to the SPS VUI in the bitstream when the container carries no colr box.
Subtitles & Captions
Decode embedded tx3g, WebVTT, and TTML/IMSC cues with counts, timing, and language, and detect CEA-608/708 captions riding inside the video bitstream. Flags the common problems: missing language tags, null-padded 608 pairs, and caption dropouts.
Events
Find the ad-insertion markers in a stream. Decodes SCTE-35 from emsg boxes with splice points, break durations, and event IDs, shows segment-relative timing, and tells you when a splice command is encrypted rather than silently skipping it.
DRM
See which tracks are protected and how. Reports the per-track encryption scheme and version, separates clear tracks from encrypted ones, and decodes the pssh boxes to show which DRM systems a file is packaged for.
Remote Files
Browse your Amazon S3, Cloudflare R2 & MinIO buckets right inside the app and load any object into Inspect, Player, or Analyze without a full download. Sign in with your existing AWS profiles, and write finished encodes back to your bucket.
Convert
A clean FFmpeg front-end with full control over codec, resolution, bitrate, and stream mapping. Supports software and hardware encoders (VideoToolbox, NVENC, AMF, QSV), a full video filter pipeline, and shows the exact FFmpeg command before you run it.
Presets
Start from one of 30+ built-in presets, grouped by codec family and filtered as you type, including targets for YouTube, Vimeo, TikTok, Instagram Reels, X, and Discord. Save your own settings as a named preset, and import or export them as JSON to share with your team.
Batch
Queue multiple files for encoding in a single batch. Each file gets its own job with independent progress tracking, processed sequentially with shared encode settings. Set it up and walk away.
Filters
Build a video filter chain without touching FFmpeg arguments. Deinterlace, denoise, sharpen, deband, deshake, deflicker, crop, rotate, and adjust brightness, contrast, saturation, and gamma, each with configurable parameters.
Deliver
Package a master file into HLS or DASH adaptive bitrate output in one step. Configure rendition ladders, segment duration, and content encryption, and get a CDN-ready folder structure out.
Analyze
Run VMAF quality analysis against any source file. View an aggregate score summary and a per-frame quality timeline, then export results as CSV or JSON. Jobs are saved so you can reload and compare previous runs at any time.
Preview
Play back local files or remote streams directly in the app. Supports MP4, WebM, MOV, MKV, and adaptive streaming formats including HLS and DASH.
Jobs
All long-running tasks, from encodes to quality analysis to packaging, run as tracked jobs with live progress, elapsed time, and full log output. VMAF results and exports are accessible directly from the job detail view.
Manifests
Read HLS and DASH manifests as structure rather than raw text. Break a presentation into its periods, adaptation sets, and representations, with the codec, resolution, and bitrate behind every rendition, and drop to the underlying XML, JSON, or raw playlist whenever you need it.
Validate
Check HLS and DASH manifests for spec compliance and delivery issues. Detects missing segments, malformed playlists, codec inconsistencies, and more, with per-rendition filtering and optional URL reachability probing.
FFmpeg
Use the FFmpeg on your PATH, let the app install a verified build for you, or point at a custom path, and switch between them whenever you like. Every source verifies live and lists what that build actually supports: encoders, containers, hardware acceleration, and build flags.
Tools
Standalone utilities that do not need a file open. The PSSH decoder takes a base64 pssh box from a manifest, a packager log, or a bug report and tells you which DRM system it belongs to and what it contains.
Deep media inspection
Open any local file, remote URL, or file in Amazon S3, Cloudflare R2 & MinIO and explore its full structure: container format, codec parameters, stream metadata, MP4 box hierarchy, hex dump, and frame-level sample tables, down to HDR signalling, embedded captions, ad markers, and DRM protection.
Overview
Major brand & compatible brands
File size & bitrate
Duration & timescale
Fragmentation status
Faststart status & one-click remux
Timeline gap detection
Per-track stream table
Track ID, type, codec
Resolution & frame rate
Audio sample rate & channels
Encrypted-track flags
Language & sample count
Box Tree
Full ISOBMFF / MP4 box hierarchy
Box type, size, offset
Parsed field values per box type
Hex dump of raw box bytes
Expandable nested structure
Cross-link to Box Graph
Box Graph
Visual DAG of box relationships
Click-through to Box Tree
Container and leaf nodes
Zoomable & pannable canvas
Sample Tables
Frame-level sample index
Presentation timestamp (PTS)
Decode timestamp (DTS)
Sample size & file offset
Sync / keyframe flags
Hex preview of the sample bytes
Paginated for large tracks
Per-track selection
Color & HDR
CICP color primaries
Transfer characteristics
Matrix coefficients
Full / limited range
HDR10+ (ST 2094-40) detection
Dolby Vision profile & level
Dolby Vision layer configuration
MaxCLL / MaxFALL
Mastering display primaries
Mastering luminance range
Falls back to the SPS VUI with no colr box
GOP Structure
GOP count & length
Keyframe interval
Sync sample count
Frame types (I / P / B)
Sync verification
Broken sample detection
Paged across every GOP
Subtitles & Captions
tx3g, WebVTT & TTML / IMSC cues
Cue & sample counts
First / last cue timing
Track duration & language
Missing language tag warnings
Embedded CEA-608 / 708 detection
608 fields & 708 DTVCC presence
Caption dropout warnings
Null-padding detection
Events
SCTE-35 ad-insertion markers
Splice points & out-of-network flags
Break duration
Event ID & splice event ID
Scheme ID URI
Segment-relative timing
emsg message size
Encrypted splice detection
DRM
Per-track encryption scheme
cenc & cbcs, with scheme version
Clear vs protected tracks
Decoded pssh boxes per DRM system
Protection findings
Standalone PSSH decoder in Tools
HLS & DASH Manifests
HLS master & media playlists
Variant stream table
Bandwidth, resolution, codecs
Segment list with durations
Encryption key info
DASH MPD periods & adaptation sets
Representation details
SegmentTemplate attributes
Sources
Local file paths
Remote http(s):// URLs
Amazon S3, Cloudflare R2 & MinIO (s3://)
HLS .m3u8 manifests
DASH .mpd manifests
Supported file formats
Every supported format opens directly: local file, remote URL, or file in Amazon S3, Cloudflare R2 & MinIO. Inspection views adapt automatically based on the container type.
Format
Overview
Tree
Graph
Samples
Color
GOP
Subtitles
Events
DRM
Manifest
Validator
.mp4MPEG-4
.movQuickTime
.m4viTunes Video
.mkvMatroska
.aviAVI
.webmWebM
.mkaMatroska Audio
.m3u8HLS Playlist
.m3uHLS (legacy)
.mpdDASH Manifest
Color, GOP, Subtitles, Events, and DRM read structures that only the ISOBMFF family carries, and each one appears when the file actually holds that data. A clip with no captions shows no Subtitles tab.
Comprehensive encoding control
Every significant FFmpeg encoding option is exposed through a structured UI, so there are no flags to memorise. See the exact command before you run it.
Video Codecs
H.264 (libx264)
H.265 (libx265)
VP9
AV1
H.264 VideoToolbox
H.265 VideoToolbox
H.264 NVENC
H.265 NVENC
AV1 NVENC
H.264 AMF
H.265 AMF
H.264 QSV
H.265 QSV
AV1 QSV
Copy (passthrough)
Quality & Bitrate
CRF (constant quality)
Target VMAF
1-pass
2-pass
Target bitrate
Min / max rate
Buffer size
GOP size
Profile
Level
Preset
Tune
Hardware quality (VBR/CQ)
Resolution & Format
4K (3840×2160)
2K (2560×1440)
1080p
720p
480p / 360p / 240p
Custom width × height
Aspect ratio
Frame rate
Pixel format
Scaling algorithm
MP4 fast start
Filters
Deinterlace
Denoise (hqdn3d / NLMeans)
Sharpen
Deband
Deshake
Deflicker
Dejudder
Crop
Rotate & flip
Brightness / contrast
Saturation / gamma
Audio
AAC
MP3
Opus
FLAC
Copy (passthrough)
Mono / stereo / 5.1 / 7.1
Bitrate
Sample rate
Audio delay
EBU R128 loudnorm
Audio contrast
Presets
30+ built-in presets
Grouped by codec family
Searchable picker
Platform targets: YouTube, Vimeo
TikTok, Instagram Reels, X, Discord
Save your own presets
Import & export presets as JSON
FFmpeg
Use the build on your PATH
Or let the app install one for you
Or point at a custom path
Live path verification
Per-source capability listing
Video, audio & subtitle encoders
Containers (muxers)
Hardware acceleration support
Build configuration flags
Automatic install on macOS & Windows
Advanced
Container: MP4, MKV, MOV, AVI, WebM
Custom codec & container entry
Stream mapping
Trim (start / end)
Extra FFmpeg args
Live command preview
Preview encode before committing
Read from & write back to S3
Real-time progress
Full job log output
Flexible packaging options
Go from a master file to a delivery-ready package in one step. Configure rendition ladders, segment settings, and content protection without touching the command line.
Output Formats
HLS (.m3u8)
DASH (.mpd)
HLS + DASH simultaneously
Progressive MP4
CDN-ready folder structure
master.m3u8 / manifest.mpd
Adaptive Streaming
Multi-rendition ladder
240p · 360p · 480p
720p · 1080p · 1440p · 4K
Custom width × height
Per-rendition bitrate
Video codec: H.264, H.265, AV1
Audio codec: AAC, MP3, Opus
Segment Control
Segment duration (2–10 s)
VOD playlist type
Live playlist type
HLS version 6 / 7
DASH live profile
DASH on-demand profile
Progressive Download
Multi-quality MP4 output
Output name pattern
{name}, {quality}, {date} tokens
Auto-named from source file
Content Protection
AES-128 segment encryption
Key rotation interval
Custom key delivery URL
Workflow
Quick-start delivery presets
Web Streaming preset
Mobile Optimized preset
Progressive Download preset
Premium Streaming preset
Real-time packaging progress
Full job log output
HLS & DASH validation
Check manifests for spec compliance and delivery problems before they reach your CDN or players. Findings are surfaced with severity levels and per-rendition filtering, with optional URL reachability probing.
HLS_009 — discontinuity without EXT-X-DISCONTINUITY-SEQUENCE
HLS_010 — media playlist has zero segments
DASH Checks
DASH_001 — missing mediaPresentationDuration
DASH_002 — AdaptationSet has no Representations
DASH_003 — Representation missing @codecs
DASH_004 — Representation missing @bandwidth
DASH_005 — SegmentTemplate missing @initialization or @media
DASH_006 — period adjacency gap detected
DASH_007 — minBufferTime not set
DASH_008 — duplicate mimeType without @lang differentiation
Severity Levels
Error — spec violation, likely broken playback
Warning — non-fatal, may cause issues
Info — advisory, worth reviewing
URL Probing
HTTP reachability check per segment
HTTP status code reporting
Latency measurement (ms)
Unreachable segment detection
Sampled probe rate
Average latency summary
Manifest Tree
Visual manifest structure tree
Master → variant → segment hierarchy
DASH period → adaptation set → representation
Click to filter findings by node
Per-node finding indicators
Sources
Local .m3u8 and .mpd files
Remote http(s):// URLs
Auto-detected protocol (HLS / DASH)
Re-validate on demand
VMAF quality analysis
Measure perceptual video quality objectively. Compare any reference against an encoded output and get a frame-level quality timeline alongside an aggregate score summary.
Models
HD / Default
4K
Phone
Analysis Options
Reference video (source/mezzanine)
Distorted video (encoded output)
Trim: start & end time
Thread count
Scaling algorithm
Custom log path
Scaling Algorithms
Lanczos (default)
Bicubic
Bilinear
Fast bilinear
Nearest neighbor
Gaussian
Sinc
Spline
Area
Bicublin
Results
Aggregate score summary
Min, mean, max VMAF
Per-frame quality timeline
Interactive chart
File size and bitrate in result
VMAF JSON export
Job History
Persistent job history
Reload previous results
Quick-select recent encode outputs
Full log output per run
Stop stitching together CLI tools.
Video Commander is free for personal use. For client and commercial work, Pro is $39. One payment, every future update included.