Convert MPEG to FLV — Free Online Tool

Convert MPEG files (MPEG-1/MPEG-2 video with MP2 audio) to FLV using H.264 video and AAC audio encoding — the standard codec combination for Flash-based web video players. This tool runs entirely in your browser via WebAssembly, no upload required.

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

MPEG files typically carry MPEG-1 or MPEG-2 video alongside MP2 audio, neither of which are natively supported inside the FLV container. This conversion fully re-encodes the video stream from MPEG-2 to H.264 (libx264) using CRF-based quality control, and transcodes the MP2 audio track to AAC — the codec pair that Flash Player and FLV-based players expect. Because both the video and audio codecs must change, this is a full transcode rather than a remux, meaning FFmpeg decodes and re-encodes every frame and audio sample. The CRF 23 default strikes a balance between file size reduction and visual quality, while AAC at 128k provides clean stereo audio suitable for web delivery.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool. In the browser-based version of this tool, FFmpeg runs as a WebAssembly module (FFmpeg.wasm) with no server involved; the same command can be run locally on any system with FFmpeg installed.
-i input.mpeg Specifies the input file — an MPEG container holding MPEG-1 or MPEG-2 video and typically MP2 audio. FFmpeg automatically detects the container and codec from the file's bitstream.
-c:v libx264 Re-encodes the MPEG-1/MPEG-2 video stream to H.264 using libx264, the most widely supported H.264 encoder. This is required because FLV cannot carry native MPEG-2 video streams.
-c:a aac Transcodes the MP2 audio track from the MPEG source to AAC, the standard audio codec for FLV files and the format expected by Flash-based video players.
-crf 23 Sets the Constant Rate Factor for the H.264 encoder to 23, libx264's default quality level. Lower values (e.g., 18) produce higher quality at larger file sizes; higher values (e.g., 28) compress more aggressively. This replaces MPEG-2's fixed quantizer-based quality model with a more perceptually adaptive approach.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second, which is the standard web-streaming quality for stereo audio and a significant efficiency improvement over the MP2 audio typically found in MPEG files (which often runs at 192k or 224k with lower perceptual quality).
output.flv Defines the output filename and tells FFmpeg to wrap the encoded H.264 video and AAC audio into an FLV container, the format developed by Adobe for Flash-based internet video delivery.

Common Use Cases

  • Preparing legacy broadcast or DVD-ripped MPEG footage for playback in older Flash-based video players or web portals that only accept FLV input
  • Converting MPEG-2 video exports from video editing software into FLV for embedding in legacy Flash-based websites or e-learning platforms built on Adobe Flash
  • Archiving MPEG recordings from DVRs or set-top boxes into FLV for compatibility with older media servers like Wowza or Red5 that were configured to serve FLV streams
  • Repurposing MPEG broadcast captures for use in legacy corporate training or presentation systems that predate HTML5 video support
  • Reducing the file size of large MPEG-2 recordings by re-encoding to H.264 inside FLV, which typically yields significantly smaller files at comparable perceived quality
  • Generating the exact FFmpeg command to batch-convert a large archive of MPEG broadcast recordings to FLV on a local machine for files exceeding 1GB

Frequently Asked Questions

The FLV container does not support MPEG-1 or MPEG-2 video streams, nor does it support MP2 audio. This means FFmpeg cannot simply copy the existing streams into a new wrapper — both the video and audio must be fully decoded and re-encoded into codecs FLV does support: H.264 for video and AAC for audio. This makes the conversion more time-consuming than a simple remux, but the result is a file that will play correctly in any Flash-compatible player.
Since both MPEG and FLV are lossy formats, converting between them involves a generation loss — the MPEG-2 video is decoded and then re-compressed with H.264. At the default CRF 23 setting, H.264 typically produces visibly similar quality to MPEG-2 at a smaller file size, but artifacts from the original MPEG encoding can become slightly more pronounced. For archival purposes, consider using a lower CRF value (e.g., 18) to preserve more detail, at the cost of a larger output file.
To change video quality, modify the -crf value: lower numbers (e.g., 18) produce higher quality and larger files, while higher numbers (e.g., 28) produce smaller files with more compression. The valid range for libx264 is 0 to 51. To change audio quality, replace 128k in -b:a 128k with a higher bitrate like 192k or 256k for better audio fidelity, or 96k to reduce file size. For example: ffmpeg -i input.mpeg -c:v libx264 -c:a aac -crf 18 -b:a 192k output.flv
Yes. On Linux or macOS, you can use a shell loop: for f in *.mpeg; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.mpeg}.flv"; done. On Windows Command Prompt: for %f in (*.mpeg) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.flv". The browser-based tool processes one file at a time, so the FFmpeg command is particularly useful for bulk conversions of large MPEG archives.
No. The FLV container does not support subtitles, chapter markers, or multiple audio tracks. If your MPEG source contains any of these, they will be dropped during conversion. Only the primary video stream and the first audio track will be included in the output FLV file. If you need subtitle or multi-track support, consider converting to a container like MKV or MP4 instead.
FLV is considered a legacy format. Adobe officially discontinued Flash Player at the end of 2020, which means FLV has no native support in modern browsers. This conversion is most relevant when you need to supply content to existing infrastructure — such as legacy media servers, Flash-based LMS platforms, or older desktop players like VLC — that specifically require FLV input. For new web video projects, MP4 with H.264 is the modern standard and offers broader compatibility.

Technical Notes

The MPEG-to-FLV conversion involves two distinct codec transitions: MPEG-2 video (typically encoded at a fixed quantizer scale) is transcoded to H.264 via libx264 using Constant Rate Factor (CRF) mode, which allocates more bits to complex scenes and fewer to simple ones — a fundamentally different quality model than MPEG-2's fixed quantizer approach. The default CRF 23 is libx264's own default and generally results in a noticeably smaller file than the source MPEG-2 at similar perceived quality. MP2 audio, the standard audio codec in MPEG transport and program streams, is transcoded to AAC, which is both more efficient and more universally supported within the FLV ecosystem. Metadata preservation is minimal: FLV has a limited metadata structure and does not carry MPEG-specific timing or broadcast metadata. Neither format supports transparency, subtitles, or chapters, so no data of those types is lost. One practical note: MPEG-2 files from broadcast sources can have variable or non-standard frame rates and interlaced video; if your source is interlaced, you may want to add a deinterlace filter (-vf yadif) to the FFmpeg command to avoid comb artifacts in the H.264 output.

Related Tools