Extract Audio from FLV to J2B — Free Online Tool
Extract audio from FLV (Flash Video) files and save it as J2B, the ASYLUM-based music format used by Jazz Jackrabbit 2. The tool re-encodes the FLV's AAC or MP3 audio stream using the LAME MP3 encoder, producing a J2B-wrapped MP3 that matches the game's expected audio container.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your FLV file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
FLV files typically carry audio encoded in either AAC or MP3 (via libmp3lame). J2B is not a standard multimedia container — it is the proprietary audio format used by Jazz Jackrabbit 2, consisting of ASYLUM Music Format data wrapped in a simple custom header. Because FFmpeg treats J2B output as an MP3-compatible stream wrapped in that container, the conversion process discards the FLV video stream entirely using the -vn flag, then re-encodes the audio through the LAME MP3 encoder regardless of the original FLV audio codec. If the source audio was already MP3, this still involves a full decode-and-reencode cycle, introducing a small amount of generational quality loss. The result is an MP3 audio stream packaged with the J2B header structure at the target bitrate you specify.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg tool, which handles the entire conversion pipeline — reading the FLV container, decoding the audio stream, re-encoding it with LAME, and writing the J2B output. |
-i input.flv
|
Specifies the input Flash Video file. FFmpeg reads the FLV container and identifies the contained streams, which typically include an H.264 or native FLV video track and an AAC or MP3 audio track. |
-vn
|
Disables video output entirely, ensuring no video stream from the FLV is included in the J2B file. This is required because J2B is a game audio-only format with no support for video data. |
-c:a libmp3lame
|
Selects the LAME MP3 encoder for the audio output stream. Regardless of whether the FLV source used AAC or MP3, the audio is fully decoded and re-encoded to MP3 using LAME, as MP3 is the audio codec underpinning FFmpeg's J2B output. |
-b:a 128k
|
Sets the MP3 output bitrate to 128 kilobits per second, which is the default balance between file size and audio fidelity. For higher-quality J2B output — particularly if the source FLV audio was encoded at a high bitrate — this can be raised to 192k, 256k, or 320k. |
output.j2b
|
Specifies the output filename with the .j2b extension, which tells FFmpeg to use the J2B muxer and wrap the LAME-encoded MP3 audio stream in the Jazz Jackrabbit 2 audio container format. |
Common Use Cases
- Modding Jazz Jackrabbit 2 by replacing in-game music with audio ripped from FLV cutscenes or promotional Flash videos from the late 1990s and early 2000s.
- Archiving era-appropriate Flash game audio in J2B format for use in JJ2-compatible level editors and fan-made episode packs.
- Converting FLV recordings of Jazz Jackrabbit 2 gameplay commentary or speedruns into J2B audio clips for use as in-game sound replacements.
- Extracting background music from old Flash web games or animations (distributed as FLV) and repackaging them in J2B for use in JJ2 custom levels.
- Testing JJ2 level audio pipelines by generating J2B files from arbitrary FLV sources without needing a dedicated tracker or module editor.
- Producing J2B audio assets from FLV tutorial or demo videos to prototype custom JJ2 level soundtracks before committing to final module music.
Frequently Asked Questions
J2B files in Jazz Jackrabbit 2 are natively based on the ASYLUM Music Format, which is a tracker module format — not MP3. FFmpeg can write files with a .j2b extension using the LAME encoder, but the resulting file is an MP3 stream with a minimal J2B-style wrapper, not a true ASYLUM module. Whether JJ2 or its level editors will accept this depends on the specific version of the game and any mods or patches installed that add MP3 playback support. For strict compatibility with unmodified JJ2, you would need a genuine ASYLUM module rather than an MP3 conversion.
Yes, this conversion always involves lossy re-encoding. FLV files commonly store audio as AAC or MP3, and the J2B output uses the LAME MP3 encoder at the specified bitrate (default 128k). If the source FLV used AAC, the audio is decoded from AAC and re-encoded to MP3, which is a lossy transcode between two different lossy codecs. If the source was already MP3, it still goes through a full decode-reencode cycle, causing generational quality loss. To minimize degradation, choose a higher output bitrate such as 192k or 320k, particularly if the original FLV audio was encoded at a high bitrate.
J2B is a purely audio format — it has no provision for video data whatsoever, as it was designed to carry music tracks for a 2D platformer game. The -vn flag in the FFmpeg command explicitly instructs FFmpeg to ignore all video streams from the FLV input. Without this flag, FFmpeg would attempt to mux video into the output, which J2B cannot accommodate and would cause an error or a corrupt output file.
The bitrate is controlled by the -b:a flag in the command. To change it, replace the 128k value with any supported option: 64k for a very small file, 192k or 256k for noticeably better quality, or 320k for the highest MP3 bitrate available. For example: ffmpeg -i input.flv -vn -c:a libmp3lame -b:a 256k output.j2b. Keep in mind that increasing the bitrate cannot recover detail that was already lost in the original FLV encoding, so the gains are most meaningful when the source FLV audio is high quality.
Yes, on the command line you can process multiple files using a shell loop. On Linux or macOS: for f in *.flv; do ffmpeg -i "$f" -vn -c:a libmp3lame -b:a 128k "${f%.flv}.j2b"; done. On Windows Command Prompt: for %f in (*.flv) do ffmpeg -i "%f" -vn -c:a libmp3lame -b:a 128k "%~nf.j2b". The browser-based tool on this page processes one file at a time, so the command-line approach is recommended when you need to convert a large batch of FLV files.
FLV files can carry basic metadata tags such as title, author, and duration embedded in the container. When FFmpeg re-encodes to J2B via the LAME encoder, standard ID3-style metadata may or may not be preserved depending on FFmpeg's handling of the J2B muxer. In practice, J2B is not designed to carry rich metadata — it is a game audio format, not a general-purpose music container — so you should not rely on tag preservation. If metadata is important, extract the audio to a standard MP3 first, tag it with a dedicated tool, and then rename or rewrap as needed.
Technical Notes
J2B is an extremely niche audio container tied specifically to Jazz Jackrabbit 2, built around the ASYLUM Music Format which is itself a variant of tracker module music. FFmpeg's ability to write .j2b files is limited — it treats the format as an MP3-compatible audio stream rather than generating a true ASYLUM tracker module, meaning the output is fundamentally an MP3 with J2B framing rather than a native module. FLV input adds another layer of complexity: the Flash Video container supports both AAC (via libfaac or the native FFmpeg AAC encoder) and MP3 (via libmp3lame) as audio codecs, and the conversion path differs slightly depending on which was used in the source file. In both cases, a full lossy transcode through libmp3lame is required. The -vn flag is essential since FLV almost always contains a video stream and J2B is audio-only. There is no lossless path for this conversion — both FLV audio codecs and the MP3 output are inherently lossy. File sizes will generally be smaller than the original FLV since the video stream is removed and only the audio bitstream remains, typically resulting in files in the range of 1–8 MB for a typical song-length track at 128k.