Video formats are confusing because people use the terms wrong. MP4 is not a codec. H.264 is not a container. ProRes is not a file extension. This conflation causes real problems: editors choose the wrong export settings, clients can't open deliverables, and timelines stutter because the editing codec demands too much from the CPU.
This guide separates the container from the codec, maps each combination to its purpose in the editing pipeline, and gives you the actual export settings for every common delivery scenario. No ambiguity, no "it depends" without saying what it depends on.
Containers vs Codecs: The Critical Distinction
A container (MP4, MOV, MKV, AVI) is the packaging. It holds video, audio, subtitles, and metadata in a structured file. Think of it as a ZIP file for media streams.
A codec (H.264, H.265, ProRes, DNxHR, VP9, AV1) is the compression algorithm that encodes/decodes the actual video data inside the container.
The same codec can live in different containers. H.264 video can be in an MP4, MOV, or MKV container. The visual quality is identical — the container affects metadata support, subtitle handling, and player compatibility, not the image itself.
Common Containers
| Container | Extension | Common Codecs Inside | Primary Use |
|---|---|---|---|
| MPEG-4 Part 14 | .mp4 | H.264, H.265, AAC | Web delivery, universal playback |
| QuickTime | .mov | ProRes, H.264, H.265, PCM | Apple ecosystem, professional editing |
| Matroska | .mkv | H.264, H.265, VP9, AV1, FLAC | Archival, multi-track (multiple audio/subtitle tracks) |
| AVI | .avi | Various (legacy) | Legacy Windows, avoid for new work |
| WebM | .webm | VP8, VP9, AV1, Opus | Web video (open/royalty-free) |
| Flash Video | .flv | H.264, VP6 | Dead format, conversion only |
Common Codecs
| Codec | Type | Bitrate (1080p) | CPU Decode | Best For |
|---|---|---|---|---|
| H.264 (AVC) | Lossy, interframe | 5–50 Mbps | Low (HW accel everywhere) | Web delivery, general use |
| H.265 (HEVC) | Lossy, interframe | 3–30 Mbps | Medium | 4K delivery, archival |
| ProRes 422 | Lossy, intraframe | ~150 Mbps | Medium | Editing, Apple handoff |
| ProRes 4444 | Lossy, intraframe | ~330 Mbps | Medium-High | VFX, alpha channels |
| DNxHR HQ | Lossy, intraframe | ~150 Mbps | Medium | Editing, Avid workflows |
| VP9 | Lossy, interframe | 3–30 Mbps | Medium | YouTube (re-encoded server-side) |
| AV1 | Lossy, interframe | 2–20 Mbps | High (improving) | Next-gen web, streaming |
Intraframe vs Interframe: Intraframe codecs (ProRes, DNxHR) compress each frame independently. Scrubbing the timeline is instant because any frame can be decoded alone. Interframe codecs (H.264, H.265) compress across frames — a given frame might depend on 15 others. Scrubbing requires decoding entire frame groups, which is why H.264 timelines stutter on slower hardware.
Ingest: Camera to Timeline
What your camera records determines your ingest workflow.
Camera Recording Formats
Consumer cameras / phones: H.264 or H.265 in MP4 container. 8-bit 4:2:0 color. Highly compressed (20–50Mbps at 4K). Editable directly but may stutter on complex timelines.
Mirrorless / cinema cameras: H.264/H.265 internally, ProRes or RAW externally (via HDMI to recorder). Sony records XAVC (H.264/H.265 variant in MP4), Canon records H.265 in MOV, Blackmagic records BRAW (Blackmagic RAW, proprietary). RED cameras record REDCODE RAW (.R3D).
ProRes from camera: Some cameras record ProRes internally (Blackmagic Pocket, Nikon Z8/Z9, Canon R5 C). These files are huge (ProRes 422 HQ at 4K = ~110GB/hour) but edit beautifully with zero transcoding.
Proxy Workflows
Why proxies: H.264/H.265 4K footage from consumer cameras is CPU-intensive to decode during editing. If your timeline stutters, the solution isn't a faster computer — it's proxies.
How it works: Transcode camera files to a lower-resolution editing codec (ProRes Proxy at 1080p, or DNxHR LB). Edit with proxies, then relink to originals for final export. DaVinci Resolve, Premiere Pro, and Final Cut Pro all have built-in proxy workflows.
Proxy specs: ProRes Proxy at 1080p = ~5GB/hour (vs ~40GB/hour for 4K H.264 source). DNxHR LB at 1080p is comparable. The quality looks rough at full screen but is perfectly fine for editing decisions. You only see the proxies during editing — the final export uses original quality.
Convert MP4 to MOV | Convert MKV to MP4 | Convert AVI to MP4
Timeline: Project File Formats
Each NLE (Non-Linear Editor) stores its project state in a proprietary format. These files don't contain video data — they reference source files and store edit decisions.
NLE Project Files
DaVinci Resolve (.drp / .drb): Binary project database. Stored locally or on a PostgreSQL server for multi-user collaboration. Not portable as a single file — use "Export Project" to create a shareable .drp.
Premiere Pro (.prproj): Gzipped XML. Can be unzipped and text-edited in emergencies (fixing broken media links, for instance). Media Cache (.mcdb, .ims) files are separate and regenerated automatically.
Final Cut Pro (.fcpbundle): macOS bundle (folder disguised as a file) containing XML project data, render files, and optionally the source media itself ("Managed" media). Self-contained projects are portable; event-referenced projects break when media moves.
Cross-NLE exchange: AAF (Advanced Authoring Format) and XML (FCPXML, Premiere XML) carry edit decisions between tools. They preserve cuts, basic transitions, and timing but lose effects, grades, and complex composites. Use these for handoff between editors on different NLEs, not for final delivery.
Intermediate Codecs: ProRes and DNxHR
Intermediate codecs are designed for editing and post-production handoff, not delivery. They prioritize decode speed and quality preservation over file size.
ProRes Variants
| Variant | Bitrate (1080p) | Bitrate (4K) | Use Case |
|---|---|---|---|
| ProRes Proxy | ~45 Mbps | ~180 Mbps | Offline editing proxies |
| ProRes LT | ~100 Mbps | ~400 Mbps | Budget-conscious editing |
| ProRes 422 | ~150 Mbps | ~600 Mbps | Standard editing, handoff |
| ProRes 422 HQ | ~220 Mbps | ~880 Mbps | High-quality editing, grading |
| ProRes 4444 | ~330 Mbps | ~1.3 Gbps | VFX, compositing, alpha |
| ProRes 4444 XQ | ~500 Mbps | ~2 Gbps | HDR, extreme grading |
ProRes 422 is the standard for professional handoff. If someone says "send me ProRes," they mean ProRes 422 in a .mov container. ProRes 4444 adds an alpha channel and 4:4:4 color subsampling — use for compositing deliveries (VFX plates, motion graphics overlays).
DNxHR Variants
Avid's answer to ProRes. Functionally equivalent quality and performance. DNxHR is cross-platform (ProRes encoding was historically macOS-only, though FFmpeg now encodes ProRes on any OS).
DNxHR LB (Low Bandwidth) = ProRes Proxy equivalent. DNxHR SQ (Standard Quality) = ProRes 422 equivalent. DNxHR HQ (High Quality) = ProRes 422 HQ equivalent. DNxHR HQX = ProRes 4444 equivalent (12-bit, 4:2:2). DNxHR 444 = ProRes 4444 equivalent (4:4:4 + alpha).
Export: Delivery Specs
Export settings depend entirely on where the video goes next.
Web Delivery (YouTube, Vimeo, Social)
YouTube upload: H.264 in MP4 at the highest quality you can manage. YouTube re-encodes everything to VP9 (or AV1 for popular videos) regardless of what you upload. Uploading ProRes or high-bitrate H.264 gives YouTube's encoder the best source material. Minimum: 1080p H.264 at 10Mbps. Recommended: 4K H.264 at 40–50Mbps (YouTube allocates more bitrate to 4K uploads even for 1080p viewers).
Vimeo: Same as YouTube. H.264 MP4, highest quality you can upload within their file size limits.
General web (self-hosted): H.264 MP4, CRF 18–23 (lower = better quality, larger file). Two-pass encoding for fixed bitrate control. Audio: AAC 192–256kbps stereo. Add -movflags +faststart in FFmpeg to move the moov atom to the beginning (enables progressive playback before full download).
Convert MOV to MP4 | Convert MKV to MP4 | Convert WebM to MP4
Professional Handoff
Post house / colorist: ProRes 422 HQ or ProRes 4444 in MOV. Full resolution, no scaling. Include handles (extra frames before first cut and after last cut, typically 24–48 frames). Separate audio tracks, not mixed down.
Sound designer: Video: ProRes Proxy or H.264 (reference only). Audio: WAV 48kHz 24-bit stems. Separate dialogue, music, and SFX tracks. Include a 2-pop (1kHz tone at exactly -2 seconds) for sync reference.
Broadcaster: Varies by network. Common: ProRes 422 HQ in MOV, 1080i or 1080p, 48kHz audio. Some require specific loudness (ATSC A/85: -24 LKFS in US, EBU R128: -23 LUFS in Europe). Always ask for the delivery spec document — every broadcaster has one.
Archival
Master archive: ProRes 422 HQ in MOV for the finished program. H.265 CRF 16–18 in MKV for space-efficient archival (50–70% smaller than ProRes with imperceptible quality loss). Keep separate audio stems as WAV files alongside the video master.
Storage math: A 10-minute 4K ProRes 422 HQ master: ~33GB. Same content as H.265 CRF 18: ~8GB. H.264 CRF 18: ~12GB. For long-term archival, H.265 offers the best space efficiency while maintaining quality sufficient for future re-editing or re-delivery.
Convert MP4 to MKV | Convert MOV to MKV
Audio Formats in Video Production
Audio in video production follows its own format rules, often overlooked until something goes wrong in the mix.
Audio Specs for Video
Production audio: WAV 48kHz 24-bit (film/video standard). Not 44.1kHz (that's CD/music). 48kHz aligns with video frame rates. 24-bit gives 144dB dynamic range, which matters for location recording where levels can't be perfectly controlled.
In the timeline: Most NLEs use WAV or AIFF internally. AAC and MP3 are decoded to PCM on import. If you import compressed audio, it's already losslessly expanded in the timeline — no quality difference during editing.
Delivery audio: AAC 192–256kbps for web delivery (inside the MP4). WAV 48kHz 24-bit stems for professional handoff. Dolby Digital (AC3) or DTS for broadcast/disc. Separate music, dialogue, effects, and mix stems.
Extract MP3 from MP4 | Extract WAV from MP4 | Extract MP3 from MOV
Video format mastery comes down to understanding one concept: the right format changes at each pipeline stage. Camera-native codecs are designed for recording efficiency, not editing performance. Intermediate codecs are designed for editing performance, not delivery file size. Delivery codecs are designed for playback compatibility and file size, not editing.
Use each format where it belongs, and the technical headaches disappear. When you need to move between stages, ChangeThisFile converts between video containers and codecs using FFmpeg on the server side.