Convert RMVB to TS — Free Online Tool
Convert RMVB (RealMedia Variable Bitrate) files to MPEG-2 Transport Stream (TS) format, re-encoding the video with H.264 and audio with AAC — making legacy RealNetworks content compatible with broadcast pipelines, HLS streaming workflows, and modern media players that no longer support the proprietary RealMedia codec.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your RMVB 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
RMVB files use RealNetworks' proprietary RealVideo and RealAudio codecs, which are not natively supported in modern broadcast or streaming infrastructure. During this conversion, FFmpeg fully decodes the RealVideo stream and re-encodes it as H.264 using the libx264 encoder (CRF 23 by default), and decodes the RealAudio stream and re-encodes it as AAC at 128k bitrate. The output is wrapped in an MPEG-2 Transport Stream container, a packet-based format specifically designed for reliable transmission over lossy networks and direct compatibility with HLS segmenters and broadcast encoders. Because the RealMedia codecs cannot be stream-copied into a TS container, full transcoding of both video and audio is unavoidable — this means some generation loss occurs, but the result is a widely compatible file that can be ingested by virtually any modern media tool.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg command-line tool, which handles all decoding, encoding, and container muxing. In the browser version, this runs via FFmpeg.wasm compiled to WebAssembly — no server is involved. |
-i input.rmvb
|
Specifies the input file as an RMVB (RealMedia Variable Bitrate) container. FFmpeg automatically detects the proprietary RealVideo and RealAudio codecs inside and loads the appropriate decoders. |
-c:v libx264
|
Re-encodes the video stream using the libx264 H.264 encoder, replacing the proprietary RealVideo codec with a standardized, widely supported format that the MPEG-2 TS container can carry. |
-c:a aac
|
Re-encodes the audio stream as AAC, replacing the original RealAudio codec with AAC — the standard audio codec for TS-based streaming and broadcast workflows including HLS. |
-crf 23
|
Sets the Constant Rate Factor for the H.264 encoder to 23, the libx264 default, which provides a good balance between visual quality and file size when transcoding from the compressed RealVideo source. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, which is sufficient for most speech and music content and appropriate given that the RealAudio source was itself a lossy, often low-bitrate encoding. |
output.ts
|
Specifies the output filename with a .ts extension, telling FFmpeg to mux the re-encoded H.264 video and AAC audio into an MPEG-2 Transport Stream container formatted for broadcast and streaming compatibility. |
Common Use Cases
- Reviving old RMVB video archives downloaded in the early 2000s so they can be played on modern devices and smart TVs that dropped RealPlayer support years ago
- Ingesting legacy RMVB content into a broadcast or IPTV playout system that requires MPEG-2 TS as its ingest format
- Preparing RMVB source footage for HLS adaptive streaming pipelines, since TS is the native segment format used by HLS
- Converting a collection of RMVB films or series episodes into a format compatible with media server software like Plex or Jellyfin without requiring on-the-fly transcoding at playback time
- Archiving RMVB content in a future-proof container using standardized H.264 and AAC codecs before the source files become entirely unplayable as RealMedia support erodes further
- Editing RMVB-sourced footage in professional video editing applications that accept TS/H.264 but cannot import the proprietary RealVideo codec
Frequently Asked Questions
Yes, some quality loss is unavoidable because RMVB uses a proprietary RealVideo codec that cannot be copied directly into a TS container — FFmpeg must fully decode and re-encode the video as H.264. The default CRF value of 23 produces good visual quality for most content, and the resulting H.264 stream is often comparable or superior to the original RealVideo encoding, especially since many RMVB files were already distributed at heavily compressed bitrates. If you need to minimize quality loss, lower the CRF value (e.g., -crf 18) at the cost of a larger output file.
Stream copying (using -c:v copy) is only possible when the source codec is natively supported by the target container. MPEG-2 Transport Stream supports H.264, H.265, VP9, and other standardized codecs, but not RealVideo — the proprietary codec used in RMVB files. Because of this incompatibility, FFmpeg must fully decode the RealVideo stream and re-encode it into a supported codec like H.264 before it can be placed inside a TS container.
RMVB files were typically distributed at very low bitrates using aggressive RealVideo compression, often resulting in small file sizes. When re-encoded as H.264 at CRF 23, the output TS file may actually be larger than the RMVB source, because H.264 at a moderate quality level often uses more bits than a heavily compressed RealVideo stream. If file size is a concern, you can increase the CRF value (e.g., -crf 28 or -crf 30) to reduce the output bitrate, though this will lower visual quality.
Yes — MPEG-2 Transport Stream is the native segment format for HLS (HTTP Live Streaming), and the H.264 video and AAC audio produced by this conversion are the most widely supported codec combination for HLS delivery. However, for actual HLS deployment you would typically use FFmpeg's -hls_* options to split the TS output into timed segments with an accompanying .m3u8 playlist, rather than a single continuous TS file.
To adjust video quality, change the -crf value: lower numbers (e.g., -crf 18) mean higher quality and larger files, while higher numbers (e.g., -crf 28) mean lower quality and smaller files. The range is 0 (lossless) to 51 (worst quality), with 23 as the default. To adjust audio quality, change the -b:a value to options like 96k, 192k, or 320k depending on how much fidelity you need from the re-encoded AAC track. For example: ffmpeg -i input.rmvb -c:v libx264 -c:a aac -crf 18 -b:a 192k output.ts
No. RMVB does not natively support embedded subtitles or chapter markers in a format that FFmpeg can extract, and this conversion does not attempt to pass through any such data. Notably, while the TS format does support subtitle streams, there is nothing to carry over from the RMVB source. If your RMVB content had external subtitle files (e.g., .srt or .ass), you would need to add them to the FFmpeg command separately using the -i flag for the subtitle file and an appropriate subtitle codec.
Technical Notes
RMVB (RealMedia Variable Bitrate) is a proprietary container from RealNetworks that uses variable bitrate encoding to balance file size and quality — a technique that was advanced for its era but relied on codecs (RealVideo 8/9/10 and RealAudio) that are now effectively orphaned. FFmpeg can decode these streams but cannot mux RealVideo or RealAudio into modern containers, making full transcoding mandatory for any format conversion. The H.264 output placed inside the TS container uses libx264's default settings plus the specified CRF, which applies psychovisual rate control suited for progressive video content. One important characteristic of MPEG-2 Transport Stream is its packet-based structure (188-byte fixed packets), which introduces a slight overhead compared to file-oriented containers like MP4 — TS files for the same content will be marginally larger than equivalent MP4 files. TS also does not support chapter markers. The format does support multiple audio tracks and subtitles (useful for broadcast), but since RMVB sources typically carry a single audio track and no embedded subtitles, these TS capabilities go unused in this conversion. Metadata such as title or author embedded in the RMVB container may not be preserved in the output, as RealMedia uses proprietary metadata structures that do not map cleanly to TS.