Convert MXF to M4B — Free Online Tool

Convert MXF broadcast media files to M4B audiobook format by extracting and re-encoding the audio track to AAC, discarding the video stream entirely. Ideal for repurposing professional production recordings — such as studio-recorded narration or interview audio — into a chapter-capable, podcast-ready audiobook container.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

MXF files typically carry professional-grade audio encoded as PCM (uncompressed, either 16-bit or 24-bit) alongside a video track encoded in H.264, MJPEG, or MPEG-2. Since M4B is a purely audio container with no video support, the video stream is completely dropped during this conversion. The PCM audio is decoded and re-encoded to AAC at 128k bitrate — a lossy compression step that significantly reduces file size while retaining good perceptual quality for spoken-word content. The output is wrapped in an MPEG-4 container with the -movflags +faststart optimization, which moves the metadata index to the beginning of the file, enabling streaming playback and fast seeking in audiobook players. M4B's chapter support is preserved as a container feature, though chapter markers must be embedded separately via metadata if needed.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — in the browser this runs as FFmpeg.wasm compiled to WebAssembly, while on desktop it is the native FFmpeg executable. All subsequent flags are interpreted by this tool.
-i input.mxf Specifies the input MXF file. FFmpeg probes the container to identify all streams — typically a video track (H.264, MJPEG, or MPEG-2) and one or more PCM audio tracks — before processing begins.
-c:a aac Sets the audio codec to AAC (Advanced Audio Coding), which is the only practical audio codec for M4B files. Since the MXF source carries uncompressed PCM audio, this triggers a full decode-and-re-encode step rather than a simple stream copy.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second. For spoken-word audiobook content — the primary use case for M4B — 128k AAC provides good perceptual quality while keeping file sizes manageable for distribution and download.
-movflags +faststart Moves the MOOV atom (the file's metadata index) to the beginning of the M4B file after encoding is complete. This is required for M4B files to stream correctly and for Apple Books and podcast apps to seek chapters without fully downloading the file first.
output.m4b Defines the output filename with the .m4b extension. FFmpeg uses this extension to select the MPEG-4 container muxer and suppresses the video stream automatically, since M4B has no registered video codec support — only the re-encoded AAC audio track is written to the file.

Common Use Cases

  • Repurposing a professionally recorded studio narration session (captured in MXF via a broadcast camera or recorder) into an M4B audiobook for distribution on platforms like Apple Books or Libro.fm
  • Converting MXF interview recordings from a broadcast production into chapter-segmented M4B podcasts that support bookmarking on iPhone and Apple Podcasts
  • Extracting the PCM audio track from an MXF edit master of a documentary narration to create a portable M4B file for offline listening without carrying the large video file
  • Transforming MXF files from a broadcast-grade audio recorder (such as a Sound Devices unit) into M4B format for audiobook producers who need AAC-encoded deliverables
  • Archiving spoken-word content from legacy MXF broadcast recordings into the M4B format, which is more widely supported by consumer devices and media players than MXF
  • Converting MXF files from a post-production workflow into M4B for final delivery to an audiobook publisher whose ingest system requires MPEG-4 audio containers

Frequently Asked Questions

Yes — this conversion involves a lossy transcoding step. MXF files commonly store audio as uncompressed PCM (pcm_s16le or pcm_s24le), and converting to M4B requires encoding that audio to AAC at 128k bitrate. For spoken-word content like audiobooks and podcasts, AAC 128k is generally considered transparent — most listeners cannot distinguish it from the source. However, if you need a higher-fidelity output, you can increase the bitrate to 192k or 256k in the FFmpeg command using the -b:a flag.
No — M4B is a purely audio container and cannot hold video streams. The FFmpeg command automatically drops the video track and extracts only the audio. No explicit flag is needed to suppress the video because M4B has no video codec support; FFmpeg infers that only audio should be mapped to the output container.
No. MXF is a metadata-rich format that can carry SMPTE timecode, reel names, descriptive metadata, and OP-Atom track information — none of which has a meaningful equivalent in the M4B container. M4B supports ID3-style tags such as title, author, and album, but the conversion does not automatically map MXF metadata to these fields. If preserving metadata is important, you would need to write M4B tags manually using FFmpeg's -metadata flag after the conversion.
M4B does natively support chapters, which is one of its defining features for audiobook use. However, this FFmpeg command does not automatically generate chapter markers — they must be defined explicitly using a chapter metadata file passed via the -i flag alongside your MXF input. If your MXF source has multiple audio segments you want to divide into chapters, you would need to create an FFmpeg metadata file specifying the CHAPTER start and end times in milliseconds, then merge it with the audio during conversion.
Replace the value after -b:a in the command to adjust the AAC bitrate. For example, change -b:a 128k to -b:a 192k or -b:a 256k for higher quality output — useful if the source MXF contains music or high-fidelity narration rather than standard spoken word. You can also switch to a variable bitrate approach by replacing -b:a with -q:a and a quality value (e.g., -q:a 1 for high quality), though -b:a with a fixed rate is more predictable for audiobook delivery specifications.
Yes — on the command line, you can loop over multiple MXF files using a shell script. On Linux or macOS, run: for f in *.mxf; do ffmpeg -i "$f" -c:a aac -b:a 128k -movflags +faststart "${f%.mxf}.m4b"; done. On Windows PowerShell, use: Get-ChildItem *.mxf | ForEach-Object { ffmpeg -i $_.FullName -c:a aac -b:a 128k -movflags +faststart ($_.BaseName + '.m4b') }. The browser-based tool processes one file at a time, so the desktop FFmpeg command is the better option for bulk conversion of large MXF archives.

Technical Notes

MXF (Material Exchange Format) is designed for professional broadcast and post-production environments, where audio is almost always stored as uncompressed PCM — either 16-bit (pcm_s16le) or 24-bit (pcm_s24le) — at sampling rates of 48kHz, which is the broadcast standard. M4B uses AAC as its primary codec inside an MPEG-4 container, which is lossy by design; there is no lossless path from MXF to M4B. The default 128k AAC bitrate in this command is appropriate for mono or stereo spoken-word audiobooks, but if the source MXF contains stereo music beds or high-quality narration, consider 192k or 256k. M4B does not support multiple audio tracks — if your MXF source contains multiple discrete audio channels (e.g., dual-mono tracks from a broadcast recorder), FFmpeg will default to the first audio stream. Use -map 0:a:0 or -map 0:a:1 explicitly if you need to select a specific track. The -movflags +faststart flag rewrites the MOOV atom to the front of the file, which is essential for M4B files intended for streaming or playback on iOS devices, as the Apple Books app and Podcasts app rely on this structure for responsive seeking. Files processed in the browser are handled entirely via FFmpeg.wasm and never leave your machine; however, for MXF files exceeding 1GB — common in broadcast production — running the command locally via desktop FFmpeg is recommended for reliable performance.

Related Tools