Open Source • Apache 2.0 • High-Speed Universal Playback Engine

The Ultimate Playback Engine for Any Image & Video

A blazing-fast, color-accurate alternative to VLC, MPV, FFplay, and QuickTime. Built for creators, studios, and power users who need synchronized stacks, interactive split wipes, 10-bit and HDR color, camera RAW, and zero-stutter playback.

OpenUTV — [A002_C305_0523UB_001.R3D • Cinema RAW 6K]
Metal GPU • 24.00 FPS Locked

Beyond Generic Media Players

Standard players like VLC, MPV, and QuickTime are great for casual videos, but fall flat when you need frame precision, multi-file comparison, or professional color accuracy.

Feature / Capability OpenUTV VLC Media Player MPV Apple QuickTime
Multi-Source Stacks & Layering ✓ Built-in Stacks
Multi-track + Blend Modes
— Single file only — Single file only — Single file only
Interactive Split Wipes ✓ Horizontal & Vertical
Real-Time Difference Comps
— None — None — None
Color Accuracy & Pipeline ✓ True ACES & OCIO v2
Display Transforms, LUTs, CDLs
— Basic sRGB / Rec.709 — LittleCMS / basic ICC — macOS ColorSync only
10-Bit Hardware Display ✓ 10-Bit Metal & Vulkan
macOS and Linux
— 8-bit dithered — Optional vo=gpu-next — Display limited
OCIO-Managed HDR ✓ HDR PQ & HLG
macOS, Set Up Through OCIO
— No OCIO — No OCIO — No OCIO
Cinema RAW (BRAW & RED R3D) ✓ Dynamic Runtime Loading
BRAW, RED R3D (IPP2)
— Unsupported — Requires custom builds — Unsupported
Apple ProRes RAW ✓ 16-Bit Half-Float Native — Unsupported — Unsupported ✓ macOS native
VFX Image Sequences (EXR / DPX) ✓ Instant Multi-Part EXR & DPX
Multi-threaded async caching
— Broken / unplayable — Basic (slow prefetch) — Unsupported
PNG Sequence Acceleration ✓ SIMD libspng (3–4× Faster) — libpng (CPU bottleneck) — Standard decode — Unsupported
Multi-Page PDF & Vector SVG ✓ Storyboards & Scripts with Crop — Unsupported — Unsupported — Separate Preview app
Professional Video I/O (SDI & NDI) ✓ NDI 6, DeckLink, AJA — None — None — None

Built for Real-Time Inspection & Review

Engineered for uncompromised frame rates, instant seek response, and multi-source creative precision.

Synchronized Stacks & Wipes

Load multiple clips, versions, or exposures simultaneously. Toggle layers with opacity, split screen with interactive horizontal/vertical wipes, or compute pixel difference comps in real time.

10-Bit & HDR Color with OCIO v2

macOS presents 10-bit SDR, EDR, HDR PQ, and HDR HLG through Metal, and Linux presents 10-bit through Vulkan. OpenColorIO v2 with an ACES 2.0 config, Look LUTs, CDLs, and channel isolation (R, G, B, A, Luma).

Color That Sets Itself Up

With an OCIO display in use, UTV picks the display and view for your presentation mode and gives each source an input from its metadata or the config's file rules. The OCIO menus show what's active, and UTV warns when a display doesn't match the presentation.

Cinema RAW & ProRes RAW

Direct dynamic runtime debayering for Blackmagic RAW (.braw), RED Digital Cinema (.r3d with IPP2 color science), and 16-bit half-float Apple ProRes RAW.

Multi-Page PDF & Vector SVG

Review scripts, storyboards, contact sheets, and lookbooks natively with auto-margin cropping alongside video assets, plus hardware-accelerated SVG vector rendering via NanoSVG.

Live Media Information Panel

Dedicated inspection panel with live playhead/viewport tracking, source clip dropdown, instant search filter across hundreds of metadata tags, and 1-click export (Text/CSV/JSON).

Annotation (Beta)

Shapes, text, input smoothing, and stamp-based brushes, with per-frame undo and redo. Turn it on in Preferences > Packages > Annotation (Beta).

Update Notifications

UTV checks GitHub for a new release at launch and tells you when one is out. Snooze it, skip that version, or upgrade through Homebrew on macOS. Windows also hears about new OpenUTVDeps releases. Check any time from Help > Check for Updates.

Windows & Linux

On Windows: a one-line install that adds its dependencies, high-DPI scaling by default, and software rendering on machines without a GPU driver. On Linux: native Wayland, and headless utvio conversion with no X server.

Diagnostics & Bug Reports

Help > Collect Diagnostics Package zips your system info, logs, and crash reports for a bug report. On Windows, a crash shows its error code instead of the app just disappearing.

Python 3 & Modern Qt 6

