Initializing... drag & drop files here
Supports: M2TS
An .m2ts file is about as modern as legacy video gets: a BDAV MPEG-2 transport stream carrying H.264 at up to roughly 28 Mbit/s, which is what Blu-ray discs and AVCHD camcorders from Sony, Panasonic, Canon and JVC produce. SWF is Adobe's Shockwave Flash container, and the video codec this page writes into it is FLV1 — Sorenson Spark, an implementation of H.263 from the early 2000s.
That is a two-decade step backwards in coding efficiency, applied to material that was captured at high definition and high bitrate. The conversion works, but there is no version of it that preserves what your source looked like. Do it when a legacy Flash authoring tool, kiosk or archived courseware pipeline requires a .swf and will not take anything else. For every other purpose M2TS to MP4 is the correct destination — Adobe ended Flash Player support on 31 December 2020 and blocked Flash content from running on 12 January 2021, so no current browser will open the file this page produces.
.m2ts onto the page or click "Add Files". AVCHD and Blu-ray files are large, so upload dominates the job; several clips can be queued with shared settings..swf. Files are uploaded over an encrypted connection, processed on our servers and deleted automatically after a few hours — no sign-up, no watermark, never shared or made public.| In the M2TS | In the SWF | Consequence |
|---|---|---|
| H.264 video, often 1080p or 1080i | FLV1 (Sorenson Spark), an H.263 implementation | Far less efficient; at any given bitrate expect blocking on movement and softened detail |
| Dolby Digital or LPCM audio at 48 kHz | MP3 at 44.1 kHz | The SWF muxer accepts only 44,100, 22,050 or 11,025 Hz and the pipeline sets 44,100, so a 48 kHz soundtrack is resampled with no control over it |
| Multichannel surround | Downmixed to the channel layout MP3 carries | Discrete surround stems do not survive; keep the original if the mix matters |
| BDAV 192-byte packet framing with arrival timestamps | Gone — SWF has no equivalent structure | Nothing is lost that you would use outside a Blu-ray player |
| Recording date, camera settings, chapter and playlist information | Gone | SWF has no metadata container for any of it |
| Interlaced 50i/60i fields | Preserved as-is | There is no de-interlacing step here, and Sorenson Spark handles interlaced material badly — de-interlace before uploading |
That 48 kHz to 44.1 kHz resample is worth flagging because it is invisible in the interface. Encoding a 48 kHz Dolby Digital stereo track from an AVCHD-style source through this path produced 44.1 kHz MP3 in the output, and attempting to keep 48 kHz causes the muxer to refuse the file outright with a message listing the three rates it supports. The audible difference is small; the surprise, if you are checking specifications downstream, is not.
Feeding a full high-definition frame into an H.263-class codec is the single most common way to get a disappointing SWF. Sorenson Spark was designed for the frame sizes early Flash video used, and it spends its bitrate badly at 1080p. Downscaling first almost always looks better than keeping the original size at a lower quality setting.
| Source | Suggested Video resolution | Why |
|---|---|---|
| 1080p / 1080i AVCHD or Blu-ray | 480p, or Width x Height at 854 x 480 | Keeps the codec inside the range it handles competently, and cuts the pixel count by three quarters |
| 720p AVCHD Lite | 480p, or leave at 720p if size is not a concern | Already close to what Flash-era video used |
| 4K derivative | 480p or 360p | Nothing about a UHD frame survives this codec; the extra pixels only cost bitrate |
| Standard definition | Keep original, but set Width x Height if the source is anamorphic | Non-square pixels are not corrected anywhere in this pipeline |
Bear in mind the Preset Resolutions list sets height only and lets width follow the source aspect, so a 16:9 clip at the 480p preset comes out 854 x 480. Use Width x Height when you need an exact frame size, which legacy Flash layouts often do.
No. Every major browser removed the plug-in interface Flash depended on after Adobe's 31 December 2020 end-of-life, and Adobe blocked Flash content from running on 12 January 2021. To view the result you need a standalone Flash Player projector, or a player that demuxes SWF directly such as VLC. The Ruffle emulator targets Flash animations and ActionScript content rather than acting as a general-purpose video player, so a file built to carry a movie is not where it performs well.
A lot, and it is unavoidable rather than a settings problem. H.264 at AVCHD bitrates against Sorenson Spark is not a close comparison — the newer codec keeps far more detail per bit, and there is no preset on this page that closes the gap. The practical mitigation is to reduce the frame size first, so the codec has fewer pixels to fail at, rather than to raise the quality setting at full resolution.
FLV for almost every case: it is what Flash video means, and it compresses between frames. MJPEG stores each frame as an independent JPEG, which removes motion artefacts entirely but produces a much larger file — a six-second 720 x 576 test encode came out 1.75 times the size of the FLV version. Choosing MJPEG also collapses the File Compression group to Quality Preset and Constant Quality alone; the bitrate and target-size modes are not available with it, and Constant Quality is the one to set, because the MJPEG encoder is driven by that qscale value directly.
It is an MPEG quantiser scale, not an H.264 CRF. With FLV selected the range is 1 to 31 and with MJPEG it is 2 to 31, and in both cases the low end is the best quality and the high end the worst. If you are used to typing 23 for an MP4, doing the same here produces a very coarse picture.
Because the FLV1 encoder does not support it. With FLV selected you get Quality Preset, Specific file size, Constant Bitrate, Constant Quality and Constraint Quality, and that is the complete set. Constant Bitrate is the mode to use when a legacy player expects a predictable stream rate.
Not from this page — each upload produces its own output. Camcorders that format their cards as FAT32 break long recordings into parts of roughly two gigabytes, numbered in sequence inside BDMV/STREAM, and the playlists that stitch them back together live in BDMV/PLAYLIST as .mpls files that hold no picture themselves. Join the parts before converting if you need one continuous SWF.
Yes. Set Trim to Time Range and give a Start time and a Duration; both take plain seconds or HH:MM:SS.sss. That is strongly worth doing here, because an hour of footage in a dated codec is a poor use of both upload time and quality. Trim M2TS and Video Cutter can also cut the source first, which saves the upload entirely.
No. Audio Codec offers only MP3, so a Dolby Digital 5.1 mix is decoded and downmixed on the way in. If the multichannel mix is the point, keep the original file, or convert into a container that carries it — M2TS to MOV retains more of the original audio arrangement than SWF can.
Not as a project file. A .swf is compiled output; the editable form is a .fla, which is not what a converter produces. Animate can import a SWF, but the timeline, layers and scripts do not come back, and a SWF whose only content is a re-encoded video stream has nothing to edit in any case.
It is uploaded over an encrypted connection, converted on our servers and deleted automatically after a few hours, along with the SWF. There is no sign-up, no watermark and files are never shared or made public. AVCHD and Blu-ray sources are large, so the upload is normally the slowest part — trimming first is the most effective way to speed up the whole job.