Initializing... drag & drop files here
Supports: XCF
XCF (eXperimental Computing Facility) is GIMP's native project format, introduced when GIMP first shipped in 1997. It preserves layers, channels, paths, selections, and guides — everything you need to keep editing — but nothing outside GIMP opens it cleanly. RMVB (RealMedia Variable Bitrate) is RealNetworks' container, released in 2003, that wraps RealVideo and RealAudio streams using variable bitrate so complex frames get more data and static frames less. The format peaked in the mid-2000s and remains common in legacy Asian — particularly Chinese — media archives.
For modern playback on phones, browsers, and TVs, XCF to MP4 or XCF to MKV is almost always the better default. Pick RMVB only when something downstream specifically requires it.
| Property | XCF | RMVB |
|---|---|---|
| Type | Layered raster image (project file) | Video container with VBR audio + video |
| Origin | GIMP, December 1997 | RealNetworks, 2003 |
| Stores | Layers, channels, paths, selections, guides | RealVideo (RV10-RV40) + RealAudio streams |
| Bitrate model | N/A — single still image | Variable bitrate (adjusts per scene) |
| Native players / editors | GIMP only (Krita, Photopea read partial) | VLC, RealPlayer, MPC-HC, MPlayer, MX Player |
| Browser support | None | None — out-of-browser playback only |
| Modern alternative | OpenRaster (.ora), PSD | MP4 (H.264/H.265), MKV |
| Mode | What it controls | Pick when |
|---|---|---|
| Quality Preset | Tiered presets from Highest to Lowest | You want a one-click result; "Very High" is the on-page default |
| Target file size (%) | Output ≈ chosen percentage of input | You want predictable file-size reduction |
| Specific file size | Hard cap (e.g., 50 MB) | You're fitting an upload or attachment cap |
| Constant Bitrate | Fixed kbps, even on static frames | Streaming-style consistent bandwidth |
| Variable Bitrate | Bitrate flexes with scene complexity | Default for RMVB — matches the format's design |
| Constant Quality (CRF) | Encoder targets a perceptual quality value | You care about look, not file size |
| Constraint Quality | CRF with a max-bitrate ceiling | You want CRF look but with bandwidth bounded |
RMVB is RealMedia Variable Bitrate. The plain RealMedia (.rm) container, used through the late 1990s and early 2000s for streaming, encodes at a constant bitrate so the stream can fit a fixed pipe. RMVB drops the streaming constraint and lets the encoder spend more bits on motion-heavy scenes and fewer on static ones, which is why it's used for stored files (movies, TV episodes) rather than live streams.
No — RMVB is a video container, not an image format. Each XCF is flattened (layers, masks, and adjustment layers composited down) before being written as a frame in the RMVB. Keep your original.xcf project files if you need to re-edit later; the conversion is one-way.
In almost every modern context — browsers, phones, smart TVs, social platforms — they shouldn't. RealVideo codec development was effectively wound down years ago, and the format isn't supported on iOS or Android out of the box. The realistic reasons to pick it: you're matching an existing legacy archive, targeting a specific older Chinese set-top box or media library, or keeping compatibility with a workflow that already standardized on RMVB.
VLC plays RMVB cross-platform on Windows, macOS, and Linux without extra codec installs. MPlayer, xine, and Totem use FFmpeg's open-source RealVideo implementation on Linux. On Windows, RealPlayer SP and Media Player Classic with the right DirectShow filters work. On Android, MX Player has long been the go-to. Modern browsers, iOS Safari, and the default Windows 11 Media Player do not play RMVB without third-party software.
For a readable still slideshow, 3-5 seconds per image is the comfortable range — long enough to absorb a frame, short enough to keep momentum. Wedding/portfolio shows often go 4-6 seconds. If you're animating storyboard panels or comic frames, dropping to 1-2 seconds creates a flipbook feel; the duration dropdown goes as low as 1/60 second per frame for true motion sequences.
The flattening step uses GIMP's standard rendering output, which is 8-bit-per-channel sRGB in the converted frame. High-bit-depth precision and any color information outside sRGB will be clipped to the standard video color space. If color fidelity matters (print proofing, HDR work), export from GIMP to a 16-bit TIFF or PNG first and inspect the result before committing to RMVB.
The XCF-to-RMVB pipeline emits silent video by default — there's no audio track combine step in this tool. To add audio, generate the RMVB first, then use a desktop tool (FFmpeg, Avidemux, or the original GIMP-script approach) to mux a separate audio track. For a one-step audio + slideshow workflow, an MP4 target tends to be easier to mux later.
Variable bitrate optimizes for content complexity, not for "smallest possible." If your slideshow has long static frames, VBR stays low; if it has motion, fades, or noise (especially scanned or photo-textured XCFs), VBR spends bits to preserve detail. To force a smaller file, switch the compression mode to "Target file size (%)" or "Specific file size" and let the encoder hit the cap, accepting some quality loss. Lowering resolution to 720p often cuts file size more than any bitrate tweak.
Constant Quality (CRF) tells the encoder to hit a target perceptual quality value and use whatever bitrate is needed — easy frames get tiny, hard frames get large. Constraint Quality is the same idea with a maximum bitrate ceiling, so peaks don't blow past your bandwidth budget. CRF for offline viewing where size doesn't matter; Constraint Quality when something downstream (a hardware player, a network) caps how high bitrate can spike.
For new work, convert to MP4 or WebM. XCF to MP4 gives you H.264 video that plays everywhere; XCF to WebM is better for direct embedding in modern web pages. RMVB makes sense only when a specific legacy environment requires it. If you also need to flatten layers without going to video, XCF to PNG preserves transparency and XCF to JPG gives a smaller still.