Convert AVI to FLV — Free Online Tool
Convert AVI files to FLV format using H.264 video and AAC audio — the codec combination used by Flash-era streaming platforms like YouTube and Vimeo before HTML5 took over. This tool runs entirely in your browser via FFmpeg.wasm, so your files never leave your device.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your AVI 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
AVI is a legacy Microsoft container that can hold a variety of video codecs (including MJPEG, PNG, or H.264) alongside MP3 or AAC audio. During conversion to FLV, the video stream is re-encoded to H.264 (libx264) regardless of the source codec, since FLV's native codec support is limited. The audio is transcoded from whatever the AVI contains — commonly MP3 — to AAC, which is the preferred audio codec for FLV when paired with H.264 video. This means both streams undergo full re-encoding, not a simple remux, so the CRF quality setting directly controls the visual fidelity of the output. The resulting FLV file uses the interleaved A/V structure expected by Flash Player-based systems and RTMP streaming infrastructure.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary — the open-source multimedia processing engine that handles the actual decoding, re-encoding, and container remuxing for this AVI-to-FLV conversion. |
-i input.avi
|
Specifies the input file as an AVI container. FFmpeg will detect the internal video and audio codecs automatically, whether that's MJPEG, H.264, MP3, or another codec commonly found in AVI files. |
-c:v libx264
|
Re-encodes the video stream to H.264 using the libx264 encoder, which is required because FLV's useful codec options are limited, and H.264 is the highest-quality and most compatible choice for FLV delivery. |
-c:a aac
|
Transcodes the audio stream to AAC, replacing whatever audio codec the AVI contained (commonly MP3 or PCM). AAC is the standard audio codec paired with H.264 in FLV files and offers better quality than MP3 at equivalent bitrates. |
-crf 23
|
Sets the Constant Rate Factor for the H.264 encoder to 23, which is the libx264 default and provides a good balance between visual quality and file size. Lower values (e.g., 18) produce higher quality at larger file sizes; higher values (e.g., 28) reduce file size with more visible compression artifacts. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, a standard quality level suitable for speech and general-purpose video content. For music-heavy AVI files where audio fidelity matters more, increasing this to 192k or 256k is recommended. |
output.flv
|
Defines the output filename and tells FFmpeg to write the result as an FLV container. The .flv extension signals FFmpeg to use the FLV muxer, which structures the H.264 video and AAC audio streams into the format expected by Flash Player and RTMP streaming systems. |
Common Use Cases
- Uploading legacy AVI footage to older Flash-based video hosting platforms or CMS systems that only accept FLV input
- Preparing AVI video files for RTMP streaming workflows where FLV is the required ingest container
- Converting AVI recordings from older capture cards or camcorders into FLV for use in legacy Adobe Flash or Flex applications
- Archiving or re-packaging AVI content into FLV for compatibility with older media players, kiosk systems, or set-top boxes that predate HTML5 video support
- Generating FLV files from AVI source material for use with open-source streaming servers like Red5 or Wowza running older configurations
- Re-encoding AVI files with inconsistent or exotic video codecs (like MJPEG or DivX) into a standardized H.264/AAC FLV package for predictable playback
Frequently Asked Questions
Yes, some quality loss is expected because this conversion involves full re-encoding of the video stream to H.264, not a lossless remux. The degree of quality loss depends on the CRF value used — the default of 23 is a good balance for most content. If your AVI source already uses H.264, you still cannot avoid re-encoding because the FLV container and the AVI container handle stream packaging differently, and FFmpeg must decode and re-encode rather than copy the stream.
While FLV technically supports MP3 audio, the combination of H.264 video with AAC audio in FLV became the dominant standard for Flash video delivery (used by YouTube, Vimeo, and others before HTML5). AAC generally achieves better audio quality than MP3 at the same bitrate, and it is more compatible with modern FLV-consuming infrastructure. If your AVI contains MP3 audio, it will be transcoded to AAC at 128k by default during this conversion.
No. AVI can carry multiple audio tracks, but FLV only supports a single audio track. During conversion, FFmpeg will automatically select the default or first audio track from your AVI file and encode it as the sole audio stream in the FLV output. Any secondary audio tracks present in the AVI — such as alternate language dubs or commentary tracks — will be silently dropped. If you need a specific audio track, you can modify the FFmpeg command with the '-map' flag to select it explicitly.
Yes. The '-crf 23' flag controls H.264 video quality on a scale from 0 (lossless) to 51 (worst quality). Lower values mean higher quality and larger file sizes. For high-quality archival output, try '-crf 18'; for smaller files where quality is less critical, '-crf 28' is a reasonable starting point. You can also adjust audio quality by changing '-b:a 128k' to a higher value like '-b:a 192k' or '-b:a 256k' for better audio fidelity.
The single-file command shown on this page can be adapted for batch processing on your desktop. On Linux or macOS, you can run: 'for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.avi}.flv"; done'. On Windows Command Prompt, use a for loop: 'for %f in (*.avi) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.flv"'. The browser tool processes one file at a time, so the FFmpeg command is especially useful for bulk conversions.
AVI has limited metadata support compared to modern containers, and FLV's metadata model is also minimal — it primarily stores playback-related data like duration and framerate in an onMetaData event rather than rich ID3-style tags. FFmpeg will attempt to carry over basic metadata fields it recognizes, but custom or application-specific AVI metadata is likely to be lost. Neither AVI nor FLV supports subtitles or chapter markers, so those limitations are consistent across both formats.
Technical Notes
FLV (Flash Video) was designed as a delivery container for Adobe Flash Player and supports a narrow set of codecs compared to AVI. On the video side, FLV officially supports the legacy Sorenson Spark codec (FLV1), VP6, and H.264 — this tool uses libx264 (H.264/AVC), which is the highest-quality option and the one used by major streaming platforms during the Flash era. AVI can carry a much wider range of video codecs including MJPEG, DivX/Xvid, and PNG (for lossless frame sequences), all of which must be re-encoded to H.264 for FLV output. On the audio side, FLV supports MP3, AAC, ADPCM, and Nellymoser; this tool outputs AAC, which pairs correctly with H.264 in FLV and offers better compression efficiency than MP3. One notable limitation: FLV does not support multiple audio tracks, so only the primary track from a multi-track AVI will be preserved. FLV also lacks support for subtitles and chapter markers, though AVI does not support those features either, so nothing is lost in that regard. File sizes will vary depending on the source AVI's codec — an MJPEG AVI will typically shrink dramatically when re-encoded to H.264, while an AVI already using H.264 will see more modest changes. The output FLV is fully compatible with RTMP-based streaming servers and legacy Flash Player deployments.