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.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your TS 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
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.