Convert MXF to SWF — Free Online Tool

Convert MXF broadcast files to SWF (Shockwave Flash) format directly in your browser, re-encoding professional-grade video to FLV1 (Sorenson Spark) and audio to MP3 using FFmpeg. This niche conversion bridges the gap between broadcast post-production archives and legacy Flash-based web delivery systems.

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

MXF is a professional broadcast container that typically wraps video streams encoded in H.264, MPEG-2, or MJPEG alongside uncompressed or lightly compressed PCM audio. Converting to SWF requires full re-encoding of both streams: the video is transcoded to FLV1 (Sorenson Spark), a lossy codec natively supported by the SWF container, while the audio is transcoded from professional PCM (pcm_s16le or pcm_s24le) down to MP3 using the LAME encoder. Because SWF only supports a single audio track, any additional audio tracks present in the MXF source will be discarded. Broadcast-specific metadata such as timecodes, production metadata, and embedded captions are also dropped, as SWF has no equivalent structures to preserve them.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — in this browser-based tool, it runs as a WebAssembly (FFmpeg.wasm) instance entirely within your browser with no server upload. When running locally, this calls your desktop FFmpeg installation.
-i input.mxf Specifies the MXF source file as input. FFmpeg will detect the MXF container and demux its video (e.g., H.264, MPEG-2, or MJPEG) and audio streams (typically PCM) for re-encoding.
-c:v flv1 Instructs FFmpeg to encode the video stream using the FLV1 codec (Sorenson Spark / Sorenson H.263), which is one of only two video codecs natively supported by the SWF container format.
-c:a libmp3lame Encodes the audio using the LAME MP3 encoder, transcoding from the professional PCM audio (pcm_s16le or pcm_s24le) found in MXF down to lossy MP3, which is the SWF container's most compatible audio format.
-q:v 5 Sets the video quality for the FLV1 encoder on a scale of 1 (highest quality, largest file) to 10 (lowest quality, smallest file). A value of 5 represents a mid-range balance suitable for archival preview use — lower this toward 1 for better fidelity from your MXF source material.
-b:a 128k Sets the MP3 audio bitrate to 128 kilobits per second. This is a significant reduction from the uncompressed PCM audio in the MXF source and represents the default balance between file size and audio fidelity for Flash-delivered content.
output.swf Specifies the output filename with the .swf extension, telling FFmpeg to write the encoded FLV1 video and MP3 audio into a SWF (Small Web Format / Shockwave Flash) container.

Common Use Cases

  • Repurposing archived broadcast MXF footage for playback on legacy Flash-based corporate intranets or kiosk systems that only support SWF media.
  • Converting MXF clips from a broadcast edit suite into SWF for embedding in older Adobe Flash or Flex-based e-learning platforms that do not accept modern video formats.
  • Digitizing and reformatting MXF recordings from broadcast cameras for use in legacy interactive CD-ROM or DVD-ROM Flash projects still in active use.
  • Preparing broadcast-sourced MXF content for playback in Flash-enabled industrial or point-of-sale display hardware with fixed firmware that only accepts SWF files.
  • Testing how professional broadcast video degrades through the FLV1/Sorenson Spark codec pipeline for archival research or codec comparison purposes.
  • Extracting a single video stream from a multi-track MXF file and delivering it as a self-contained SWF for legacy Flash Player preview workflows.

Frequently Asked Questions

No. SWF has no concept of broadcast timecodes, production metadata, or the rich MXF descriptive metadata schema. All of this information — including reel names, clip metadata, and SMPTE timecode tracks — is permanently discarded during conversion. If you need to preserve this metadata, archive the original MXF file separately before converting.
SWF only supports a single audio track, so FFmpeg will map only the first audio stream from your MXF by default and discard all others. If your MXF contains separate dialogue, music, and effects tracks (a common broadcast practice), you will lose all but the first track. To select a specific audio track, you can modify the FFmpeg command with a -map flag, for example adding '-map 0:v:0 -map 0:a:1' to select the second audio stream instead.
The quality loss is significant and unavoidable. MXF often contains high-bitrate H.264, MPEG-2, or even lossless video, while SWF is limited to the FLV1 (Sorenson Spark) codec, which is an older, less efficient codec than H.264. Audio is similarly downgraded from professional uncompressed PCM (16-bit or 24-bit) to MP3 at 128k by default. The default video quality setting of -q:v 5 is a mid-range compromise — lowering this value toward 1 will improve quality at the cost of file size.
Most modern browsers have permanently removed Adobe Flash Player support, so SWF files will not play natively in Chrome, Firefox, Edge, or Safari. You would need a standalone Flash Player, a legacy browser with Flash enabled, or a third-party SWF player application to view the output file. This conversion is best suited for legacy systems and archived workflows rather than current web delivery.
The '-q:v 5' flag controls video quality on a scale from 1 (best quality, largest file) to 10 (worst quality, smallest file). To get sharper output from your MXF source, change this to '-q:v 2' or '-q:v 1'. To reduce file size for a delivery constraint, increase it to '-q:v 7' or higher. For audio, replace '-b:a 128k' with '-b:a 64k' to halve the audio bitrate, or '-b:a 256k' for higher fidelity — though gains above 128k are rarely perceptible in the FLV1/SWF context.
Yes. On Linux or macOS, you can use a shell loop: 'for f in *.mxf; do ffmpeg -i "$f" -c:v flv1 -c:a libmp3lame -q:v 5 -b:a 128k "${f%.mxf}.swf"; done'. On Windows Command Prompt, use: 'for %f in (*.mxf) do ffmpeg -i "%f" -c:v flv1 -c:a libmp3lame -q:v 5 -b:a 128k "%~nf.swf"'. The browser-based tool processes one file at a time, so the FFmpeg command displayed on this page is especially useful for batch processing large collections of broadcast MXF archives.

Technical Notes

The FLV1 codec (also known as Sorenson Spark or Sorenson H.263) used in SWF output is a dated codec that predates modern compression standards. It lacks B-frame support and advanced rate control features, meaning the output will be noticeably less efficient than the H.264 or MPEG-2 video typically found in MXF files — expect larger file sizes relative to quality compared to modern formats. MXF files with MPEG-2 video (common in broadcast tape-based workflows) will require full decoding and re-encoding, which is computationally intensive, especially for high-resolution or high-frame-rate content. The SWF format also imposes practical resolution limits for smooth playback in Flash Player — content above 1280x720 may perform poorly. Audio transcoding from 24-bit PCM (pcm_s24le), common in professional MXF audio tracks, introduces an additional bit-depth reduction on top of the lossy MP3 encoding, which is an unavoidable fidelity loss in this pipeline. The SWF container does not support subtitle tracks or chapter markers, so any embedded closed captions or segmentation data from the MXF source will be silently dropped.

Related Tools