Initializing... drag & drop files here
Supports: MTS
You have AVCHD camcorder footage — an .mts file holding MPEG-4 AVC/H.264 video with Dolby Digital or linear PCM audio — and something on the other end is asking for a .swf. Before converting, it is worth being clear about what that request buys you, because Adobe stopped supporting Flash Player on December 31, 2020 and began blocking Flash content from running in Flash Player on January 12, 2021.
Short answer: if the requirement is genuinely "a file with a .swf extension that a legacy authoring tool or projector will ingest", this page does that. If the requirement is "video that plays", SWF is the wrong shape and MTS to MP4 is what you want. The comparison below is the decision, in one table.
| Property | SWF (this page) | FLV | MP4 |
|---|---|---|---|
| What it is | Adobe Flash movie container | Adobe Flash video container | ISO base media container, current standard |
| Video codec available here | FLV (Sorenson Spark) or MJPEG | Sorenson-class Flash video | H.264 |
| Audio codec available here | MP3 only | MP3 | AAC |
| Audio sample rate | Forced to 44100 Hz, no control | Selectable | Selectable |
| Native browser playback in 2026 | None | None | Chrome, Firefox, Safari, Edge |
| Playback path that still works | Ruffle or a standalone Flash projector | Ruffle, VLC, ffmpeg-based players | Anything |
| Efficiency against your H.264 source | Substantially worse — Sorenson Spark is an H.263-era codec | Substantially worse | Keeps H.264 efficiency |
| Accepts interactivity / ActionScript wrappers | Yes, that is what SWF is for | No | No |
| Sensible when | A legacy tool demands the .swf extension specifically |
A legacy player expects .flv |
Everything else |
.swf assets and nothing newer..mts clip onto the page or click "Add Files". Several clips can queue and share one set of settings..swf. Files upload over an encrypted connection, are processed on our servers, and are deleted automatically after a few hours — no sign-up, no watermark.| Setting | What you can choose | What is fixed regardless |
|---|---|---|
| Video Codec | FLV (Sorenson Spark) or MJPEG | H.264 is not an option inside this output |
| Audio Codec | MP3 | No AAC, no AC-3, no linear PCM |
| Audio sample rate | Nothing — there is no control on this page | Forced to 44100 Hz for every conversion |
| Audio channels | Nothing — no channel control renders here | MP3 caps at stereo, so 5.1 is downmixed |
| Interlacing | Nothing | 1080i combing is carried through; no deinterlacing happens anywhere |
| Quality mode | Quality Preset, Constant Bitrate, Specific file size, Constant Quality, Constraint Quality | The numeric field under the last two is a qscale, not a CRF |
This is the one setting on the page that will quietly ruin your output, so it is worth spelling out. FLV and MJPEG are qscale-family encoders, not CRF-family ones. Pick "Constant Quality" and the numeric field is labelled CRF and ranges from 1 to 31 — but that range is a quantiser scale where lower is better, and the field opens at 23. On a 1 to 31 quantiser, 23 is deep into the coarse end.
The control is not broken and it is not decorative: the value you set is passed straight through as the encoder's quality parameter. It is simply mislabelled and badly defaulted. So if you use Constant Quality, drag the number down to roughly 2 to 5 before converting. If you would rather not think about it, leave the mode on Quality Preset — on a video source like AVCHD footage that path scales the source's own bitrate and works normally — or use Constraint Quality, which pairs the same quantiser with a Max bitrate ceiling so a bad quantiser value cannot run away with the file size.
No, and no setting on this page changes that. Adobe stopped supporting Flash Player on December 31, 2020 and started blocking Flash content from running in Flash Player on January 12, 2021; the browsers removed their plugin support around the same period. To play the file you need Ruffle, the open-source Flash Player emulator, or a standalone Flash Player projector executable kept from that era. If the file needs to open by double-clicking on a normal machine in 2026, convert to MP4 instead.
Because the SWF container as we write it takes Flash-era video: Sorenson Spark (listed as FLV) or Motion JPEG. There is no passthrough path that keeps the existing H.264 stream, and in fact the server always re-encodes — nothing here copies a stream across untouched. That is the core cost of this conversion: efficient modern video is decoded and re-compressed with a much older codec, so you need a higher bitrate to reach the same appearance.
It becomes stereo MP3. AVCHD records Dolby Digital (AC-3) at 64 to 640 kbps or linear PCM, and SWF supports neither — the audio is re-encoded to MP3, which is limited to two channels, so a six-channel mix is folded down. The sample rate is fixed at 44100 Hz as well, with no control on the page, because that is one of the small set of rates the SWF container accepts. If keeping the surround mix matters, extract it separately before converting the video.
FLV (Sorenson Spark) unless a specific tool asks for Motion JPEG. Sorenson Spark is what Flash players and Flash-era authoring tools expect, and it has inter-frame compression, so a talking-head clip compresses reasonably. MJPEG stores each frame as a standalone JPEG with no temporal compression at all, which makes files several times larger for the same footage. Its one advantage is that every frame is independently decodable, which some old ingest and editing tools rely on.
Because Sorenson Spark is roughly a generation and a half behind H.264 in coding efficiency, so reaching similar quality takes substantially more bits per second. If you also chose MJPEG, you have removed inter-frame compression entirely and every frame costs a full JPEG. The fixes are to drop Video resolution to 480p or below — which is what Flash-era players were designed around anyway — and to use Constant Bitrate or Specific file size to cap the result outright.
Small. Flash kiosks and courseware were typically authored at 640x480 or 800x600, and Sorenson Spark was tuned for frames in that range. Use Preset Resolutions or Resolution Percentage to bring 1080p footage down to roughly 480p. Pushing SWF to 720p or higher inflates the file, strains old players, and defeats the exercise — any machine comfortable decoding 720p Flash video can play an MP4 without an emulator.
Most likely you used Constant Quality and left the numeric field at its opening value of 23. On this page that field is a quantiser on a 1-to-31 scale where lower means better, so 23 produces a deliberately coarse encode. Set it to 2-5, or switch to Quality Preset, which behaves normally for a video source. The second possibility is simply insufficient bitrate for the resolution — a 1080p frame re-encoded into Sorenson Spark at a Flash-era bitrate will not look like the original no matter which mode you pick.
Yes. Switch Trim from "Unchanged" to a Time Range and set a Start time and Duration, in seconds or as HH:MM:SS.sss. This is worth doing for its own sake with SWF, since legacy players cope badly with long files. If the upload itself is the bottleneck — AVCHD records up to 24 Mbps, so clips get large fast — trim the source first with the video cutter and convert the short result. Note also that this page accepts the .mts spelling only; if your import software renamed the clip to .m2ts, use the video to SWF converter, which takes both.