Extract Audio from TS to J2B — Free Online Tool
Extract audio from a TS (MPEG-2 Transport Stream) broadcast file and save it as a J2B file — the ASYLUM Music Format-based audio container used by Jazz Jackrabbit 2. The conversion strips the video stream entirely and re-encodes the audio to MP3 using the LAME encoder, producing a J2B-compatible output.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your TS 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
TS files are broadcast containers that typically carry multiplexed video and audio streams — often AAC or AC3 audio alongside H.264 or H.265 video. During this conversion, FFmpeg demultiplexes the transport stream, discards all video packets entirely (using -vn), and re-encodes only the audio track using the LAME MP3 encoder (libmp3lame). The resulting audio is then written with a .j2b extension. J2B is a niche game audio format from Jazz Jackrabbit 2 that wraps ASYLUM module music, but because it uses MP3-compatible encoding at its core, FFmpeg can write audio data into this container. The re-encoding step means there is a generation of lossy compression applied regardless of the original audio codec in the TS file.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg tool, which handles the full pipeline of demuxing the TS transport stream, discarding video, decoding the audio, re-encoding it as MP3, and writing the J2B output file. |
-i input.ts
|
Specifies the input MPEG-2 Transport Stream file. FFmpeg will parse the TS container's PAT and PMT tables to identify all multiplexed video, audio, and subtitle streams before processing begins. |
-vn
|
Disables video output entirely, instructing FFmpeg to ignore all video streams found in the TS file. This is essential for audio-only extraction since J2B is a pure audio container with no video support. |
-c:a libmp3lame
|
Selects the LAME MP3 encoder to re-encode the audio track. J2B's container structure requires MP3-encoded audio via libmp3lame — it is the only audio codec FFmpeg supports for writing J2B output, regardless of whether the source TS audio was AAC, AC3, or another codec. |
-b:a 128k
|
Sets the MP3 audio bitrate to 128 kilobits per second in the J2B output. This is a standard mid-range bitrate suitable for most game audio use cases; increase to 256k or 320k if the source TS audio contains high-quality music or dialogue that warrants better fidelity. |
output.j2b
|
Defines the output filename and triggers FFmpeg to use the J2B muxer based on the .j2b file extension. The resulting file will contain the MP3-encoded audio in the ASYLUM Music Format wrapper used by Jazz Jackrabbit 2. |
Common Use Cases
- Extracting music or sound effects from recorded broadcast TS files for use or playback in Jazz Jackrabbit 2 game modding projects
- Converting a captured live-stream or HLS recording in TS format into a J2B audio file for use in retro game audio experiments or custom game levels
- Stripping the audio track from a broadcast television TS recording to produce a standalone MP3-encoded file wrapped in the J2B container for niche audio players that support the format
- Batch-processing TS recordings from a DVR or broadcast capture card to produce J2B audio files for a Jazz Jackrabbit 2 custom level pack
- Isolating commentary or dialogue from a TS sports or news broadcast to create source audio for a game mod or retro multimedia project using the J2B format
Frequently Asked Questions
Yes, there will always be some quality loss in this conversion. TS files commonly carry AAC or AC3 audio, both of which are already lossy formats. Re-encoding that audio through the LAME MP3 encoder introduces an additional generation of lossy compression, which can introduce subtle artifacts — particularly in high-frequency content. Using a higher bitrate like 256k or 320k in the FFmpeg command will minimize audible degradation, but transcoding from one lossy codec to another always involves some quality tradeoff.
No. J2B is a single-track audio container with no support for multiple audio streams. TS files from broadcast sources often carry several audio tracks — for example, multiple language dubs or a separate descriptive audio track. FFmpeg will default to encoding only the first detected audio track. If you need a specific track from your TS file, you can add '-map 0:a:1' (or whichever track index you need) to the FFmpeg command before the output filename.
Yes. The '-b:a 128k' flag controls the MP3 bitrate in the output J2B file. You can replace '128k' with any supported value such as '192k', '256k', or '320k' for higher quality, or '64k' or '96k' for smaller file sizes. For example: 'ffmpeg -i input.ts -vn -c:a libmp3lame -b:a 320k output.j2b'. Keep in mind that the J2B format's use case is game audio, so extremely high bitrates may be unnecessary depending on how the file is consumed.
Subtitle tracks are silently discarded during this conversion. TS files support embedded subtitles, but J2B is a pure audio-only format with no subtitle or metadata container structure capable of holding them. The -vn flag drops video, and since no subtitle mapping is specified, FFmpeg will omit them automatically. If preserving subtitles matters, you would need to extract them separately using a different FFmpeg command before running this audio extraction.
Yes, you can adapt the displayed FFmpeg command into a shell loop for batch processing on your desktop. On Linux or macOS, you can run: 'for f in *.ts; do ffmpeg -i "$f" -vn -c:a libmp3lame -b:a 128k "${f%.ts}.j2b"; done'. On Windows Command Prompt, use: 'for %f in (*.ts) do ffmpeg -i "%f" -vn -c:a libmp3lame -b:a 128k "%~nf.j2b"'. This is especially useful for processing large collections of TS recordings from a broadcast capture device or DVR.
J2B is a container format originally designed for the Jazz Jackrabbit 2 game engine, wrapping ASYLUM Music Format data with a simple file header. Because FFmpeg writes the audio data using the LAME MP3 encoder and outputs it with the .j2b extension, the resulting file is technically J2B-formatted output as understood by FFmpeg's muxer — but it will only be useful in contexts that specifically expect J2B audio, such as Jazz Jackrabbit 2 modding tools. Renaming the file to .mp3 would not necessarily make it a valid standard MP3 due to the container wrapper.
Technical Notes
The J2B format is one of the most obscure output targets in FFmpeg's muxer list, tied specifically to the Jazz Jackrabbit 2 game engine's use of the ASYLUM Music Format. FFmpeg supports writing J2B output exclusively through the libmp3lame encoder — no other audio codec (including AAC, Opus, FLAC, or AC3) is compatible with this container, which is why the conversion always re-encodes regardless of the source codec in the TS file. TS files are designed for broadcast and streaming resilience, carrying PCR (Program Clock Reference) timestamps and PAT/PMT tables that are stripped during demuxing and have no relevance in the output. Metadata such as program names, stream identifiers, and broadcast timestamps embedded in the TS container will not be carried through to J2B, which has no equivalent metadata structure. If the source TS file contains multiple audio tracks at different sample rates or channel counts, FFmpeg will encode only the default stream; the LAME encoder will handle stereo or mono channel layouts from the source, but surround-sound AC3 tracks (common in broadcast TS) will be automatically downmixed. File size of the J2B output will typically be much smaller than the TS source due to video removal and will scale linearly with the audio bitrate selected.