Initializing... drag & drop files here
Supports: TS
.ts transport stream recordings from your DVR, camcorder, or HLS download. Batch upload is supported — queue several captures together and they share the same output settings..swf is ready to download — no sign-up, no watermark, no email gate.Transport Stream (.ts) is the container the broadcast industry uses for over-the-air, cable, and HLS streaming — fixed 188-byte packets, multiplexed H.264 or HEVC video with AAC or AC-3 audio, designed to survive packet loss. SWF (ShockWave Flash; "Small Web Format" is a later backronym) is the legacy Macromedia/Adobe container that paired with Flash Player from 1996 until Adobe ended support on December 31, 2020. Most active web playback has moved to HTML5, but SWF still has a real audience: archivists, retro-game preservation projects, internal LMS/CBT courseware that hasn't been ported, museum kiosks, and any pipeline that ingests SWF to repurpose Flash-era animation. Common reasons to make the conversion:
.ts lecture capture to SWF lets you drop it into an existing module without re-authoring the whole course..exe / .app wrapping SWF) still need new content in SWF to remain in service..ts capture is a quick way to feed reference video into those workflows.Just need a modern playable file? Most users will be better served converting to TS to MP4, TS to MKV, or TS to MOV instead — those play natively in browsers, phones, and editors without an emulator. If you're going the other way, see SWF to MP4 or FLV to SWF for sibling routes.
| Property | TS (MPEG Transport Stream) | SWF (ShockWave Flash) |
|---|---|---|
| First released | 1995 (MPEG-2 Systems, ISO/IEC 13818-1) | 1996 (Macromedia FutureSplash → Flash) |
| Primary use | Broadcast TV, HLS streaming, DVR capture, IPTV | Web animation, Flash games, embedded video |
| Typical video codecs | H.264, HEVC, MPEG-2 | FLV (Sorenson Spark / H.263), MJPEG, VP6 (Flash 8+) |
| Typical audio codecs | AAC, AC-3, MP2 | MP3, ADPCM, Nellymoser, AAC (Flash 9+) |
| Packet structure | Fixed 188-byte packets with PID, designed for lossy transport | Variable-size tag stream, designed for sequential web download |
| Native browser playback (2026) | Limited — Safari plays HLS .ts segments; standalone .ts usually needs a player |
None — Flash Player EOL Dec 31, 2020; runs via Ruffle or Flash projector |
| Best playback today | VLC, MPC-HC, mpv, any HLS-aware browser | Ruffle (open-source emulator), standalone Flash projectors, Adobe Animate |
| Streaming friendly | Yes — designed for it | Originally yes (progressive download); now archival |
| Active development | Yes — standardized, used in ATSC 3.0, DVB, HLS | Format frozen; only Ruffle and archive tooling are active |
| Codec / Setting | What it is | When to pick it | Notes |
|---|---|---|---|
| FLV (Sorenson Spark) | Variant of ITU-T H.263 — the original Flash video codec from Flash Player 6 (2002) | General playback in Ruffle, Flash projectors, and most Flash-era authoring tools | Lower CPU to decode than MJPEG; not as efficient as modern H.264 |
| MJPEG | Motion JPEG — every frame is a standalone JPEG | Frame-accurate editing, ingest into animation tools, scenes with hard cuts | Much larger files than FLV; easy to scrub frame-by-frame |
| Quality Preset: Highest | Highest CRF / quality target the converter exposes | Master copies, archival, source for later re-encodes | Largest files; minimal compression artefacts |
| Quality Preset: High / Very High | Default xconvert behaviour; balanced quality/size | Most general SWF output | Good fit for projector or Ruffle playback |
| Quality Preset: Medium / Low | Aggressive compression | Email-attachable proxies, web archives with strict size budgets | Visible blocking on motion-heavy content |
| Constant Bitrate (CBR) | Encoder targets a fixed bitrate per second | Predictable file size, streaming over old fixed-bandwidth uplinks | Wastes bits on static scenes, starves complex ones |
| Constant Quality (CRF-style) | Encoder targets a quality level; bitrate varies | Most "set and forget" outputs | Cannot guarantee final file size |
| Specific file size | Back-solves bitrate from a target MB | Hitting a hard size cap (kiosk storage, LMS upload limit) | Aim 5–10% under the cap to leave room for container overhead |
Not directly. Adobe Flash Player reached end-of-life on December 31, 2020, and all major browsers (Chrome, Firefox, Edge, Safari) removed the plugin shortly after. To play a .swf today you need Ruffle — an open-source Flash emulator written in Rust that runs as a browser extension or embedded script — or a standalone Flash projector executable. Ruffle handles most ActionScript 1/2 content and a growing share of ActionScript 3 (about 90% of the language and 77% of the API as of mid-2026). For an FLV-codec SWF with no scripting, Ruffle is generally a reliable playback target.
Two reasons. First, MPEG-TS files coming from a DVR or HLS download usually carry H.264 or HEVC, which are roughly 5–15 years newer than FLV/Sorenson Spark and dramatically more efficient — going from H.265 to Sorenson Spark at similar perceived quality typically inflates the bitstream 3–5×. Second, if you picked MJPEG instead of FLV, every frame is encoded independently as a JPEG with no inter-frame compression, which can multiply size by 10× or more depending on motion complexity. If size matters, stay on FLV and use a Medium or Low quality preset.
Pick FLV for almost everything — it's smaller, decodes faster, and is what virtually every Flash-era player expects. Pick MJPEG only if a specific downstream tool requires it (some legacy 2D-animation imports, frame-by-frame video reference workflows) or if you need to scrub frame-accurately without inter-frame artefacts. If you're not sure, FLV is the safe answer.
.ts segments (the kind that come from streaming downloads)?Yes. Each HLS .ts segment is a valid MPEG transport stream and xconvert will convert it. If you have multiple segments and want a single SWF, you may want to concatenate or remux them first — most TS recorders save the full broadcast as a single .ts, but HLS downloaders often produce one .ts per chunk (usually 2–10 seconds each). For multi-segment HLS, joining to MP4 first via a TS-aware tool, then converting MP4 to SWF, sometimes produces cleaner output than converting each chunk individually.
Audio is preserved but downmixed. SWF/FLV only supports stereo audio in codecs like MP3, ADPCM, or Nellymoser (and AAC stereo in Flash 9+ output). AC-3 5.1 surround tracks from a broadcast .ts are mixed down to stereo during conversion — fine for a Flash projector or browser playback, but not what you want if you need to keep the surround mix. If preserving 5.1 matters, convert to MKV or MP4 instead.
The SWF v10+ spec allows files up to 4 GB and frame counts well into the millions, but practical limits are tighter. Flash projectors and Ruffle handle typical clips (tens of minutes) fine, but very long files (full-length movies) can exhaust memory in some players because SWF was designed for short animations rather than feature-length video. For anything over an hour, you'll get more reliable playback by chunking the source .ts into 10–20 minute segments before converting.
Honestly, for almost every use case in 2026, you should — TS plays in VLC, mpv, and Safari (when wrapped in HLS), and MP4 plays everywhere. Convert to SWF only when a specific downstream tool, projector, or archive actually requires SWF. If you're not sure, try TS to MP4 first and only fall back to SWF if your target environment rejects MP4.
No. If the .ts was captured from a DRM-protected source (some IPTV providers, certain HLS streams with FairPlay/Widevine), the bitstream is encrypted and no converter can re-encode it without the keys. xconvert will either reject the file or produce a corrupted SWF. Only convert TS files you have the rights to and that are stored unencrypted on disk.
Files are processed within your session and removed after it ends. No account is required, there is no watermark on the output, and there are no file-count limits or hidden Pro tiers gating the SWF converter.