MXF File: What It Is, How to Open It on Mac, and How to Convert MXF to MP4
What Is an MXF File?
An MXF file is a video file in Material Exchange Format, the professional container used by broadcast cameras, editing systems and TV stations. If you've been handed a card from a Sony FX6, a Canon C300 or a Panasonic P2 camera, or an export from Avid Media Composer, you've probably found a folder of .MXF files that QuickTime refuses to open.
The short answer: MXF is a SMPTE-standardized container (ST 377) that wraps professional video, multichannel audio, timecode and metadata. The .mxf extension doesn't tell you the codec. On a Mac, open MXF in VLC, IINA, DaVinci Resolve, Premiere Pro or Final Cut Pro. To share it, convert MXF to MP4 with FFmpeg, HandBrake or Adobe Media Encoder.
MXF was developed by the Pro-MPEG Forum and the AAF Association so equipment from different manufacturers could exchange material, and SMPTE published it in 2004 (the core spec is now ST 377-1). Think of it as broadcast's equivalent of MOV or MP4: a box that says where the streams are, not how they are compressed. (If the difference between a container and a codec is fuzzy, our explainer on what a video codec is covers it.)
What an MXF file typically contains:
- Video: H.264 (Sony XAVC, Canon XF-AVC), MPEG-2 (Sony XDCAM HD), AVC-Intra (Panasonic P2), Avid DNxHD/DNxHR, JPEG 2000, ARRIRAW, and others.
- Audio: uncompressed PCM, almost always at 48 kHz and 24 bit, usually stored as several separate mono tracks rather than one stereo track.
- Timecode and reel or clip names.
- Metadata: camera settings, lens data, operator notes, and links between files that belong to the same clip.
MXF OP1a vs OP-Atom: Why One Clip Can Be Several Files
MXF defines several "operational patterns" (OPs) that describe how essence is laid out. Two matter in practice:
| OP1a (SMPTE 378M) | OP-Atom (SMPTE 390M) | |
|---|---|---|
| Layout | Video and all audio interleaved in one file | One file per track: a video MXF plus one MXF per audio channel |
| Files per clip | 1 | 1 + number of audio channels |
| Used by | Sony XAVC and XDCAM, Canon XF-AVC, broadcast delivery (for example the UK's AS-11 DPP spec) | Avid Media Composer media, Panasonic P2 cards |
| Opens in a player | Usually with sound | The video file plays silently on its own |
This causes most "my MXF has no audio" complaints: open only the video file of an OP-Atom clip and you get silent pictures. Avid stores these in Avid MediaFiles/MXF/1, and a P2 card keeps them in separate VIDEO and AUDIO folders.
Which Cameras and Workflows Produce MXF Files?
| Source | MXF codec | Pattern | Typical card folder | Can FFmpeg remux to MP4? |
|---|---|---|---|---|
| Sony XAVC Long GOP (FX6, FX9, Venice, PXW camcorders) | H.264, Long GOP | OP1a | XDROOT/Clip/ | Yes, if 8-bit 4:2:0; 10-bit 4:2:2 variants need re-encoding for most players |
| Sony XAVC Intra | H.264 intra, 10-bit 4:2:2 | OP1a | XDROOT/Clip/ | Technically yes, but most players can't decode it; re-encode |
| Sony XDCAM HD / HD422 | MPEG-2 Long GOP | OP1a | Clip/ (disc) or XDROOT/Clip/ | No, re-encode |
| Canon Cinema EOS XF-AVC (C300 Mark II/III, C500 Mark II, C70) | H.264, intra or Long GOP, usually 10-bit 4:2:2 | OP1a | CONTENTS/CLIPS001/ | Possible, but re-encode for broad playback |
| Panasonic P2 (VariCam, AJ-series camcorders) | AVC-Intra, AVC-LongG, DVCPRO HD | OP-Atom | CONTENTS/VIDEO/ + CONTENTS/AUDIO/ | No, re-encode and combine tracks |
| Avid Media Composer | DNxHD / DNxHR | OP-Atom | Avid MediaFiles/MXF/1/ | No (MP4 doesn't support DNx); remux to MOV or re-encode |
| ARRI ALEXA LF, Mini LF, ALEXA 35 | ARRIRAW | MXF | Camera media folders | No, process raw in an editor |
Two caveats. Not every Sony or Canon file is MXF: Sony's XAVC S and XAVC HS (FX3, FX30, Alpha cameras) are MP4 files under PRIVATE/M4ROOT/CLIP, and Canon's XF-AVC S and XF-HEVC S are MP4 too. And 10-bit 4:2:2 H.264 is legal in MP4 but many players, phones and browsers only decode 8-bit 4:2:0, so "just remux it" works for some MXF files and produces an unplayable MP4 for others.
Keep the whole card folder
Copy the entire card, from the root folder down, before anything else. The XML, BIM, SIF and index files next to the .MXF files tell editors how to join clips the camera split across files, and which audio files belong to which video. Copy only the MXF files and you lose metadata and may have to reassemble spanned or OP-Atom clips by hand. Premiere Pro's Media Browser, Resolve's Media page and Final Cut Pro's import window all read the card structure directly.
How to Open an MXF File on Mac
QuickTime Player generally won't open MXF, and Finder's Quick Look usually can't preview it. These apps can:
| App | Price | Best for | MXF support |
|---|---|---|---|
| VLC | Free | Quick playback | Plays most OP1a files; OP-Atom video plays without sound |
| IINA | Free | Mac-native playback | FFmpeg-based, plays the same files VLC does |
| DaVinci Resolve | Free (Studio paid) | Editing, grading, exporting MP4 | Reads OP1a and OP-Atom, XAVC, XF-AVC, P2, DNxHD |
| Adobe Premiere Pro | Subscription | Editing | Imports XDCAM, XAVC, P2 OP-Atom and Avid MXF; links audio automatically |
| Final Cut Pro | Paid | Editing | Apple lists MXF as a container and XAVC, XF-AVC, XDCAM HD/EX/HD422 and AVC-ULTRA (AVC-Intra) as supported codecs |
Final Cut Pro: use File → Import → Media and select the card, not individual MXF files. DNxHD/DNxHR isn't on Apple's supported codec list, so Avid media usually needs a codec plug-in or a transcode first.
Premiere Pro: import P2 and XDCAM through the Media Browser panel, which reads the folder structure and attaches each P2 clip's audio files. For Avid media, importing the AAF is cleaner than picking MXF files.
How to Convert MXF to MP4 with FFmpeg
FFmpeg reads every common MXF flavor and gives you control over the two things that go wrong most: the codec decision and the audio tracks. Install it with brew install ffmpeg, then look inside the file first:
ffprobe -hide_banner C0001.MXF
Check three things: the video codec (h264, mpeg2video, dnxhd), its pixel format (yuv420p vs yuv422p10le), and how many audio streams there are. A Sony clip often lists four or eight pcm_s24le streams, each with one channel.
Remux when the video is 8-bit 4:2:0 H.264
For XAVC Long GOP 4:2:0 8-bit clips, copy the video and turn the first two mono tracks into one stereo AAC track:
ffmpeg -i C0001.MXF \
-filter_complex "[0:a:0][0:a:1]amerge=inputs=2[a]" \
-map 0:v:0 -map "[a]" \
-c:v copy -c:a aac -b:a 256k \
-movflags +faststart C0001.mp4
-c:v copyputs the H.264 stream into the MP4 untouched: no quality loss and it finishes in seconds.amergemakes channel 1 the left and channel 2 the right. FFmpeg prints a warning that the input layouts overlap; that's expected with unlabeled mono tracks.join=inputs=2:channel_layout=stereodoes the same thing without the warning.- Audio must change. PCM audio inside MP4 is poorly supported, so encode it to AAC (see what is the AAC codec).
If channel 1 is a lavalier mic and channel 2 is the camera's scratch mic, you probably want only channel 1 on both sides:
ffmpeg -i C0001.MXF -map 0:v:0 -map 0:a:0 \
-c:v copy -c:a aac -b:a 192k -ac 2 C0001.mp4
-ac 2 copies the single mono track to both speakers.
Re-encode MPEG-2, AVC-Intra, XAVC Intra and 10-bit 4:2:2 footage
Everything else should be re-encoded to a codec that plays everywhere:
ffmpeg -i clip.MXF \
-filter_complex "[0:a:0][0:a:1]amerge=inputs=2[a]" \
-map 0:v:0 -map "[a]" \
-c:v libx264 -crf 18 -preset slow -pix_fmt yuv420p \
-c:a aac -b:a 256k -movflags +faststart clip.mp4
-pix_fmt yuv420p converts 10-bit 4:2:2 to 8-bit 4:2:0 so QuickTime, phones and browsers can play the result. CRF 16-18 is visually transparent for camera originals; the FFmpeg compression guide explains how CRF and presets trade size for speed.
Interlaced XDCAM HD (1080i) needs deinterlacing, or you'll see comb lines on motion. Add bwdif in the same filter graph:
ffmpeg -i clip.MXF \
-filter_complex "[0:v:0]bwdif=mode=send_frame[v];[0:a:0][0:a:1]amerge=inputs=2[a]" \
-map "[v]" -map "[a]" \
-c:v libx264 -crf 18 -preset slow -pix_fmt yuv420p \
-c:a aac -b:a 256k clip.mp4
Smaller files with HEVC on Apple silicon: swap the video options for -c:v hevc_videotoolbox -q:v 65 -tag:v hvc1 -pix_fmt yuv420p. The hvc1 tag lets QuickTime recognize the stream. See HEVC codec explained, HEVC vs H.264 and hardware vs software encoding for the trade-offs.
Combine OP-Atom files (P2 and Avid)
Feed the video file and each audio file as separate inputs. On a P2 card the audio files share the clip ID with a two-digit channel suffix:
ffmpeg -i CONTENTS/VIDEO/0001AB.MXF \
-i CONTENTS/AUDIO/0001AB00.MXF -i CONTENTS/AUDIO/0001AB01.MXF \
-filter_complex "[1:a][2:a]amerge=inputs=2[a]" \
-map 0:v -map "[a]" \
-c:v libx264 -crf 18 -pix_fmt yuv420p -c:a aac -b:a 256k 0001AB.mp4
For Avid DNxHD you can avoid re-encoding by rewrapping into MOV, which supports DNx (MP4 doesn't):
ffmpeg -i video.mxf -i audio1.mxf -i audio2.mxf \
-map 0:v -map 1:a -map 2:a -c copy clip.mov
Keep every track for editing: ProRes MOV
If the MXF is going into another editor rather than to a viewer, transcode to ProRes and keep all audio tracks separate:
ffmpeg -i C0001.MXF -map 0:v -map 0:a \
-c:v prores_ks -profile:v 3 -c:a pcm_s24le C0001.mov
Profile 3 is ProRes 422 HQ. Our ProRes guide covers which flavor to pick, and lossless video compression explains when an intermediate codec is worth the space.
Batch a whole card
From inside the Clip folder:
for f in *.MXF; do
ffmpeg -n -i "$f" \
-filter_complex "[0:a:0][0:a:1]amerge=inputs=2[a]" \
-map 0:v:0 -map "[a]" -c:v copy -c:a aac -b:a 256k \
-movflags +faststart "${f%.*}.mp4"
done
Swap -c:v copy for the libx264 options above if the clips aren't 8-bit 4:2:0 H.264. -n skips files that were already converted.
We tested every command in this section with FFmpeg 9 on generated MXF files matching each layout above (XAVC-style H.264 with mono PCM tracks, interlaced MPEG-2 4:2:2, and DNxHD OP-Atom).
Other Ways to Convert MXF to MP4
HandBrake (free)
HandBrake opens OP1a MXF files and encodes them to H.264 or HEVC MP4. Drag in the clip, choose a preset such as Fast 1080p30 or HQ 1080p30 Surround, and check two tabs before clicking Start:
- Audio: Each mono MXF track appears as a separate audio track. HandBrake can't merge two of them into one stereo track, so pick the one you need and set its mixdown to Stereo, or keep several tracks.
- Filters: Leave Interlace Detection on and set Deinterlace to Decomb or Bwdif for 1080i XDCAM footage.
HandBrake can't combine OP-Atom video and audio files, so it's a poor fit for P2 and Avid media. See how to use HandBrake and our best HandBrake settings.
Adobe Media Encoder
If you have Creative Cloud, Media Encoder reads the same MXF formats as Premiere Pro, including P2 OP-Atom with its audio. Add the clip or card folder, choose H.264 as the format and a preset like Match Source - High bitrate, and set the audio channels to Stereo in Export Settings. The Premiere Pro export settings guide covers the bitrate choices.
DaVinci Resolve (free)
Import the card on the Media page, put the clips on a timeline, then on the Deliver page set Format to MP4 and Codec to H.264 or H.265. Resolve maps camera audio channels in the clip attributes, which makes it the best free option for multichannel or OP-Atom footage. Details in our DaVinci Resolve export settings guide.
Shutter Encoder (free)
A free FFmpeg-based app for Mac and Windows. Drop MXF files in, choose H.264 or H.265 as the function, and it batches them with a GUI. Its Rewrap function changes the container without re-encoding when the codec allows.
Which MXF to MP4 tool should you use?
| Tool | Cost | Remux without re-encoding | Merge mono tracks | OP-Atom | Batch |
|---|---|---|---|---|---|
| FFmpeg | Free | Yes | Yes | Yes | Yes (scripts) |
| HandBrake | Free | No | No | No | Yes (queue) |
| Shutter Encoder | Free | Yes (Rewrap) | Audio options vary | Limited | Yes |
| DaVinci Resolve | Free / Studio | No | Yes | Yes | Yes (render queue) |
| Adobe Media Encoder | Creative Cloud | No | Yes | Yes | Yes |
| VLC | Free | No | No | No | No |
Other formats: see TS to MP4 for transport stream recordings, VOB to MP4 for DVD files, and how to convert video to MP4 for the general case. Ended up with MOV files? The MOV to MP4 converter guide covers that step, and MP4 vs MOV explains when to keep MOV.
Troubleshooting MXF Files
No sound after converting. You opened the video file of an OP-Atom clip, or your converter used an empty track. Run ffprobe and map the right audio streams explicitly.
The MP4 plays in VLC but not QuickTime or on a phone. The video was remuxed as 10-bit 4:2:2 H.264. Re-encode with -pix_fmt yuv420p.
A long take is split into several files. Cameras split recordings at file-size limits. Import the card folder into an editor, which joins them using the metadata, or join the parts in FFmpeg before converting.
Where Compresto Fits
Compresto isn't an MXF converter, and it isn't meant to replace FFmpeg, HandBrake or Resolve for the camera-file step. Do the MXF to MP4 (or MOV) conversion first with one of the tools above.
After that, Compresto helps with delivery. Camera-original footage converted at high quality makes very large MP4 and MOV files. Compresto is a native Mac app that re-encodes them with hardware-accelerated H.264 or HEVC, works through whole folders in one batch, and can target an exact output size when a client portal, email or upload form has a limit. Everything runs locally, so unreleased footage never leaves your Mac.
Frequently Asked Questions
What is an MXF file?
A professional video container standardized by SMPTE (ST 377). It holds video, multichannel audio, timecode and metadata, and can contain H.264 (XAVC, XF-AVC), MPEG-2 (XDCAM HD), AVC-Intra (P2), DNxHD/DNxHR and other codecs.
How do I open an MXF file on a Mac?
Use VLC or IINA for playback. DaVinci Resolve, Premiere Pro and Final Cut Pro all import MXF for editing. QuickTime Player generally won't open it, so convert to MP4 or MOV for Apple's built-in apps.
How do I convert MXF to MP4 without losing quality?
If the video is 8-bit H.264, copy it into an MP4 with FFmpeg's -c:v copy and encode only the audio to AAC. MPEG-2, DNxHD, AVC-Intra and 10-bit 4:2:2 video should be re-encoded at CRF 16-18, or to ProRes MOV for editing.
Why does my converted MXF file have no sound or only one channel?
Camera MXF files store each audio channel as a separate mono track. Merge the ones you want into stereo with amerge, or spread one track to both speakers with -ac 2.
What is the difference between MXF OP1a and OP-Atom?
OP1a puts video and all audio in one file; OP-Atom writes one file per track. Sony and Canon cameras use OP1a; Avid and Panasonic P2 use OP-Atom.
Can VLC convert MXF to MP4?
It can, but with little control over audio tracks and no way to combine OP-Atom files. FFmpeg, HandBrake, Shutter Encoder or Resolve give more reliable results.
The Short Version
An MXF file is a professional container, not a codec. Copy the whole card, check the codec with ffprobe, remux 8-bit H.264 straight to MP4, re-encode everything else to H.264 or HEVC 4:2:0, and merge the mono audio tracks into stereo so nothing goes silent. Then compress the result for delivery.