Convert MXF to J2B — Free Online Tool

Convert MXF broadcast files to J2B game audio format, extracting the audio stream and re-encoding it to MP3 using the LAME encoder. This niche conversion strips the professional video container and multi-track PCM or AAC audio down to a single lossy MP3 stream wrapped in the Jazz Jackrabbit 2 J2B header format.

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 (Material Exchange Format) is a professional broadcast container that can hold video streams (H.264, MPEG-2, MJPEG), multiple audio tracks in PCM or AAC, timecode data, and rich production metadata. During this conversion, the video stream and all metadata are discarded entirely — only the first audio track is extracted. That audio is then re-encoded from its source codec (typically 16-bit PCM at broadcast quality) into MP3 using the libmp3lame encoder at 128k bitrate, and wrapped in the J2B container header used by the Jazz Jackrabbit 2 game engine. Because J2B supports only a single audio track and no video or subtitle data, this is a lossy, audio-only extraction — nothing from the MXF's broadcast metadata, timecode, or secondary audio tracks is carried over.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg multimedia processing tool. This conversion runs entirely in your browser via FFmpeg.wasm, a WebAssembly port of the same FFmpeg binary you would use on the command line.
-i input.mxf Specifies the input MXF file. FFmpeg reads the Material Exchange Format container, identifies all streams (typically H.264 or MPEG-2 video plus PCM or AAC audio tracks, timecode, and metadata), and makes them available for mapping to the output.
-c:a libmp3lame Selects the LAME MP3 encoder for the audio stream. Since J2B only supports MP3 audio (libmp3lame), this re-encodes the MXF source audio — typically uncompressed PCM from a broadcast recording — into lossy MP3, which is the only codec J2B can contain.
-b:a 128k Sets the MP3 audio bitrate to 128 kilobits per second. This is the default for J2B output and produces a file suitable for game audio playback, though it represents a significant quality reduction from the lossless PCM audio typically found in broadcast MXF sources.
output.j2b Defines the output filename and tells FFmpeg to write the result in J2B format. The .j2b extension signals FFmpeg to use the Jazz Jackrabbit 2 container muxer, which wraps the encoded MP3 stream in the ASYLUM Music Format header structure expected by the JJ2 game engine.

Common Use Cases

  • Extracting a music or sound cue from a professionally recorded MXF broadcast file to use as a custom music track in a Jazz Jackrabbit 2 mod or level
  • Converting a broadcast-recorded audio bed or jingle stored in MXF into a J2B file for integration with legacy JJ2 game audio toolchains
  • Repurposing high-quality PCM audio captured in an MXF production recording into the compressed MP3-based J2B format for use in game modding communities
  • Archiving or experimenting with retro game audio formats by feeding professionally sourced MXF audio through the J2B pipeline for research or preservation projects
  • Testing FFmpeg's audio transcoding pipeline from broadcast-grade PCM sources down to low-bitrate MP3 outputs in the context of unusual or legacy container formats

Frequently Asked Questions

No. J2B is a purely audio format used by the Jazz Jackrabbit 2 game engine and has no capacity to store video, subtitles, chapters, or metadata. FFmpeg automatically omits the video stream when targeting J2B because there is no valid video codec mapping for this container. Only the first audio track from the MXF file is extracted and re-encoded.
By default, FFmpeg selects the first audio stream it finds in the MXF file. MXF files used in broadcast production often carry multiple audio tracks (e.g., stereo mix, dual-mono, or language alternates). J2B supports only a single audio track, so secondary tracks are silently discarded. If you need a specific track, you can modify the command locally using the '-map 0:a:1' flag (replacing '1' with the zero-indexed track number you want).
Significant quality reduction occurs. MXF files in broadcast workflows typically carry uncompressed 16-bit or 24-bit PCM audio, which is lossless and transparent. Converting to MP3 at 128k introduces lossy compression artifacts, especially in high-frequency content and transient-heavy material. For music or dialogue that needs to be recognizable rather than archival-quality, 128k MP3 is generally acceptable, but it is far below the fidelity of the source PCM. If J2B tooling supports it, increasing the bitrate to 192k or 256k in the command will improve output quality.
J2B files are natively understood by the Jazz Jackrabbit 2 game engine and supporting modding tools. Because the format is essentially an MP3 stream wrapped in a simple proprietary header, some audio players and tools that understand the ASYLUM Music Format wrapper can open them, but general-purpose media players typically do not recognize the .j2b extension. The format is highly niche and its use outside of JJ2 modding and game audio preservation is extremely limited.
The '-b:a 128k' flag controls the MP3 output bitrate. You can replace '128k' with a higher value such as '192k', '256k', or '320k' to improve audio quality at the cost of a larger file size. For example: 'ffmpeg -i input.mxf -c:a libmp3lame -b:a 256k output.j2b'. Note that J2B is intended for game use where file size matters, and very high bitrates may not be compatible with all JJ2 engine versions or modding tools.
No. MXF is notable for its rich metadata support including SMPTE timecode, reel information, production descriptors, and editorial metadata. None of this survives the conversion to J2B. The J2B format has no metadata fields beyond its minimal game-audio header, so all broadcast metadata from the MXF source is permanently discarded in the output file.

Technical Notes

This conversion involves two very different worlds: MXF is a SMPTE-standardized professional broadcast container designed for interchange between cameras, editing systems, and playout servers, while J2B is an obscure game audio format from the late 1990s tied to a single game engine. FFmpeg handles J2B output by encoding the audio with libmp3lame — the standard open-source LAME MP3 encoder — and writing the resulting MP3 data into the J2B wrapper. The source audio in MXF files is most commonly uncompressed PCM (pcm_s16le at 48kHz for broadcast, or pcm_s24le for higher-grade productions), meaning the transcoding step involves genuine lossy compression rather than a simple remux. The default 128k bitrate is modest; for music-like content sourced from high-quality MXF recordings, 192k or higher is recommended if the target tooling supports it. MXF's multi-track audio capability (common in broadcast for carrying stereo plus dual-mono or multi-language stems) is reduced to a single stream in J2B, so track selection matters. No video, timecode, GOP structure, or editorial metadata from the MXF is accessible or preserved in the output. Users processing files from professional cameras (e.g., Sony XDCAM, Avid DNxHD MXF op-atom) should be aware that op-atom MXF files separate audio and video into distinct files, so the audio-only MXF variant will convert cleanly without needing to explicitly discard video.

Related Tools