Extract Audio from DVR to J2B — Free Online Tool

Extract audio from DVR recordings and save it as a J2B file using the LAME MP3 encoder. This tool strips the video stream from your DVR footage — whether captured from a digital video recorder or surveillance system — and encodes only the audio track as an MP3-based J2B file compatible with the Jazz Jackrabbit 2 game engine's ASYLUM Music 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

DVR files typically contain a video stream encoded with H.264 (libx264) or MJPEG alongside an AAC or MP3 audio track. During this conversion, the video stream is completely discarded using the -vn flag — no video decoding or encoding occurs. The audio stream (commonly AAC in DVR recordings) is then decoded and re-encoded using the LAME MP3 encoder (libmp3lame) at 128k bitrate, then wrapped in the J2B container format, which is essentially an ASYLUM Music Format file prefixed with a simple J2B header. Because both the input audio (AAC) and output (MP3 via libmp3lame) are lossy formats, this conversion involves a generation loss — the audio is decoded from AAC and re-encoded as MP3, which introduces some additional quality degradation.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the open-source multimedia processing engine running here as FFmpeg.wasm compiled to WebAssembly, executing entirely in your browser without uploading your DVR file to any server.
-i input.dvr Specifies the input file in DVR format — the proprietary container used by digital video recorders, which typically holds an H.264 or MJPEG video stream alongside an AAC or MP3 audio track.
-vn Disables video output entirely, telling FFmpeg to ignore the H.264 or MJPEG video stream in the DVR file. Since J2B is a pure audio format, this flag ensures no video processing occurs, making the conversion faster and preventing errors from an incompatible video stream.
-c:a libmp3lame Selects the LAME MP3 encoder to re-encode the DVR file's audio (typically AAC) into MP3 format, which is the only audio codec supported by the J2B container. This step involves full decoding and re-encoding, not a stream copy.
-b:a 128k Sets the MP3 audio bitrate to 128 kilobits per second — the default for J2B output. This provides a reasonable quality-to-size tradeoff for speech and ambient audio typical of DVR recordings, though 192k or 256k may be preferable for music content.
output.j2b Defines the output filename with the .j2b extension, signaling to FFmpeg that the file should be written as a J2B container — the ASYLUM Music Format-based audio file used by Jazz Jackrabbit 2, here carrying the LAME-encoded MP3 audio extracted from the DVR source.

Common Use Cases

  • Extracting a specific audio segment from a DVR surveillance recording for use as a sound effect or ambient loop in a Jazz Jackrabbit 2 custom level mod
  • Converting broadcast-captured DVR audio from a television recording into J2B format for retro game audio experimentation or demoscene projects
  • Pulling audio from a DVR recording of a live event or performance to repurpose as background music in a Jazz Jackrabbit 2 fan-made level
  • Archiving just the audio track from large DVR surveillance footage files to save storage space, in a format compatible with classic game audio pipelines
  • Testing how real-world recorded audio from DVR equipment translates into the ASYLUM-based J2B format used by Jazz Jackrabbit 2's music system
  • Stripping audio from a DVR broadcast capture to create a custom music track for a Jazz Jackrabbit 2 mod community project

Frequently Asked Questions

Yes — this conversion involves two lossy stages. DVR files typically store audio as AAC, which is already a lossy format. When FFmpeg decodes that AAC audio and re-encodes it as MP3 (libmp3lame) for the J2B output, a second generation of lossy compression is applied. The result will have slightly lower fidelity than the original DVR audio. At 128k bitrate the difference is often subtle for speech or ambient audio, but noticeable on music or high-frequency content if you listen carefully.
J2B is based on the ASYLUM Music Format, which was originally designed for synthesized tracker-style module music in Jazz Jackrabbit 2. Wrapping standard MP3 audio in a J2B header will produce a file that conforms to the container structure, but playback compatibility depends entirely on the J2B player or game engine you use — most implementations expect ASYLUM module data rather than PCM-derived MP3 audio. This conversion is best suited for experimental or modding purposes rather than expecting seamless native playback.
The -vn flag explicitly tells FFmpeg to exclude all video streams from the output, which is the most reliable way to perform audio-only extraction from a DVR file. DVR containers can carry multiple streams, and without -vn, FFmpeg might attempt to include the H.264 or MJPEG video in the output — which the J2B format cannot contain. Using -vn ensures only the audio pipeline is active, making the conversion faster and the output smaller.
Replace the 128k value in the -b:a 128k flag with your preferred bitrate. Supported options for J2B output via libmp3lame include 64k, 128k, 192k, 256k, and 320k. For example, use -b:a 320k for the highest quality MP3 encoding, or -b:a 64k to minimize file size for short clips. Keep in mind that increasing the bitrate cannot recover quality already lost by the DVR's original AAC encoding.
No. J2B is a minimal game audio container with no provision for general-purpose metadata like timestamps, channel names, or recorder identifiers. FFmpeg will not be able to embed DVR-specific metadata into the J2B output. If preserving recording metadata is important, you should log it separately before conversion, as it will not survive the format change.
Yes, with a simple shell loop. On Linux or macOS you can run: for f in *.dvr; do ffmpeg -i "$f" -vn -c:a libmp3lame -b:a 128k "${f%.dvr}.j2b"; done. On Windows Command Prompt, use a for loop: for %f in (*.dvr) do ffmpeg -i "%f" -vn -c:a libmp3lame -b:a 128k "%~nf.j2b". This is especially practical for bulk-extracting audio from a library of surveillance or broadcast DVR recordings.

Technical Notes

DVR is a proprietary container format tied to digital video recorder hardware, and its internal codec layout varies by manufacturer — though H.264 video with AAC audio is the most common configuration. Because FFmpeg's DVR demuxer may not recognize all proprietary DVR variants, some recordings may require format probing or manual stream selection. The J2B format is a niche game audio container from the late 1990s: it prefixes ASYLUM Music Format module data with a short binary header identifying it as a Jazz Jackrabbit 2 music file. Using libmp3lame to produce the audio content and wrapping it in a J2B header is technically unconventional, as the format was never designed for PCM-derived MP3 audio from real-world recordings. The -b:a 128k default provides a reasonable balance of file size and quality for MP3 output, but because DVR audio is typically already AAC-compressed at varying bitrates, the effective quality ceiling is set by the original DVR encoding. No subtitle, chapter, or multiple audio track data can be preserved, as neither the DVR source (when limited to a single audio track) nor the J2B container supports these features.

Related Tools