Convert RMVB to 3GP — Free Online Tool

Convert RMVB video files to 3GP format optimized for 3G mobile phones, re-encoding the RealVideo/RealAudio streams into H.264 video and AAC audio inside a mobile-friendly container. This is especially useful for playing older RealMedia content on mobile devices that never supported the proprietary RealNetworks codec.

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

RMVB files use RealNetworks' proprietary variable-bitrate RealVideo and RealAudio codecs, which are incompatible with virtually all modern mobile devices and the 3GP container. This conversion is a full transcode: the video stream is decoded from RealVideo and re-encoded as H.264 using libx264, while the audio is decoded from RealAudio and re-encoded as AAC at 64k — a bitrate chosen to keep file sizes small for mobile storage and low-bandwidth delivery. A special scaling filter (scale=trunc(iw/2)*2:trunc(ih/2)*2) ensures the output dimensions are divisible by 2, which is required by the H.264 encoder and prevents errors if the source RMVB has an odd pixel width or height. Because both codecs are being fully re-encoded, this process is CPU-intensive and will take longer than a simple remux.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary, the open-source multimedia processing engine that handles the full decode-transcode-encode pipeline required to move from RealNetworks' proprietary RMVB format to mobile-targeted 3GP.
-i input.rmvb Specifies the input RMVB file. FFmpeg detects the RealMedia container and identifies the embedded RealVideo and RealAudio streams for decoding.
-c:v libx264 Re-encodes the video stream using the libx264 H.264 encoder, replacing the proprietary RealVideo codec with a widely supported standard that 3GP players and modern mobile devices can decode natively.
-c:a aac Re-encodes the audio stream as AAC using FFmpeg's built-in AAC encoder, replacing the proprietary RealAudio codec with a standard lossy audio format compatible with the 3GP container and mobile playback.
-crf 23 Sets the H.264 Constant Rate Factor to 23, which is the libx264 default and produces a visually balanced quality-to-filesize ratio suitable for mobile screen sizes typical of 3GP usage.
-b:a 64k Sets the AAC audio bitrate to 64 kilobits per second, reflecting 3GP's design target of low storage and low-bandwidth mobile delivery — lower than desktop defaults but adequate for speech and moderate-quality music on small phone speakers.
-vf scale=trunc(iw/2)*2:trunc(ih/2)*2 Applies a video filter that rounds the output width and height down to the nearest even number. This is required because libx264 cannot encode frames with odd pixel dimensions, and RMVB sources from the RealNetworks streaming era frequently have non-standard resolutions that would otherwise cause the encoder to fail.
output.3gp Specifies the output filename and instructs FFmpeg to use the 3GP container format, the mobile multimedia format defined by the 3GPP standard for use on 3G phones.

Common Use Cases

  • Playing downloaded RMVB anime or drama files on older 3G feature phones or early Android devices that lack a RealMedia player
  • Archiving RMVB video content from the early 2000s into a more portable mobile format before the source files become unplayable on modern systems
  • Reducing large RMVB downloads to smaller 3GP files for storage on memory-card-limited mobile devices
  • Sending short RMVB video clips via MMS or low-bandwidth mobile messaging services that require 3GP format
  • Preparing RMVB lecture recordings or screencasts for offline viewing on mobile devices during commutes without Wi-Fi
  • Converting RMVB content from RealPlayer streaming archives into a format compatible with 3GP-capable media players embedded in automotive or portable navigation systems

Frequently Asked Questions

Yes, some quality loss is unavoidable because this is a full transcode from RealVideo to H.264 and from RealAudio to AAC — there is no lossless path between these codecs. The default CRF of 23 produces visually reasonable H.264 quality, but the audio is capped at 64k AAC by default, which is noticeably compressed compared to typical RMVB audio. Since 3GP is explicitly designed for small screens and low bandwidth, the quality tradeoff is generally acceptable for mobile viewing.
The filter scale=trunc(iw/2)*2:trunc(ih/2)*2 ensures the output video dimensions are divisible by 2, which is a hard requirement of the H.264 encoder (libx264). Some RMVB files have odd pixel dimensions due to how RealNetworks encoded them, and without this filter FFmpeg will throw an error and refuse to encode. If you already know your RMVB source has even dimensions, you can omit the -vf flag safely, but leaving it in causes no harm.
Replace -b:a 64k with a higher bitrate such as -b:a 96k or -b:a 128k. Keep in mind that 3GP was designed for low-bandwidth mobile use, so files with 128k AAC audio will be noticeably larger. If your target device supports it, 96k AAC is usually a good balance between file size and audio clarity for voice or music content originally encoded in RMVB.
Yes. On Linux or macOS, you can use a shell loop: for f in *.rmvb; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 64k -vf scale=trunc(iw/2)*2:trunc(ih/2)*2 "${f%.rmvb}.3gp"; done. On Windows Command Prompt, use: for %f in (*.rmvb) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 64k -vf scale=trunc(iw/2)*2:trunc(ih/2)*2 "%~nf.3gp". The browser-based tool processes one file at a time, so the desktop FFmpeg command is the practical choice for batch jobs.
No. Neither subtitles nor chapters are preserved in this conversion. RMVB can carry RealText or SMIL-based subtitle streams, but the 3GP container format does not support external or embedded subtitle tracks in this FFmpeg configuration, and no subtitle mapping flag is included in the command. If your RMVB file has subtitles you need to keep, you would need to burn them into the video using a separate filter before converting.
RMVB's variable bitrate design was often used for high-motion content at relatively generous bitrates by the standards of the early 2000s. The 3GP profile here targets mobile delivery, so H.264 at CRF 23 combined with 64k AAC audio typically produces a much smaller file. H.264 is also significantly more compression-efficient than older RealVideo codecs, meaning it can achieve the same perceived quality at a lower bitrate — so the file shrinks even when quality is maintained.

Technical Notes

RMVB (RealMedia Variable Bitrate) is a proprietary container tied to RealNetworks' codec ecosystem, and its video and audio streams cannot be remuxed directly into 3GP — both streams must be fully decoded and re-encoded. The libx264 encoder produces a Baseline or Main Profile H.264 stream by default, which maximizes compatibility with older 3G devices; you can add -profile:v baseline -level 3.0 to the command for stricter compatibility with very old feature phones. The default audio bitrate of 64k AAC reflects the 3GP format's heritage as a low-storage, low-bandwidth mobile format — this is significantly lower than the 128k default used in most desktop-targeted formats. Metadata such as title, author, and copyright tags embedded in the RMVB container are generally not carried over to the 3GP output because RealNetworks uses a proprietary metadata scheme incompatible with the 3GP/ISOBMFF metadata model. The special_flags scaling filter is non-negotiable when working with RMVB sources, which frequently have non-standard resolutions from the era of dial-up streaming optimization.

Related Tools