Convert SWF to MPEG — Free Online Tool

Convert SWF Flash animations and video content to MPEG format using MPEG-2 video and MP2 audio codecs — the same compression standards used in DVD and broadcast television. This tool extracts the FLV1 or MJPEG video streams embedded in your SWF file and re-encodes them into a universally compatible MPEG container, making legacy Flash content playable on virtually any media player or device.

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

SWF files are not simple video containers — they are executable Flash applications that may embed video encoded in FLV1 (Sorenson Spark) or MJPEG alongside ActionScript interactivity, vector graphics, and audio compressed with MP3 or AAC. FFmpeg decodes the embedded video and audio streams from the SWF, discarding the interactive and vector elements which have no equivalent in MPEG. The video is then re-encoded using the MPEG-2 video codec (mpeg2video) and the audio is re-encoded using MPEG-1 Audio Layer II (MP2), producing a standard .mpeg file compliant with broadcast and DVD specifications. Because both the video and audio codecs differ from SWF's native formats, this is a full transcode — not a remux — meaning every frame is decoded and re-encoded, which takes more processing time but produces a clean, widely compatible output.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg program, which handles the demuxing of the SWF container, decoding of its embedded FLV1/MJPEG video and MP3/AAC audio, and re-encoding into MPEG-2 video and MP2 audio.
-i input.swf Specifies the input SWF file. FFmpeg's SWF demuxer reads the file, identifies any embedded video streams (FLV1 or MJPEG) and audio streams (MP3 or AAC), and prepares them for decoding and transcoding.
-c:v mpeg2video Sets the output video codec to MPEG-2, the same video compression standard used in DVDs and broadcast television. This re-encodes the SWF's embedded FLV1 or MJPEG video frames into the MPEG-2 format expected by the .mpeg container.
-c:a mp2 Sets the output audio codec to MPEG-1 Audio Layer II (MP2), the standard audio format paired with MPEG-2 video in broadcast and DVD specifications. The SWF's original MP3 or AAC audio is fully re-encoded to MP2.
-q:v 2 Sets the MPEG-2 video quality on a scale of 1 (best) to 31 (worst). A value of 2 targets near-maximum quality with variable bitrate encoding, appropriate for preserving the visual fidelity of Flash content in the MPEG output.
-b:a 192k Sets the MP2 audio bitrate to 192 kilobits per second, which is the broadcast-standard bitrate for MP2 audio and typically higher than the MP3 audio bitrates commonly used in Flash SWF files, ensuring the audio quality is not degraded in the output.
output.mpeg Specifies the output filename with the .mpeg extension, which tells FFmpeg to write a standard MPEG program stream container holding the MPEG-2 video and MP2 audio tracks produced by this conversion.

Common Use Cases

  • Preserving legacy Flash-based educational animations or training videos before they become completely inaccessible, converting them to MPEG for long-term archival on DVD or in media libraries
  • Converting old Flash game cinematics or cutscenes extracted from SWF files into MPEG format for use in video essays or retrospective documentary projects
  • Preparing Flash-era web video content for playback on older televisions, DVD players, or set-top boxes that natively support MPEG-2 but cannot run Flash
  • Re-encoding SWF product demos or marketing animations from the mid-2000s into MPEG so they can be ingested into broadcast-ready editing workflows
  • Extracting and converting animated SWF banner ads or explainer videos into MPEG for use in digital signage systems that require MPEG-2 streams
  • Recovering video content from SWF files downloaded before Flash's end-of-life and converting them to MPEG for compatibility with media servers and legacy playback systems

Frequently Asked Questions

No — and this is a fundamental limitation of the conversion, not a flaw in the tool. SWF files can contain ActionScript code, clickable buttons, timeline interactivity, and vector drawing instructions that have absolutely no equivalent in the MPEG format. Only the rendered video frames and audio stream are extracted and re-encoded. What you get in the MPEG is essentially a 'flat' recording of the visual output of the Flash content, without any interactive behavior.
SWF content is often based on vector graphics, which are resolution-independent and mathematically sharp at any size. When FFmpeg rasterizes the SWF for encoding into MPEG-2, the vector art is rendered at a fixed pixel resolution and then compressed using lossy MPEG-2 compression. This means smooth curves and crisp text in the original Flash animation may appear slightly softer or show compression artifacts in the MPEG output. Lowering the -q:v value toward 1 in the FFmpeg command will increase quality and reduce visible artifacts at the cost of a larger file.
MPEG-1 Audio Layer II (MP2) is the standard audio codec defined in the MPEG-1 and MPEG-2 specifications and is the correct pairing for MPEG-2 video in broadcast and DVD contexts. While MP3 (MPEG-1 Layer III) and AAC are technically muxable into an MPEG container, MP2 ensures maximum compatibility with hardware players, broadcast systems, and legacy editing tools that expect standards-compliant MPEG streams. The original SWF audio (typically MP3 or AAC) is fully re-encoded to MP2 during this conversion.
To change video quality, modify the -q:v value: lower numbers like 1 give higher quality and larger files, while values up to 31 reduce quality and file size — the default of 2 is near the high-quality end of the scale. To change audio bitrate, replace 192k in -b:a 192k with a value like 128k for smaller files or 256k for better fidelity. For example: ffmpeg -i input.swf -c:v mpeg2video -c:a mp2 -q:v 4 -b:a 128k output.mpeg would produce a smaller, slightly lower-quality file.
Yes — on the command line you can use a shell loop to process multiple files. On Linux or macOS, run: for f in *.swf; do ffmpeg -i "$f" -c:v mpeg2video -c:a mp2 -q:v 2 -b:a 192k "${f%.swf}.mpeg"; done. On Windows Command Prompt, use: for %f in (*.swf) do ffmpeg -i "%f" -c:v mpeg2video -c:a mp2 -q:v 2 -b:a 192k "%~nf.mpeg". The browser-based tool processes one file at a time, so the command-line approach is recommended for batch jobs.
Almost always larger — sometimes dramatically so. SWF files are highly compact because vector graphics are stored as mathematical instructions rather than pixel data, and Flash's own compression is optimized for small web downloads. Converting to MPEG-2 requires storing actual rasterized pixel data for every frame, encoded with block-based DCT compression. A 500KB animated SWF could easily produce a multi-megabyte MPEG file depending on its duration and frame rate. This is an expected and unavoidable result of converting from a vector/interactive format to a raster video format.

Technical Notes

SWF files present unique challenges for FFmpeg because the format was designed as an application container, not a straightforward video container. FFmpeg's SWF demuxer can extract embedded FLV1 (Sorenson Spark, a variant of H.263) or MJPEG video streams and MP3/AAC audio, but cannot render ActionScript-driven animations or vector paths — any content that requires Flash runtime execution will not appear in the output. The MPEG-2 video codec (mpeg2video) used in the output supports a -q:v scale from 1 (highest quality) to 31 (lowest), unlike SWF's FLV1 which uses a 1–10 scale, so the quality mapping is not 1:1. The output MPEG-2 stream at -q:v 2 targets near-broadcast quality, suitable for DVD authoring or professional ingest. MP2 audio at 192k is the broadcast standard bitrate and exceeds the quality of most Flash audio tracks, which were commonly encoded at 64k–128k MP3 to minimize web download size. Metadata, chapter markers, and subtitle tracks are not supported by either the SWF input or the MPEG output format in this context. If your SWF contains multiple embedded video clips or a complex timeline, FFmpeg may only capture the primary embedded stream.

Related Tools