Convert FLV to RMVB — Free Online Tool
Convert FLV files to RMVB format using FFmpeg.wasm entirely in your browser — no uploads required. This conversion re-encodes the FLV's H.264 or Sorenson Spark video into an H.264 stream inside the RealMedia Variable Bitrate container, trading Flash Player dependency for a widely distributed, compressed format historically popular for Asian media content.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your FLV 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
FLV is a streaming container developed by Adobe that typically carries H.264 or older FLV-native video codecs alongside AAC or MP3 audio. RMVB is RealNetworks' variable bitrate extension of the RealMedia container, but modern FFmpeg support for RMVB output actually wraps libx264 video and AAC audio inside it rather than RealVideo codecs. During this conversion, the video stream is re-encoded using libx264 with a CRF quality setting (default 23), which means every frame is analyzed and compressed — this is a full transcode, not a remux. Audio is simultaneously re-encoded to AAC at 128k bitrate. The result is an RMVB file compatible with players like VLC or classic RealPlayer-era software that recognizes the container, while the actual codec payload is the broadly supported H.264/AAC combination.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary, the open-source multimedia processing engine that powers this conversion. In the browser version, this runs as FFmpeg.wasm compiled to WebAssembly. |
-i input.flv
|
Specifies the input file in FLV (Flash Video) format. FFmpeg will detect the container and demux the video and audio streams — which may be H.264, Sorenson Spark, VP6, AAC, or MP3 depending on the FLV source. |
-c:v libx264
|
Re-encodes the video stream using the libx264 encoder, producing H.264 video output. This is necessary because RMVB's FFmpeg muxer requires a supported codec, and libx264 provides the best balance of compatibility and compression for the RMVB container. |
-c:a aac
|
Re-encodes the audio stream to AAC using FFmpeg's native AAC encoder. FLV files may carry MP3 audio, so this ensures the audio is transcoded to AAC, which is the default and widely compatible audio codec for this RMVB output. |
-crf 23
|
Sets the Constant Rate Factor for libx264 to 23, the default quality level. Lower values produce higher quality and larger files; for Flash-era FLV sources that are already lossy, values between 20 and 28 represent a practical range for the RMVB output. |
-b:a 128k
|
Sets the audio bitrate to 128 kilobits per second for the AAC stream in the RMVB output. This is a standard bitrate for stereo audio that balances file size with acceptable fidelity, appropriate for most FLV sources which were originally compressed for web streaming. |
output.rmvb
|
Specifies the output filename with the .rmvb extension, which tells FFmpeg to use the RealMedia Variable Bitrate muxer. The resulting file will contain H.264 video and AAC audio wrapped in the RMVB container format. |
Common Use Cases
- Converting archived Flash-era FLV video downloads into RMVB format for playback on media players and devices that index or catalog RMVB collections, common in East Asian home theater setups.
- Packaging old FLV recordings of web streams or broadcasts into RMVB for distribution in communities and forums where RMVB remains the expected file format for sharing compressed video.
- Migrating a legacy library of FLV files captured from Flash-based video platforms (before their shutdown) into RMVB as a more durable archival format that doesn't depend on Flash Player infrastructure.
- Re-encoding FLV files with variable bitrate output in RMVB to reduce file size compared to fixed-bitrate alternatives, useful when storing large collections of recorded lectures or events.
- Preparing FLV source footage for distribution on networks or peer-to-peer communities where RMVB is the predominant container format and recipients' players are configured for it.
- Generating an FFmpeg command reference for batch-converting entire FLV archives to RMVB on a local desktop machine, especially when files exceed 1GB and browser-based processing isn't practical.
Frequently Asked Questions
Yes, this is a lossy-to-lossy transcode, meaning both the video and audio are fully re-encoded rather than copied. The FLV's existing compressed video is decoded and then re-compressed using libx264 at CRF 23, which introduces a second generation of compression artifacts. If your source FLV is already heavily compressed or low-resolution — as many Flash-era web videos are — the output quality may be visibly degraded. To minimize loss, lower the CRF value toward 18 or 15 for higher video quality at the cost of a larger file.
Modern FFmpeg does not support encoding with RealVideo or RealAudio codecs — those proprietary encoders are not included in open-source builds. When FFmpeg writes to the RMVB container, it uses the codecs it does support, specifically libx264 for video and AAC for audio. The resulting file uses the RMVB container structure but carries H.264/AAC streams, which most modern media players handle correctly even if the file extension suggests RealMedia heritage.
Change the -crf value in the command to control video quality. CRF (Constant Rate Factor) ranges from 0 (lossless) to 51 (worst quality), with 23 as the default. For FLV sources that were originally high-quality, use -crf 18 or -crf 20 to preserve more detail in the RMVB output. For sources that were already low-quality Flash video, -crf 28 may be sufficient and will produce a smaller file. Pair this with a higher -b:a value like 192k if your FLV source had high-quality audio worth preserving.
Yes. On Linux or macOS, you can run a shell loop: for f in *.flv; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.flv}.rmvb"; done. On Windows Command Prompt, use: for %f in (*.flv) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.rmvb". This is especially useful for converting large FLV archives since the browser-based tool handles files up to 1GB individually.
FLV files often carry minimal metadata, and the RMVB container has limited standardized metadata support in FFmpeg's muxer. Basic metadata tags that exist in the FLV — such as duration or title — may not transfer reliably to the RMVB output. If metadata preservation is important, inspect your source FLV with ffprobe first and consider embedding tags explicitly in the FFmpeg command using the -metadata flag, for example -metadata title="My Video".
Since the output contains H.264 video and AAC audio inside an RMVB wrapper, VLC Media Player handles it reliably across Windows, macOS, and Linux. PotPlayer and MPC-HC with appropriate codec packs also play these files without issue. Classic RealPlayer may struggle depending on its version, as it expects RealVideo streams rather than H.264. Most modern smart TVs and Android-based media players that support RMVB file association will also play the output correctly.
Technical Notes
The RMVB format was historically associated with RealNetworks' proprietary RealVideo and RealAudio codecs, but FFmpeg's RMVB muxer supports writing libx264 video and AAC or MP3 audio into the container instead. This means the output is technically a valid RMVB container with non-native codec streams — a common approach in the file-sharing communities where RMVB became popular for distributing compressed movies and TV shows. FLV files from the Flash era may contain either H.264 video (the more modern FLV profile) or the older Sorenson Spark (FLV1) or VP6 codecs; all of these will be decoded and re-encoded to H.264 during this conversion, so even poorly supported older FLV codecs are handled transparently. Neither FLV nor RMVB supports embedded subtitles, chapter markers, or multiple audio tracks, so no features are lost or gained in that regard. File sizes will vary significantly depending on the source FLV's original bitrate and content complexity — action-heavy or high-motion FLV content will result in larger RMVB files at CRF 23 than static or low-motion content. The variable bitrate nature of the RMVB container aligns well with CRF encoding, since CRF naturally allocates more bits to complex scenes and fewer to simple ones.