Extract Audio from SWF to AC3 — Free Online Tool
Extract audio from SWF Flash files and convert it to AC3 (Dolby Digital) format, using FFmpeg to decode the embedded MP3 or AAC audio stream and re-encode it with the ac3 codec at 192k bitrate by default. Ideal for recovering audio from legacy Flash animations, games, or web content for use in home theater systems or broadcast 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
SWF files typically embed audio as MP3 (libmp3lame) or AAC streams alongside Flash vector animation or FLV video data. This tool uses FFmpeg to demux the SWF container, discard all video streams entirely using the -vn flag, and then decode the embedded audio stream before re-encoding it using Dolby Digital's AC3 codec. Because SWF audio (MP3 or AAC) and AC3 are completely different codecs, a full decode-and-re-encode pass is required — there is no lossless stream copy possible here. The result is a standalone .ac3 file carrying Dolby Digital audio, suitable for DVD authoring, broadcast pipelines, or playback on AV receivers.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg command-line tool, which handles all demuxing, decoding, encoding, and muxing operations for this SWF-to-AC3 conversion. |
-i input.swf
|
Specifies the input SWF file. FFmpeg's SWF demuxer parses the Flash container to locate and expose any embedded audio streams (typically MP3 or AAC) and video streams for further processing. |
-vn
|
Disables video output entirely, ensuring that any FLV1 or MJPEG video streams present in the SWF are ignored and not processed. Since AC3 is a pure audio format, this flag is essential to produce a valid output. |
-c:a ac3
|
Selects Dolby Digital's AC3 encoder for the audio output stream. FFmpeg decodes the source MP3 or AAC audio from the SWF and re-encodes it as AC3, which is the standard audio codec for DVDs, broadcast television, and AV receiver playback. |
-b:a 192k
|
Sets the AC3 audio bitrate to 192 kilobits per second, which is the standard default for stereo Dolby Digital content and provides a good balance between file size and audio fidelity given the lossy SWF source material. |
output.ac3
|
Defines the output filename with the .ac3 extension, causing FFmpeg to write a raw Dolby Digital AC3 bitstream file that can be played directly by media players, AV receivers, or used in DVD and broadcast authoring workflows. |
Common Use Cases
- Recovering the musical score or sound effects from a legacy Flash game or interactive SWF to use in a video production
- Extracting the narration audio from an old Flash-based e-learning module so it can be repurposed in a modern LMS or broadcast presentation
- Preparing audio from an archived Flash animation for inclusion in a DVD or Blu-ray authoring project, which commonly requires AC3 Dolby Digital audio
- Converting SWF-embedded audio to AC3 for playback through an AV receiver or home theater system that natively decodes Dolby Digital
- Stripping and re-encoding the audio from a Flash advertisement or web commercial into AC3 for broadcast television delivery compliance
- Archiving the audio content of SWF files from defunct Flash-era websites into a standardized, long-term compatible Dolby Digital format
Frequently Asked Questions
Yes, some quality loss is inevitable. SWF files store audio as either MP3 or AAC, both of which are already lossy formats. Converting to AC3 requires fully decoding that lossy audio and then re-encoding it with the Dolby Digital codec — a generation loss. At the default 192k bitrate, AC3 audio is generally transparent for most content, but if the original SWF audio was encoded at a low bitrate (e.g., 64k MP3), the output quality will be limited by that source. Raising the AC3 bitrate above 192k will not recover detail lost in the original SWF encoding.
The -vn flag explicitly tells FFmpeg to ignore and discard all video streams from the SWF file. SWF containers can carry FLV1 or MJPEG video alongside the audio, and since AC3 is a pure audio format with no video container, those streams must be dropped. Without -vn, FFmpeg might attempt to process the video stream and fail or produce unexpected output, so the flag ensures a clean audio-only extraction.
Replace the value after -b:a in the command with your desired bitrate. For example, use -b:a 384k for higher-quality Dolby Digital audio suitable for DVD or broadcast, or -b:a 96k for a smaller file. AC3 supports bitrates ranging from 96k up to 640k, with 192k being the standard default and 384k being common for 5.1 surround content. Note that increasing the bitrate cannot recover quality lost from the lossy SWF source audio.
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" -vn -c:a ac3 -b:a 192k "${f%.swf}.ac3"; done. On Windows Command Prompt, use: for %f in (*.swf) do ffmpeg -i "%f" -vn -c:a ac3 -b:a 192k "%~nf.ac3". This processes every SWF in the current directory and outputs a matching .ac3 file for each.
No. The channel layout of the AC3 output is determined by the source audio in the SWF file. SWF files almost universally carry stereo (2-channel) or mono audio, so the resulting AC3 file will likewise be stereo or mono. AC3 is capable of encoding 5.1 surround sound, but FFmpeg will not upmix stereo source audio to 5.1 automatically. You would need to add explicit channel mapping flags to do so, which would be artificial upmixing rather than true surround content.
FFmpeg will return an error indicating that no audio stream was found, and no output file will be created. Some SWF files are purely visual — containing only vector animations or interactive ActionScript with no embedded sound. If you are unsure whether your SWF contains audio, you can inspect it by running ffprobe input.swf, which will list all detected streams. Only SWFs with a detected audio stream (typically MP3 or AAC) can be converted using this tool.
Technical Notes
SWF files present a unique challenge for audio extraction because the format was designed primarily as a delivery container for Flash Player, not as a general media archive format. FFmpeg's SWF demuxer can reliably detect and extract embedded MP3 (libmp3lame) and AAC audio tracks, which are the two codecs the format supports. However, the SWF container does not carry standard metadata fields like title, artist, or album, so the output AC3 file will contain no embedded metadata beyond what FFmpeg adds by default. AC3 itself has very limited metadata support — it carries bitstream information such as channel configuration and dialnorm (dialogue normalization) values, but not ID3-style tags. One important limitation to note is that the SWF format does not support multiple audio tracks, so there is never an ambiguity about which audio stream to extract. The lossy-to-lossy transcoding path (MP3 or AAC → AC3) means quality is bounded by the lowest-quality link in the chain; users working with low-bitrate SWF audio should not expect the AC3 output to sound significantly better than the source, regardless of output bitrate setting.