Convert TS to SWF — Free Online Tool

Convert MPEG-2 Transport Stream (TS) files to SWF (Shockwave Flash) format directly in your browser, re-encoding video to the FLV1 (Sorenson Spark) codec and audio to MP3 — the native codecs Flash Player expects. This is useful for embedding legacy broadcast or streaming footage into Flash-based web content, presentations, or archival Flash applications.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

TS files are broadcast containers that typically carry H.264 or H.265 video alongside AAC or AC3 audio, often with multiple audio tracks and subtitle streams. Converting to SWF requires a full re-encode: the video must be transcoded to FLV1 (Sorenson Spark), a lossy codec developed for Flash Player, and the audio must be transcoded to MP3 using the LAME encoder. SWF is a monolithic format — it does not support multiple audio tracks, chapters, or subtitle streams, so only the first video and audio track from the TS file will be included in the output. The result is a self-contained SWF file that embeds the video directly, rather than referencing an external FLV file.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which handles the full re-encoding pipeline required to transform the TS broadcast container and its modern codecs into the legacy SWF format.
-i input.ts Specifies the input MPEG-2 Transport Stream file. FFmpeg will parse the TS container to extract the video (e.g., H.264/H.265) and the first audio track (e.g., AAC or AC3) for re-encoding.
-c:v flv1 Transcodes the video stream to FLV1 (Sorenson Spark), the H.263-based codec that is natively supported by Adobe Flash Player and required for video embedded directly in SWF files.
-c:a libmp3lame Transcodes the audio stream to MP3 using the LAME encoder, converting whatever audio codec the TS carried (commonly AAC or AC3) into the MP3 format that Flash Player expects in SWF video content.
-q:v 5 Sets the FLV1 video quality on a scale of 1 (best quality, largest file) to 10 (worst quality, smallest file). A value of 5 is a balanced default; lower values like 2 or 3 will produce noticeably better visual quality from the original broadcast footage at the cost of file size.
-b:a 128k Sets the MP3 audio bitrate to 128 kilobits per second, a standard bitrate that provides acceptable stereo audio quality for the downmixed output from what may have been multi-channel AC3 or high-quality AAC audio in the source TS.
output.swf Defines the output file as a SWF (Shockwave Flash) container. FFmpeg uses this extension to determine the output format, writing the FLV1 video and MP3 audio into a self-contained SWF file ready for use in Flash-compatible environments.

Common Use Cases

  • Embedding a broadcast TV clip or IPTV recording into a legacy Flash-based website or e-learning course that requires SWF video assets
  • Converting transport stream footage captured from a DVB tuner into SWF format for use in older Flash-based interactive kiosks or museum installations
  • Archiving early-2000s Flash multimedia projects by converting their original TS source footage into the SWF format those projects were designed around
  • Preparing broadcast-recorded video segments for playback in Flash-based media players on legacy intranets or corporate training portals that have not migrated away from Flash
  • Converting HLS or live-stream recordings saved as TS files into SWF for use in Flash-based video editing or presentation tools that only accept SWF input

Frequently Asked Questions

Yes — this conversion involves significant quality loss. TS files often carry high-quality H.264 or H.265 video, while SWF is limited to the FLV1 (Sorenson Spark) codec, which is a much older and less efficient codec from the early 2000s. To achieve comparable visual quality, FLV1 requires considerably higher bitrates than H.264. The audio side also loses quality, as AAC or AC3 audio from the TS is transcoded to MP3. For archival purposes, keep your original TS file.
They are discarded. SWF does not support multiple audio tracks, subtitle streams, or chapters. FFmpeg will automatically select the first (default) audio track from the TS file and encode it as MP3 into the SWF. If you need a specific non-default audio track — for example, a different language — you would need to add a flag like '-map 0:a:1' to the FFmpeg command before running it locally.
Yes, if you are using a standalone Flash Player or a browser with Flash support (via a legacy environment like Ruffle). The FLV1 video codec and MP3 audio are the native codecs Flash Player has supported since version 6, so compatibility is very broad across Flash runtime versions. However, modern browsers have removed Flash support entirely, so you will need a dedicated Flash Player application or emulator to play the resulting SWF.
FLV1 (Sorenson Spark) is a much less efficient codec than H.264 or H.265, which are commonly found in TS broadcast files. At the same quality level, FLV1 needs significantly more data to represent the same image, which can result in a larger SWF output even though SWF is generally associated with small web files. If file size is a concern, you can lower the '-q:v' value closer to 1 in the FFmpeg command, though this will reduce visual quality further.
For video, adjust the '-q:v' flag — it accepts values from 1 (highest quality, largest file) to 10 (lowest quality, smallest file), with 5 as the default. For example, use '-q:v 2' for better visual fidelity. For audio, change the '-b:a' value to a higher bitrate like '192k' or '256k' for better MP3 audio quality. You can copy the displayed FFmpeg command and run it locally with these modifications, which is especially useful if your TS file exceeds 1GB.
Yes, on the command line you can use a shell loop to batch process. On Linux or macOS: 'for f in *.ts; do ffmpeg -i "$f" -c:v flv1 -c:a libmp3lame -q:v 5 -b:a 128k "${f%.ts}.swf"; done'. On Windows Command Prompt: 'for %f in (*.ts) do ffmpeg -i "%f" -c:v flv1 -c:a libmp3lame -q:v 5 -b:a 128k "%~nf.swf"'. This is the primary advantage of copying the FFmpeg command from this page — you can extend it for bulk workflows that the browser tool cannot handle.

Technical Notes

SWF's video support is fundamentally limited to FLV1 (Sorenson Spark) and MJPEG, both of which predate modern compression standards by decades. FLV1 is based on H.263 and lacks many of the efficiency improvements found in H.264 (which is common in broadcast TS files), meaning quality-to-filesize ratios will be noticeably worse in the output. The '-q:v' parameter for SWF output in FFmpeg operates on a 1–10 scale where lower numbers mean higher quality, which is the inverse of intuition for some users. Audio is limited to a single MP3 stream; the AC3 5.1 surround audio common in broadcast TS files will be downmixed and transcoded to stereo MP3, losing surround information entirely. Metadata from the TS container — including program information, service names, and teletext data — is not carried into SWF. There is no subtitle or chapter support in SWF, so any DVB subtitles or embedded caption tracks in the TS will be silently dropped. Note that SWF as a playback format is effectively defunct in modern web environments; this conversion is most relevant for legacy system maintenance or archival Flash project workflows.

Related Tools