Convert MXF to M2TS — Free Online Tool

Convert MXF broadcast media files to M2TS (Blu-ray BDAV) format, re-encoding the video with H.264 and the audio with AAC for compatibility with Blu-ray authoring tools and AVCHD-compatible devices. This conversion bridges professional broadcast production workflows with consumer and prosumer Blu-ray distribution formats.

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 is a professional wrapper format commonly used in broadcast environments, often containing video encoded with MPEG-2, MJPEG, or H.264 alongside PCM audio tracks. M2TS uses the MPEG-2 Transport Stream structure designed for Blu-ray and AVCHD. Because MXF's default audio codec (PCM) is not natively supported in M2TS, the audio must be transcoded to AAC. The video is re-encoded from whatever codec is in the MXF source into H.264 using libx264, which is the standard video codec for M2TS on Blu-ray and AVCHD. This is a full transcode — both video and audio streams are decoded and re-encoded — so processing time and output quality depend on your source material and the CRF quality setting. MXF-specific metadata such as timecodes and production metadata embedded in the MXF wrapper are not carried over into M2TS, as the M2TS container does not support those metadata structures.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which handles the full decode-encode pipeline for this MXF-to-M2TS transcode. In the browser version, this runs via FFmpeg.wasm compiled to WebAssembly, with no server involvement.
-i input.mxf Specifies the MXF source file as the input. FFmpeg will demux the MXF container to extract the video (typically H.264, MPEG-2, or MJPEG) and audio (typically PCM) elementary streams for re-encoding.
-c:v libx264 Re-encodes the video stream using the libx264 H.264 encoder. This is necessary because M2TS uses H.264 as its primary video codec, and MXF sources frequently contain MPEG-2 or MJPEG video that must be transcoded rather than copied.
-c:a aac Transcodes the audio to AAC using FFmpeg's native AAC encoder. MXF broadcast files typically contain uncompressed PCM audio which is incompatible with the M2TS/BDAV container, making this transcode mandatory.
-crf 23 Sets the H.264 constant rate factor to 23, the libx264 default, which provides a good balance of visual quality and file size for most broadcast-originated MXF content. Lower values like 18 preserve more detail from high-quality MXF sources.
-b:a 128k Sets the AAC audio output bitrate to 128 kilobits per second. This is appropriate for dialogue-heavy broadcast content; increase to 192k or 256k if the MXF source contains high-quality music or multi-channel audio beds.
output.m2ts Defines the output file with the .m2ts extension, which tells FFmpeg to wrap the encoded H.264 video and AAC audio into the MPEG-2 Transport Stream structure used by Blu-ray (BDAV) and AVCHD devices.

Common Use Cases

  • Preparing broadcast-originated MXF footage from a professional camera or ingest system for Blu-ray disc authoring using tools like Adobe Encore or Sony DVD Architect
  • Converting MXF files recorded by broadcast cameras (e.g., Sony XDCAM or Panasonic P2) for playback on AVCHD-compatible Blu-ray players or Sony camcorder review decks
  • Archiving finished broadcast program deliverables from MXF into M2TS for long-term Blu-ray disc storage with wide hardware compatibility
  • Packaging MXF content for delivery to a client whose post-production system or playback pipeline expects BDAV M2TS format rather than MXF
  • Converting news or sports broadcast MXF clips into M2TS for integration into a Blu-ray-based screener or press kit
  • Transcoding MXF rushes containing PCM audio into M2TS with AAC audio to reduce file size while maintaining high-definition video quality for review copies

Frequently Asked Questions

Some quality loss is expected because both the video and audio streams are re-encoded. The video is transcoded to H.264 using a CRF value of 23 by default, which produces visually good quality but is lossy compared to uncompressed or lossless sources. If your MXF source contains lossless PCM audio, that will be converted to AAC at 128k by default, which introduces minor audible compression. For higher fidelity, lower the CRF value (e.g., CRF 18) and raise the audio bitrate in the FFmpeg command.
No. MXF is a metadata-rich format that supports timecode, reel names, production metadata, and other broadcast-specific descriptors. The M2TS container is a transport stream format designed for Blu-ray playback and does not have equivalent fields for most of this metadata. During the FFmpeg conversion, MXF-specific metadata is discarded. If preserving timecode or production metadata is critical, you should archive the original MXF files separately.
MXF files from broadcast cameras typically carry PCM audio (pcm_s16le or pcm_s24le), which is an uncompressed format. The M2TS container as implemented in FFmpeg does not support raw PCM audio; the BDAV specification uses compressed audio formats like AAC, AC-3, or DTS. AAC is chosen as the default because it offers a good balance of compatibility and quality for M2TS playback on Blu-ray players. You can substitute other supported codecs like libopus or flac in the FFmpeg command if your playback device supports them.
Yes. The video quality is controlled by the -crf flag — lower values (e.g., -crf 18) produce higher quality at larger file sizes, while higher values (e.g., -crf 28) reduce file size with more compression. The audio bitrate is set with -b:a; replacing 128k with 256k or 320k will noticeably improve audio quality for music or effects-heavy content. For example: ffmpeg -i input.mxf -c:v libx264 -c:a aac -crf 18 -b:a 256k output.m2ts
Yes. On Linux or macOS you can use a shell loop: for f in *.mxf; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.mxf}.m2ts"; done. On Windows Command Prompt, use: for %f in (*.mxf) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.m2ts". This is especially useful when processing large batches of broadcast clips that exceed the 1GB in-browser limit.
Both MXF and M2TS support multiple audio tracks, but FFmpeg will by default only map the first detected audio stream unless you explicitly specify additional mappings. To include multiple audio tracks, add -map 0:v -map 0:a to your command before the output filename, which instructs FFmpeg to include all video and audio streams from the MXF source. Each audio track will be transcoded to AAC individually.

Technical Notes

MXF-to-M2TS conversion involves a full transcode of both video and audio streams — there is no opportunity for stream copying because MXF's typical broadcast codecs (MPEG-2, MJPEG) and audio formats (PCM) are either not valid in M2TS or require re-wrapping with a different audio codec. The libx264 encoder used here produces H.264 video compliant with Blu-ray profile constraints at CRF 23, though for strict Blu-ray disc authoring you may need to constrain the bitrate (using -maxrate and -bufsize) and set the H.264 profile explicitly with -profile:v high -level 4.1 to match Blu-ray specification limits. The M2TS container supports subtitles (PGS format), but this tool does not pass through MXF subtitle or caption data since MXF subtitle support in FFmpeg is limited. File sizes will vary significantly depending on the source MXF codec: converting from a high-bitrate MPEG-2 MXF at CRF 23 will produce a much smaller M2TS file, while converting from an already-compressed H.264 MXF may result in quality degradation if the source bitrate was already low. The transport stream structure of M2TS also adds minor overhead in the form of MPEG-2 TS packets and PAT/PMT tables, which is negligible for most files but means M2TS files are not byte-for-byte identical to raw elementary streams.

Related Tools