Convert MOD to SWF — Free Online Tool

Convert MOD camcorder footage from JVC or Panasonic devices into SWF (Shockwave Flash) format, re-encoding the MPEG-2 video stream to FLV1 (Sorenson Spark) and audio to MP3 — the two codecs natively supported inside the SWF container. This is a legacy-focused conversion useful for embedding older camcorder recordings into Flash-based web players or archival multimedia projects.

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 store video as MPEG-2 in a modified MPEG-PS container, a format designed for direct recording to memory cards or hard disks in JVC and Panasonic camcorders. Because SWF does not support MPEG-2 video, the entire video stream must be fully re-encoded — there is no possibility of stream copying here. FFmpeg decodes the MPEG-2 video and re-encodes it to FLV1 (also known as Sorenson Spark, a variant of H.263), which is one of only two video codecs the SWF container accepts. The AC-3 or MPEG audio typically found in MOD files is likewise transcoded to MP3 via the LAME encoder, since SWF audio tracks must be either MP3 or AAC. The result is a self-contained SWF file that legacy Flash players and SWF-capable tools can open directly.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the open-source multimedia processing engine running under the hood of this tool via WebAssembly in your browser, or locally on your desktop if you run the command yourself.
-i input.mod Specifies the input file — a MOD file from a JVC or Panasonic camcorder containing MPEG-2 video and AC-3 or MPEG audio wrapped in a modified MPEG-PS container. FFmpeg auto-detects the format from the container structure.
-c:v flv1 Re-encodes the video stream to FLV1 (Sorenson Spark), an H.263-derived codec and one of only two video codecs supported inside the SWF container. This is mandatory since the source MPEG-2 codec is not valid in SWF.
-c:a libmp3lame Transcodes the camcorder audio (typically AC-3 or MPEG audio in MOD files) to MP3 using the LAME encoder, which is required because SWF does not support the audio codecs found natively in MOD recordings.
-q:v 5 Sets the FLV1 video quality on a scale of 1 (best) to 10 (worst), with 5 as a balanced default. Lower values produce sharper camcorder footage at the cost of a larger SWF file; this is a variable-quality parameter, not a fixed bitrate.
-b:a 128k Sets the MP3 audio bitrate to 128 kilobits per second, a standard quality level suitable for camcorder dialogue and ambient sound. Increase to 192k or 256k if the original MOD recording contains high-fidelity audio worth preserving.
output.swf Defines the output file as a SWF (Small Web Format / Shockwave Flash) file. The .swf extension signals FFmpeg to wrap the FLV1 video and MP3 audio streams into the SWF container structure recognized by Flash players and Ruffle.

Common Use Cases

  • Embedding old JVC or Panasonic camcorder footage into a legacy Flash-based website or CD-ROM multimedia project that only accepts SWF video files.
  • Archiving home video recordings from early 2000s MOD-format camcorders into SWF for playback in preserved Flash environments or emulators like Ruffle.
  • Preparing MOD camcorder clips for use in Adobe Animate (formerly Flash Professional) timelines that import SWF video assets.
  • Converting MOD footage for integration into legacy e-learning or kiosk applications built on the Flash platform that cannot parse MPEG-2 sources.
  • Creating SWF video files from camcorder recordings to test or demonstrate Flash video playback compatibility in browser emulation or QA environments.
  • Packaging MOD camcorder clips as standalone SWF files for distribution in contexts where only a Flash projector runtime is available.

Frequently Asked Questions

Yes, there will be a noticeable quality reduction. FLV1 (Sorenson Spark) is an older H.263-derived codec with lower compression efficiency than the MPEG-2 video stored in your MOD file. At the default quality setting (-q:v 5), the output is acceptable for web-scale viewing, but fine detail and motion-heavy scenes common in camcorder footage will exhibit more blocking and softness than the source. If quality is a priority, lower the -q:v value toward 1 (best quality) at the cost of a larger file.
Not directly — the audio is fully transcoded. MOD files typically carry Dolby AC-3 or MPEG Layer-2 audio, neither of which SWF supports. FFmpeg re-encodes the audio to MP3 at 128k using the LAME encoder. For typical camcorder dialogue and ambient sound, 128k MP3 is transparent enough for most listeners, but if your footage has high-quality stereo audio you want to preserve, consider raising the bitrate to 192k or 256k using the -b:a flag.
Yes. While JVC and Panasonic each had slight container variations in their MOD implementations, both store MPEG-2 video in an MPEG-PS-derived wrapper that FFmpeg handles reliably. The re-encoding path to FLV1/MP3 inside SWF is the same for both brands. If your MOD file has a companion TOD file (used for HD recordings on some models), note that TOD files contain H.264 rather than MPEG-2 and are a different format — but the FFmpeg command structure would be similar.
Change the -q:v value in the command. For SWF's FLV1 codec, -q:v accepts values from 1 (highest quality, largest file) to 10 (lowest quality, smallest file), with 5 as the default. For example, replace '-q:v 5' with '-q:v 2' to get a noticeably sharper result. You can also increase audio bitrate by changing '-b:a 128k' to '-b:a 192k' or '-b:a 256k' if the audio in your camcorder recording is a priority.
Yes, using a shell loop. On Linux or macOS, run: for f in *.mod; do ffmpeg -i "$f" -c:v flv1 -c:a libmp3lame -q:v 5 -b:a 128k "${f%.mod}.swf"; done. On Windows Command Prompt: for %f in (*.mod) do ffmpeg -i "%f" -c:v flv1 -c:a libmp3lame -q:v 5 -b:a 128k "%~nf.swf". This is especially useful for processing large collections of camcorder recordings that exceed the 1GB browser limit.
Not natively — major browsers removed Flash/SWF support in 2020 when Adobe ended Flash Player. However, the Ruffle emulator (available as a browser extension or standalone player) can play many SWF video files including those using FLV1 video. If your goal is web video playback rather than Flash-specific compatibility, you would be better served converting your MOD footage to MP4 or WebM instead of SWF.

Technical Notes

The MOD-to-SWF conversion involves two full re-encode passes — one for video (MPEG-2 → FLV1) and one for audio (AC-3 or MPEG audio → MP3) — making it more computationally intensive than a simple container remux. MOD files often carry camcorder-specific metadata such as recording date, GPS coordinates, and scene information embedded in the MPEG-PS structure; this metadata is not preserved in the SWF container, which has no equivalent metadata fields for such data. SWF's FLV1 codec does not support B-frames, which means the encoder must restructure the GOP pattern from the MPEG-2 source. MOD files recorded at interlaced resolutions (typically 720x480i or 720x576i for SD camcorders) may require a deinterlace filter for best results — add '-vf yadif' before the output filename in the command. The SWF container also does not support multiple audio tracks, chapter markers, or subtitles, so any secondary streams in the MOD file will be dropped. Output file sizes for SWF are typically comparable to or larger than the source MOD at the default quality setting, because FLV1 is less efficient than MPEG-2 at equivalent visual quality levels.

Related Tools