Convert SWF to DV — Free Online Tool
Convert SWF Flash animations and video content to DV format, encoding video with the dvvideo intra-frame DCT codec and audio as uncompressed PCM 16-bit stereo — ideal for bringing legacy Flash content into broadcast and camcorder-compatible workflows.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your SWF 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
During this conversion, FFmpeg demuxes the SWF container — which typically holds FLV1 (Sorenson Spark) or MJPEG video alongside MP3 or AAC audio — and re-encodes everything into the DV format. The video is transcoded to dvvideo, a fixed-bitrate intra-frame codec that compresses each frame independently using DCT, similar to JPEG. The DV format enforces strict constraints: video must be either 720x480 (NTSC) or 720x576 (PAL) at a fixed bitrate of approximately 25 Mbps, so FFmpeg will scale and pad your SWF content to fit the nearest DV resolution. Audio is transcoded from MP3 or AAC to uncompressed PCM signed 16-bit little-endian (pcm_s16le), which DV stores at either 48 kHz or 32 kHz. Because SWF content is often vector-animated or interactive, only the rendered raster video and audio streams are extracted — interactivity, scripting, and vector graphics are flattened into pixel frames.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary, the open-source multimedia processing engine that handles all demuxing, decoding, filtering, encoding, and muxing for this SWF-to-DV conversion entirely within the browser via WebAssembly. |
-i input.swf
|
Specifies the input SWF file. FFmpeg reads and demuxes the SWF container, extracting the embedded video stream (typically FLV1 or MJPEG) and audio stream (typically MP3 or AAC) for re-encoding. |
-c:v dvvideo
|
Instructs FFmpeg to encode the video stream using the dvvideo codec — the standard DV intra-frame DCT encoder operating at approximately 25 Mbps. This replaces the SWF's compressed FLV1 or MJPEG video with frame-independent DV frames compatible with camcorders and broadcast editing systems. |
-c:a pcm_s16le
|
Encodes the audio as uncompressed PCM signed 16-bit little-endian, the mandatory audio format for DV. This transcodes whatever compressed audio was in the SWF (MP3 or AAC) into the raw, lossless PCM samples that the DV format requires, resampled to 48 kHz stereo. |
output.dv
|
Defines the output filename with the .dv extension, telling FFmpeg to write a raw DV stream file. The .dv container is a minimal format natively understood by DV camcorders, tape decks, and professional non-linear editors such as Final Cut Pro and Adobe Premiere. |
Common Use Cases
- Archiving legacy Flash animations from the early 2000s into a broadcast-safe DV file that can be ingested by professional non-linear editing systems like Adobe Premiere or Final Cut Pro
- Transferring Flash-based educational or training video content onto DV tape using a compatible camcorder or deck for physical archival storage
- Converting SWF explainer videos or product demos into DV so they can be included in broadcast television production pipelines that require intra-frame-only formats
- Rescuing animated Flash content from a defunct website and converting it to DV as an intermediate format before further post-production processing
- Bringing Flash-encoded video into a DV-based event production workflow where a mixer or switcher expects DV-format file inputs
- Creating frame-accurate DV copies of SWF animations for forensic or legal review purposes where individual frame access without inter-frame dependencies is required
Frequently Asked Questions
FFmpeg reads SWF files by decoding the embedded raster video stream (typically FLV1 or MJPEG) rather than rendering the vector graphics engine. Pure vector animations, ActionScript interactivity, and Flash timeline elements that are not backed by a pre-encoded video stream may not convert as expected or may produce a blank output. If your SWF contains embedded video footage it will convert cleanly, but SWF files that rely entirely on Flash's vector rendering engine are best converted using a Flash player or renderer first to produce a raster video file before converting to DV.
The DV format is rigid about frame dimensions — it only supports 720x480 pixels for NTSC or 720x576 for PAL. SWF files can have arbitrary canvas sizes, often square or widescreen dimensions that don't match these DV standards. FFmpeg will scale and pad your content with black bars to fit the nearest valid DV resolution, which can result in pillarboxing or letterboxing. If the aspect ratio difference is significant, you may want to pre-scale or crop your SWF video to a 4:3 or 16:9 DV-compatible ratio before conversion.
Significantly larger — sometimes by an order of magnitude or more. SWF files use highly efficient compression: FLV1 video uses inter-frame prediction and can run at just a few hundred kilobits per second, while DV's dvvideo codec operates at a fixed ~25 Mbps regardless of content complexity. Audio also expands considerably, going from compressed MP3 (typically 128 kbps) to uncompressed PCM at roughly 1.5 Mbps. A 10-minute SWF that is 50 MB could easily become a 1.8 GB DV file, which is why DV is typically used as an intermediate production format rather than a delivery format.
The conversion involves two stages of lossy compression for video — SWF's FLV1 codec and then DV's dvvideo codec — so some generation loss is unavoidable. However, because dvvideo operates at a much higher bitrate than typical FLV1 streams, the re-encoding artifacts are usually minor and the DV output will closely resemble the SWF source visually. Audio quality actually improves in the sense that PCM is lossless, though any artifacts already present in the MP3 or AAC audio source will be preserved in the uncompressed PCM output.
FFmpeg automatically selects NTSC (720x480) or PAL (720x576) based on the source video's frame rate — 29.97 fps maps to NTSC and 25 fps maps to PAL. If your SWF uses a non-standard frame rate, FFmpeg will pick the closest match. To force a specific standard, you can add a scale and fps filter to the command, for example: ffmpeg -i input.swf -vf 'scale=720:576,fps=25' -c:v dvvideo -c:a pcm_s16le output.dv for PAL, or replace 576/25 with 480/29.97 for NTSC.
On Linux or macOS, you can loop over all SWF files in a directory with: for f in *.swf; do ffmpeg -i "$f" -c:v dvvideo -c:a pcm_s16le "${f%.swf}.dv"; done. On Windows Command Prompt, use: for %f in (*.swf) do ffmpeg -i "%f" -c:v dvvideo -c:a pcm_s16le "%~nf.dv". Each file is processed sequentially, producing a corresponding .dv output file. Be aware that DV files are large, so ensure you have sufficient disk space before batch processing.
Technical Notes
The DV format imposes several hard constraints that make SWF-to-DV conversion more complex than a typical transcode. First, dvvideo is a fixed-bitrate intra-frame codec — every frame is independently compressed at ~25 Mbps (DV25), meaning there are no P-frames or B-frames. This makes DV ideal for editing but produces large files. Second, DV audio must be pcm_s16le at either 48000 Hz (2-channel) or 32000 Hz (4-channel), so FFmpeg will resample whatever audio is in the SWF to 48 kHz stereo automatically. Third, SWF files do not support subtitles or chapters, and DV likewise has no metadata container for these, so no metadata loss occurs beyond what's inherent to both formats. A known limitation is that SWF files containing only vector graphics with no embedded video stream will either produce a blank video track or fail, since FFmpeg cannot render the Flash virtual machine. For such files, a dedicated Flash-to-video renderer (such as SWF2Video or a browser screen recorder) is required to first produce a raster video. Finally, the DV container (.dv) is a raw stream format with minimal container overhead, unlike DV wrapped in AVI or MOV — ensure your target NLE or device accepts raw .dv files rather than requiring DV-in-AVI.