MOV/QuickTime Format: The Complete Technical Guide
MOV is Apple's QuickTime Movie container format, introduced with QuickTime 1.0 in 1991. It was one of the first software-based digital video formats and served as the technical foundation for the ISO MPEG-4 Part 12 (MP4) container standard. Despite MP4's dominance in distribution, MOV remains the native output format of macOS video applications, Final Cut Pro, and virtually all Apple camera APIs, and is the de facto format for professional video capture on Apple Silicon devices.
Historical Context
Apple designed QuickTime in 1990 as a multimedia framework for Macintosh computers. The MOV container (formally the QuickTime File Format, QTFF) was the storage format. QuickTime's box-based architecture was later standardized by ISO as the base for MP4 (MPEG-4 Part 12, ISO/IEC 14496-12), which in turn became the basis for HEIF, AVIF, and numerous other modern formats. Apple contributed the QuickTime File Format to ISO in 2001. The result: MOV and MP4 are architecturally almost identical — both use the same atom/box structure.
MOV File Structure: Atoms
MOV uses a hierarchical atom structure. Every atom consists of:
- Size (4 bytes): Total atom size in bytes, including the header. If size=1, the actual size is in the next 8 bytes (extended size). If size=0, the atom extends to end of file.
- Type (4 bytes): Four-character code (FourCC) identifying the atom type
- Data: Payload, which may contain nested atoms
Key atoms in a typical MOV file:
ftyp (File Type): First atom. Identifies the file type (qt for QuickTime) and compatible brands. MP4 files use isom, mp41, mp42.
moov (Movie): Container for all movie metadata. Must be present before playback begins. For web delivery, moov placement at the start (fast-start) is critical.
moov → mvhd (Movie Header): Duration, time scale, creation/modification dates, preferred volume, preferred rate, preview time, poster time, transformation matrix.
moov → trak (Track): One per media track (video, audio, subtitles, timecode). Contains:
tkhd(Track Header): Track ID, duration, dimensions, transformation matrixmdia(Media): Containsmdhd(media header with language),hdlr(handler type: vide/soun/text),minf(media information)minf → stbl(Sample Table): The core data location table:stsd(Sample Description): Codec-specific data (visual sample entry, audio sample entry)stts(Time-to-Sample): Maps decode timestamps to samplesctts(Composition Time Offset): Maps decode timestamps to presentation timestamps (for B-frames)stss(Sync Sample): List of keyframe positions (for seeking)stsc(Sample-to-Chunk): Maps samples to chunksstsz(Sample Size): Size of each samplestco/co64(Chunk Offset): Byte offsets of each chunk in the file
mdat (Media Data): The actual encoded audio/video data. May appear before or after moov.
udta (User Data): Metadata atoms including ©nam (title), ©ART (artist), ©alb (album), ©day (date), covr (cover art in iTunes-style MP4).
QuickTime vs MP4 Differences
Despite the common architecture, MOV and MP4 have real differences:
| Feature | MOV (QuickTime) | MP4 (ISOBMFF) |
|---|---|---|
ftyp brand |
qt |
isom, mp41, mp42 |
| Codec support | ProRes, DNxHD, Apple Animation, RPZA | H.264, H.265, AV1, AAC, MP3 |
| Metadata | QuickTime metadata atoms (©xxx) |
iTunes-style udta/meta/ilst |
| Edit lists | elst atom, fully supported |
elst often ignored by players |
| Subtitle tracks | QuickTime Text, MPEG-4 Timed Text | MPEG-4 Timed Text, TX3G |
| DRM | FairPlay (iTunes) | Various |
| Reference movies | ✓ (QuickTime-specific) | ✗ |
| Apple ProRes | ✓ Native | ✓ (newer players) |
The practical consequence: .mov files using Apple ProRes or QuickTime codecs are not universally playable outside macOS/iOS and QuickTime Player. Converting to H.264 or H.265 in .mp4 provides maximum compatibility.
Apple ProRes in MOV
Apple ProRes is the professional intermediate codec that makes MOV indispensable in video production:
| ProRes Variant | Data Rate (1080p 29.97) | Use Case |
|---|---|---|
| ProRes 422 Proxy | ~45 Mbps | Offline editing proxy |
| ProRes 422 LT | ~102 Mbps | Storage-constrained editing |
| ProRes 422 | ~147 Mbps | Standard broadcast editing |
| ProRes 422 HQ | ~220 Mbps | High-quality broadcast |
| ProRes 4444 | ~330 Mbps | Compositing with alpha channel |
| ProRes 4444 XQ | ~500 Mbps | Maximum quality compositing |
| ProRes RAW | Variable | RAW sensor data from cameras |
ProRes is visually lossless within a generation, handles multi-generation encoding better than H.264, supports 4:4:4 color and alpha channels, and decodes in real time on Apple Silicon using hardware acceleration.
Converting MOV Files
# MOV (ProRes) to MP4 H.264 for distribution
ffmpeg -i input.mov -c:v libx264 -crf 18 -c:a aac -b:a 192k output.mp4
# MOV to MP4 H.265 (smaller, better quality)
ffmpeg -i input.mov -c:v libx265 -crf 22 -c:a aac -b:a 192k output.mp4
# MOV to MP4 without re-encoding (if codec is compatible)
ffmpeg -i input.mov -c:v copy -c:a copy output.mp4
# Add fast-start for web streaming (moov atom moved to front)
ffmpeg -i input.mov -c:v libx264 -crf 20 -movflags +faststart output.mp4
# MOV to GIF (looping)
ffmpeg -i input.mov -vf "fps=15,scale=480:-1:flags=lanczos" -loop 0 output.gif
# MOV to WebM (VP9 + Opus)
ffmpeg -i input.mov -c:v libvpx-vp9 -crf 30 -b:v 0 -c:a libopus -b:a 128k output.webm
# Extract audio track from MOV
ffmpeg -i input.mov -vn -c:a copy output.m4a
# iPhone HEVC MOV to H.264 MP4
ffmpeg -i iphone_video.mov -c:v libx264 -crf 23 -c:a aac output.mp4
# Batch convert MOV to MP4 in current directory
for f in *.mov; do ffmpeg -i "$f" -c:v libx264 -crf 18 -movflags +faststart "${f%.mov}.mp4"; done
Timecode Track
MOV has native timecode track support (tmcd track handler). Professional cameras (RED, ARRI, Sony Venice) embed SMPTE timecode in a dedicated MOV track for frame-accurate editing synchronization. The tmcd track stores:
- Start timecode (HH:MM:SS:FF format)
- Frame rate
- Drop-frame flag (for NTSC 29.97/59.94 drop-frame)
- Discontinuity flags for multi-reel projects
Final Cut Pro and DaVinci Resolve read and write MOV timecode tracks natively.
Reference Movies and Media Packages
QuickTime supports reference movies — MOV files that contain only metadata pointing to external media files. A reference movie can list multiple alternate tracks (different bitrates, languages) and the QuickTime player selects the appropriate one. This mechanism was the predecessor of modern adaptive streaming (HLS, DASH).
Related conversions
Common video conversions that pair well with this guide: