Convert MOD to TS — Free Online Tool

Convert MOD camcorder footage (from JVC and Panasonic cameras) to MPEG-2 Transport Stream (.ts) format, re-encoding the MPEG-2 video to H.264 using AAC audio — making your raw camcorder clips compatible with broadcast workflows, HLS streaming, and media servers. The TS container's resilience to packet loss and support for multiple audio tracks makes it ideal for distributing footage that originated from consumer camcorder recordings.

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

MOD files are essentially MPEG-2 video wrapped in a modified MPEG Program Stream (PS) container — a format designed for local playback from camcorder storage cards. During this conversion, the MPEG-2 video stream is decoded and fully re-encoded into H.264 (libx264) at CRF 23, which significantly reduces file size while maintaining good perceptual quality. The original AC-3 or MPEG audio from the MOD file is likewise decoded and re-encoded into AAC at 128k bitrate. The output is wrapped in an MPEG-2 Transport Stream (TS) container — a fundamentally different container architecture from the PS-based MOD format, designed for streaming and broadcast rather than local file storage. TS uses fixed-size packets with error recovery metadata, making it robust for network transmission and compatible with HLS streaming pipelines.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the open-source multimedia processing engine that handles demuxing the MOD container, decoding both MPEG-2 video and camcorder audio, re-encoding them, and muxing the result into a TS file.
-i input.mod Specifies the input MOD file from your JVC or Panasonic camcorder. FFmpeg automatically detects the modified MPEG Program Stream container and identifies the MPEG-2 video and audio streams inside it.
-c:v libx264 Re-encodes the MPEG-2 video from the MOD file into H.264 using the libx264 encoder. This is a full transcode — not a copy — because MPEG-2 video cannot simply be remuxed into a TS file intended for modern H.264-based broadcast and streaming workflows.
-c:a aac Re-encodes the camcorder's original AC-3 or MPEG Layer II audio into AAC (Advanced Audio Codec) using FFmpeg's native AAC encoder. AAC is the standard audio codec for HLS streaming and broadcast TS delivery, replacing the AC-3 audio typically found in MOD files.
-crf 23 Sets the Constant Rate Factor for the libx264 H.264 encode to 23, which is the default quality level — a good balance between file size and visual quality for converted camcorder footage. Lower values (e.g., 18) produce higher quality at larger file sizes.
-b:a 128k Sets the AAC audio output bitrate to 128 kilobits per second, which is standard for stereo audio in streaming and broadcast contexts. This is slightly lower than the AC-3 audio bitrate often used in MOD recordings; increase to 192k or 256k if dialogue or music fidelity is important.
output.ts Specifies the output filename with the .ts extension, which tells FFmpeg to mux the encoded H.264 video and AAC audio into an MPEG-2 Transport Stream container — the broadcast and HLS-compatible format used by television systems and streaming servers worldwide.

Common Use Cases

  • Preparing JVC or Panasonic camcorder footage for upload to a broadcast playout system or IPTV server that requires TS-packaged H.264 content
  • Converting MOD clips into HLS-compatible .ts segments as part of a video-on-demand workflow for web streaming
  • Archiving old camcorder footage from MOD-format SD cards into a more universally supported container while reducing the large file sizes typical of MPEG-2 encoded video
  • Ingesting consumer camcorder footage into a media server (like Plex or Emby) that handles TS streams more reliably than the obscure MOD format
  • Preparing raw camcorder footage for editing in software that supports TS input but lacks native MOD demuxer support
  • Converting MOD holiday or event recordings to TS for use with digital video recorders or set-top boxes that expect transport stream delivery

Frequently Asked Questions

Yes, some quality loss is inevitable because the conversion involves decoding the original MPEG-2 video from the MOD file and re-encoding it to H.264. This is a lossy-to-lossy transcode. However, H.264 at CRF 23 is generally more efficient than MPEG-2 at equivalent visual quality, so the output may actually look comparable to the source at a significantly smaller file size. If quality is critical, you can lower the CRF value (e.g., to 18) in the FFmpeg command to produce a higher-quality encode at the cost of a larger file.
MOD files store video as MPEG-2, which is an older, less efficient codec that requires high bitrates to maintain quality — consumer camcorders typically record at 8–15 Mbps. H.264 (libx264) achieves similar perceptual quality at roughly half that bitrate due to superior compression algorithms. The resulting TS file at CRF 23 will typically be 40–60% smaller than the original MOD file for the same duration of footage.
Most MOD camcorders record audio as Dolby Digital AC-3 stereo at 256k or as MPEG Layer II audio. During this conversion, that audio stream is decoded and re-encoded to AAC at 128k stereo. The stereo channel layout is preserved, but the 128k default bitrate is a step down from the original AC-3 bitrate. If you want higher audio fidelity, you can increase the bitrate to 192k or 256k by modifying the -b:a flag in the FFmpeg command.
Yes. On Linux or macOS you can run a shell loop: `for f in *.MOD; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.MOD}.ts"; done`. On Windows Command Prompt, use: `for %f in (*.MOD) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.ts"`. This processes each MOD file in the current directory and outputs a corresponding .ts file.
Yes — TS is the native segment container for HLS (HTTP Live Streaming). When an HLS stream is segmented with tools like ffmpeg's hls muxer, each segment is a .ts file containing H.264 video and AAC audio, which is exactly what this conversion produces. If you are feeding these files into an HLS packaging tool, this MOD-to-TS conversion gives you the correctly encoded segments ready for segmentation and playlist generation.
CRF (Constant Rate Factor) controls the quality-to-file-size tradeoff for libx264. Lower values mean higher quality and larger files; higher values mean smaller files with more compression. The default CRF 23 is a reasonable middle ground for archiving camcorder footage. For near-lossless output from your MOD source, use -crf 18; for smaller files acceptable for web streaming, try -crf 28. The full command with a custom CRF would look like: `ffmpeg -i input.mod -c:v libx264 -c:a aac -crf 18 -b:a 128k output.ts`.

Technical Notes

MOD is a container format used exclusively by JVC (Everio series) and some Panasonic camcorders. It stores MPEG-2 video in a Program Stream (PS) structure — essentially a renamed .mpg file — with audio encoded in AC-3 or MPEG Layer II. The MPEG-2 Transport Stream (TS) format, by contrast, uses a fundamentally different packetization scheme: fixed 188-byte packets with Program Association Tables (PAT) and Program Map Tables (PMT), designed for error-resilient transmission over lossy networks. This conversion does not support copying any stream without re-encoding, because the MOD's MPEG-2 video must be transcoded to H.264 to fit within the TS container's expected codec profile for modern playback and streaming compatibility. Metadata from the MOD file (such as recording date/time embedded in the camcorder firmware) is generally not preserved in the TS output, as TS has no standardized container-level metadata fields for this data. Subtitle support, which TS natively offers, is not applicable here since MOD files do not carry subtitle streams. Files with interlaced MPEG-2 video (common on older JVC camcorders) will be passed through to the encoder as interlaced unless you add deinterlacing flags like -vf yadif to the command.

Related Tools