Modernized codebase built on Qt 6, Python 3, OpenEXR 3, and FFmpeg. Fully scriptable with custom keyboard shortcuts, viewport hooks, and studio pipeline integrations.

100% Free & Open Source

Permissive Apache 2.0 license. Apple Silicon signed and notarized (brew install --cask utv), official Windows PowerShell installer (irm https://openutv.com/install.ps1 | iex), and a Linux tarball. No telemetry or licenses.

Built for Modern VFX & Studio Pipelines

Real-world inspection tools, deep camera metadata, legal proprietary codec integration, and instant keyboard navigation.

OpenUTV Media Codecs and Third-Party SDKs Status Dialog
Click to enlarge
Zero Bloat • 100% Legal

Hardware-Accelerated Codecs & Camera RAW

OpenUTV plays through a full FFmpeg, from Homebrew on macOS and Linux and from OpenUTVDeps on Windows, and has a guided scanner for proprietary camera SDKs installed on your workstation.

  • Blackmagic RAW (BRAW): Seamlessly links to Blackmagic RAW Player runtime (v4.2+ / Resolve 19+).
  • RED Digital Cinema (R3D): Direct hardware-accelerated decode for KOMODO, V-RAPTOR, and RED ONE.
  • Apple VideoToolbox & ProRes: Zero-copy 10-bit hardware decode on Apple Silicon.
  • NDI v5/v6 IP Video: Zero-latency IP streaming input directly into the framecycler.
OpenUTV Searchable Keyboard Shortcuts HUD
Click to enlarge
Artist Muscle Memory

Instant Searchable Keyboard Shortcuts HUD

Never memorize hundreds of hotkeys or hunt through menus. Trigger the HUD anytime to search shortcuts instantly, dock it as a floating reference, or customize keybindings.

  • Real-time Filtering: Type "wipe", "channel", or "exposure" to locate commands in milliseconds.
  • Dock as Overlay: Pin the shortcuts panel directly above your viewer while learning new workflows.
  • Custom JSON Keybindings: Import, export, and reload studio-standard hotkey maps on the fly.
OpenUTV Media Information and Camera Metadata Inspector
Click to enlarge
Production Forensics

Deep Production Metadata & Camera Inspector

Access every frame's embedded EXIF, camera RAW parameters, and color flags. From cinema camera serial numbers to compression ratios and reel IDs, inspect everything in real time.

  • Live Attribute Filtering: Instant search across camera models, framerates, timecodes, and lenses.
  • One-Click JSON Export: Copy sanitized production metadata or full attribute sets straight to clipboard.
  • Active Playhead Sync: Metadata updates automatically as you scrub between different tracks or cuts.
OpenUTV Dynamic Runtime Localization Dialog in Japanese
Click to enlarge
Global Studios

Dynamic On-the-Fly UI Localization

VFX and animation are global industries. OpenUTV supports dynamic runtime switching across 8 major languages for menus, dialogs, preferences, and tooltips without requiring an app restart.

  • Supported Languages: English, Japanese, Chinese, Spanish, French, German, and more.
  • Zero Restart Needed: Menus, shortcuts, and dialog text switch immediately upon selection.
  • Contextual Preservation: Session configs and hotkeys remain completely intact across languages.

Play Any and All Media Formats

From standard consumer web video to deep-raster uncompressed cinema archives, OpenUTV opens them all instantly.

Video & Motion

Hardware-decoded high-bitrate containers, broadcast masters, and internet video codecs.

Apple ProRes (All Profiles) Avid DNxHD / DNxHR H.264 / AVC H.265 / HEVC AV1 VP9 MP4 MOV MKV WebM MXF TS / VOB Y4M

Cinema RAW & ProRes RAW

Zero-recompile dynamic runtime loading for leading digital cinema camera debayer pipelines.

Blackmagic RAW (.braw) RED Digital (.r3d IPP2) Apple ProRes RAW (16-bit)

Camera RAW (Stills)

Direct viewing and grading of RAW camera sensor captures across professional photography brands.

Sony (.arw, .sr2) Canon (.cr2, .cr3, .hif) Nikon (.nef, .nrw) Panasonic (.rw2) Hasselblad (.3fr) Phase One (.iiq) Samsung (.srw)

VFX Sequences & Vectors

High-bandwidth uncompressed image sequences with SIMD optimization and vector rendering.

OpenEXR (Deep & Multi-part) DPX & Cineon (10/12-bit) SIMD PNG (libspng 3-4x) TIFF (8/16/Float) JPEG 2000 (HTJ2K) WebP Targa (TGA) NanoSVG (.svg) QOI

Documents & Audio

Review storyboard PDFs, scripts, and contact sheets side-by-side with locked multi-channel audio.

Multi-Page PDF (Auto-Cropping) PCM WAV / AIFF FLAC Opus AAC / M4A WMA

Professional Video I/O

Broadcast monitor feeds and IP network output with zero vendor lock-in.

NDI 6 IP Video Blackmagic DeckLink (4K/8K) AJA Video Systems Dynamic Runtime Discovery

Built for Full-Resolution Playback

Hardware decode where the GPU can do it, multithreaded CPU decode where it can't, and a cache that sets itself up.

8192 × 8192 at 60 fps

A community test played 8192 × 8192 fulldome footage at 60 fps from fully cached H.264 YUV 4:4:4, on a Ryzen 9 7950X and RTX 4090. Since the upload fix in 2026.16, the RGB PNG sequence and uncompressed RGB video play at 60 fps too, up from 27–33 fps.

Hardware Decode on Every Platform

VideoToolbox is on by default on Apple Silicon, with NVDEC and VAAPI on Linux and NVDEC and D3D11VA on Windows. When the hardware can't decode a file, UTV falls back to the CPU.

Multithreaded Software Decode

H.264 and HEVC use frame threading when they decode on the CPU, so files your GPU can't handle still decode across multiple cores.

Automatic Look-Ahead Cache

UTV chooses its cache behavior from your media's metadata and decodes frames in parallel across its reader threads, with no cache settings to tune first.

SIMD-Accelerated PNG Sequences

SIMD libspng delivers 3–4× faster playback for PNG image sequences than standard libpng, preventing CPU frame drops on dense timelines.

Steady Over Long Sessions

Open FFmpeg decoders are capped, so memory stops growing during long playback. A track reuses its hardware decoder when it reopens, and EXR with WAV audio plays without stutter.

Install OpenUTV

Get up and running in seconds via your favorite package manager or direct download.

Terminal (Homebrew Cask — Recommended)
# Tap official OpenUTV repository and install signed & notarized Cask
brew tap OpenUTV/utv
brew trust openutv/utv
brew install --cask utv

# To upgrade existing installation
brew update && brew upgrade --cask utv

Requires macOS 15 Sequoia or later on Apple Silicon (arm64). Includes signed Developer ID and Apple Notarization ticket.

PowerShell (Recommended — All-in-One Installer)
# Official PowerShell One-Liner (Installs app & dependencies)
irm https://openutv.com/install.ps1 | iex

Automatically detects and installs OpenUTVDeps MSI if missing, registers Start Menu shortcuts, and configures PATH. Also available via standalone ZIP.

Homebrew on Linux (x86-64)
# 1. Install the libraries UTV uses from Homebrew on Linux
brew install qt pyside [email protected] ffmpeg openexr imath opencolorio \
    libraw libtiff libpng libspng boost openimageio openjpeg webp \
    yaml-cpp spdlog openjph jpeg-turbo glew

# 2. Download UTV-<version>-linux-x64.tar.gz from GitHub Releases and extract it

# 3. Run it
bin/utv

# Or build from source
git clone --recursive https://github.com/OpenUTV/utv.git
cd utv
./build.sh --release

The release build needs glibc 2.38 or later (Ubuntu 24.04 or newer). There is no prebuilt release for Rocky, Alma, or RHEL yet; build from source on those.

Terminal CLI & Studio Automation

Whether running OpenUTV from your terminal as a lightning-fast frame viewer or integrating it into automated studio review pipelines, OpenUTV delivers an industrial-strength CLI.

  • Command-Line CLI: Launch multi-track sequences, configure wipe relationships, apply CDLs, and load synchronized audio tracks directly from your shell.
  • Interactive Wipes via CLI: Supply multiple file paths with -wipe or -over to compare takes instantly.
  • Python 3 & Mu Scripting: Script custom review workflows, hotkeys, metadata exporters, and ShotGrid/AYON integrations.
  • Network Sync Protocol: Remotely synchronize multiple OpenUTV viewports across physical workstations for collaborative dailies.
Terminal CLI Examples
# 1. Compare two takes in an interactive split wipe
utv -wipe take_01.mov take_02.mov

# 2. Stack a comp with its audio over the plate
utv -over [ comp.####.exr mix.wav ] plate.####.exr -fps 24

# 3. Direct cinema RAW playback with camera metadata
utv /media/camera_raw/A001_C005.braw

# 4. Review multi-page storyboard PDF alongside edit
utv /docs/storyboard.pdf /cuts/scene_03.mov

Tested on Every Build

Automated checks on macOS, Windows, and Linux, plus a test media generator anyone can run.

Test Media on Demand

You don't need a folder of sample files. utv_testmedia.py in the repository builds synthetic media from more than 120 deterministic recipes, then decodes it with utvio and reports what happened.

  • Codecs & Containers: H.264, HEVC with HDR10 PQ and HLG, ProRes, DNxHR, AV1, and more.
  • Images & EXR: Every EXR compression, render layers, multi-part, and tiled files, plus DPX, TIFF, and JPEG XL.
  • Edge Cases: Variable frame rates, interlacing, odd dimensions, negative frame numbers, and Unicode paths.
  • Damaged Files: Truncated files, bit errors, and bad headers. UTV may refuse them, but a crash or hang is a failure.
Test Media Generator
cd scripts/testmedia

# See what this machine can build
python3 utv_testmedia.py doctor

# Generate a quick cross-section of formats
python3 utv_testmedia.py gen -t smoke

# Generate damaged files, then check that UTV survives them
python3 utv_testmedia.py gen -t corrupt
python3 utv_testmedia.py check -t corrupt

# Damage a copy of any file
python3 utv_testmedia.py corrupt shot.mov broken.mov \
    --op bitflip --count 500 --seed 7

CLI Smoke Tests

Every command line tool has to start, find its libraries, and exit with the expected output on macOS, Windows, and Linux. A missing library or plugin fails the build instead of reaching you.

Image Format Round Trips

Every image format utvio can write is written, read back, and compared at known pixels. A flip, a channel swap, or a truncated file fails the test.

Windows Launchers & Installer

Each Windows build runs its tools from the package as users get it, with OpenUTVDeps off PATH. Changes to the installer run it for real on a clean Windows runner.

Headless Linux

Linux builds also render a frame and repeat the smoke tests with no X server, the way a render node runs them.

Daily Homebrew Canary

UTV uses your Homebrew libraries, so a Homebrew upgrade can break a release with no change on our side. Every day a macOS runner installs the current release with that day's Homebrew and checks that it starts. If it doesn't, an issue opens automatically.

Signed, Scanned & Tracked

macOS releases are signed and notarized, and every release publishes SHA-256 checksums. CodeQL scans run weekly, and a weekly job watches OpenRV for new commits to port.

Frequently Asked Questions

Everything you need to know about OpenUTV, player comparisons, and capabilities.

How does OpenUTV compare to VLC, MPV, and QuickTime?

VLC, MPV, and QuickTime are designed for single-stream consumer video playback. They cannot layer multiple tracks in synchronized stacks, perform interactive split-screen wipes or difference blend modes, or handle uncompressed visual effects image sequences (like multi-part OpenEXR, DPX, or SIMD-accelerated PNG sequences).

OpenUTV provides 10-bit and HDR color (ACES 2.0 & OpenColorIO v2), native cinema RAW playback (Blackmagic RAW, RED R3D, ProRes RAW), multi-page PDF storyboard review, and dynamic broadcast SDI/NDI I/O—while remaining just as fast and easy to launch.

Can I use OpenUTV as my everyday player for watching videos and viewing photos?

Absolutely. OpenUTV starts in milliseconds, uses minimal system RAM, and natively plays all common video formats (MP4, MKV, MOV, WebM, H.264, HEVC, AV1, ProRes) and photo formats (JPEG, PNG, WebP, SVG, camera RAWs). Its intelligent metadata-based RAM caching ensures buttery-smooth frame scrubbing without dropped frames.

What are Stacks and Wipes, and how do they work?

Stacks allow you to load multiple media clips or sequences simultaneously into aligned parallel tracks. You can adjust opacity, reorder layers, and toggle composite blend modes (Over, Add, Difference) with audio synchronization.

Wipes provide an interactive vertical or horizontal divider that you can drag across your screen to compare two different versions, color grades, or VFX renders side-by-side on the exact same frame.

How does OpenUTV ensure 10-bit color accuracy?

On macOS, OpenUTV presents through Metal in 10-bit SDR, EDR, HDR PQ, or HDR HLG. On Linux, it presents 10-bit through Vulkan. On Windows, the default view is 8-bit OpenGL, and 10-bit output is still being finished. OpenColorIO v2 runs on the GPU with an ACES 2.0 config, CDLs, and 3D LUTs. The repository includes 10-bit test patterns for checking your display chain.

Does OpenUTV support HDR?

Yes on macOS. Set Preferences > Rendering > macOS Presentation to EDR, HDR PQ, or HDR HLG, and UTV turns on a matching OCIO display for HDR PQ and HLG. HDR presentation on Linux and Windows is planned.

Does OpenUTV run on Wayland?

Yes. On a Wayland desktop OpenUTV runs as a native Wayland application, including with fractional scaling. Set QT_QPA_PLATFORM=xcb to run it through XWayland instead.

Is OpenUTV completely free and open-source?

Yes. OpenUTV is licensed under the permissive Apache License 2.0. There is no telemetry, no node-locked licensing servers, no paid tiers, and zero cloud lock-in. It is 100% community-driven and can be deployed freely across personal machines or entire studio facilities.