Two videos. One timeline. Compare them frame by frame.

VideoMelius is a Mac app for comparing two videos side by side on a single synchronized timeline. Play, pause, seek, rewind, and fast-forward both videos at once — every control applies to both players simultaneously. A zoom slider scales both video layers from 1x to 10x, and dragging pans them together so you can inspect the same region at the same magnification in both clips.

Download on the Mac App Store

Get it on the Mac App Store

Download on the Mac App Store

Fully Synchronized Side-by-Side Playback

Both videos play, pause, and seek together on a single shared timeline. Scrub the seek bar and both AVPlayers jump to the same point simultaneously. This makes before/after comparisons, encoding setting differences, and version reviews straightforward — the same moment is always visible in both panels.

Zoom and Pan Both Videos Together

A zoom slider in the control panel scales both video layers from 1x to 10x simultaneously. Drag anywhere on the video area to pan both players to the same position. Zoom level and pan offset are shared between left and right, so you always compare the same region at the same magnification.

Complete Playback Controls

The control panel at the bottom of the window provides play/pause toggle, 5-second rewind, 5-second fast-forward, and a seek bar for jumping to any point in the timeline. Current time and total duration are shown in MM:SS format. Controls appear automatically once at least one video is loaded.

Load Videos by File Picker or Drag and Drop

Click the Select Video buttons to open a file picker filtered to video files, or drag any video file from Finder directly onto the left or right video panel. A dashed border overlay appears when a file enters the drop target area. Loading a new video resets zoom, pan offset, and playback position.

Every playback action applies to both videos at once.

Seek, play, pause, rewind, and fast-forward all operate on both AVPlayers simultaneously. Seeking uses a DispatchGroup to wait for both players to finish before confirming completion. The left player (Video 1) acts as the time reference — its periodic time observer updates the current position display and drives the seek bar in real time at 0.1-second intervals.

SYNC
ZOOM

Zoom and pan are shared between left and right.

The zoom slider drives a shared scale value that is applied to both video layers via an affine transform on AVPlayerView's CALayer. Dragging calculates offset relative to the position recorded at drag start, eliminating cumulative drift. When zoom returns to 1x, the offset resets to zero and both videos return to their default centered position. Loading a new video also resets scale and offset.

Drop a file onto either panel to load it instantly.

Both the left and right video panels accept drag-and-drop from Finder. When a file enters a panel's drop zone, a dashed white border overlays the panel to indicate it is ready to receive the file. The drop handler extracts the file URL from the NSItemProvider and passes it to the same loadVideo method used by the file picker. Both loading methods produce identical results.

DROP
UI

Controls appear when needed and stay out of the way.

The playback control panel overlays the bottom of the video area and only appears when at least one video is loaded. The window enforces a minimum size of 800×600 points to ensure both video panels have enough room to compare content comfortably. Zoom and pan controls are included in the same panel to keep the interface focused on comparison.

Load two videos. Press play.
Compare the same moment side by side.

Three Steps to Start Comparing

1
Load two videos

Click Select Video #1 and Select Video #2 to open file pickers, or drag video files from Finder onto the left and right panels. Both panels accept any video format supported by AVFoundation on macOS.

2
Play, seek, and compare

Use the control panel at the bottom to play, pause, rewind, fast-forward, or scrub to any point in the timeline. Every action applies to both videos simultaneously so the same frame is always visible in both panels.

3
Zoom in to inspect details

Drag the Zoom slider to scale both videos up to 10x. Drag the video area to pan both panels to the same region. When you are done, drag the slider back to 1x to reset to full view.

Get it on the Mac App Store

Download on the Mac App Store

What Users Are Saying

"I use this to compare encoding settings — same source clip, different bitrate or codec, side by side on the same frame. The synchronized seek is the feature that makes it work. Zoom in to a busy area of the frame and you can immediately see which encoder handles it better."

— video_encoder_tanaka

"Useful for reviewing a client revision against the previous version. I can scrub through both at once and pause on any frame where something changed. Drag and drop from Finder means I can swap a clip in a few seconds without touching a menu."

— video_producer_sato

"Simple and fast. No feature bloat — it does one thing, comparing two videos, and it does it well. The shared zoom and pan is the key detail that sets it apart from just placing two video players next to each other manually."

— camera_test_yamada

Frequently Asked Questions

Find answers to common questions below.

QWhat video formats does VideoMelius support?

AVideoMelius uses AVFoundation, so it supports any video format that macOS can play — including MP4, MOV, M4V, and AVI among others. The file picker is filtered to show video files only. If a format plays in QuickTime Player on the same Mac, it will work in VideoMelius.
QWhat happens if the two videos have different durations?

AThe seek bar and time display are driven by the left video (Video 1). If the right video is shorter, it will reach its end while the left video continues. Seeking past the right video's end will simply show its last frame on the right side.
QHow do I reset the zoom and pan?

ADrag the Zoom slider back to the leftmost position (1x). This resets both scale and pan offset to their defaults, returning both videos to their original centered view. Loading a new video into either panel also resets zoom and pan automatically.
QDrag and drop is not loading my video.

A[faq4_a]
QAfter seeking, the two videos are slightly out of sync.

ABoth players seek to the same CMTime value, but the actual frame each player lands on depends on where the nearest keyframe is in each video's encoding. Videos with infrequent keyframes may show a larger discrepancy after seeking. This is a characteristic of the underlying video format rather than a bug in synchronization logic.

Get it on the Mac App Store

Download on the Mac App Store
App Gallery