Initializing... drag & drop files here
Supports: F4V
This page takes one frame out of a Flash-era .f4v video and writes it as a .bmp. The route is a two-step one: the frame is extracted losslessly as a PNG first, then converted into a Windows bitmap using whichever quality preset you choose. That second step is where all the interesting behaviour lives, because BMP output on this site is not the plain uncompressed 24-bit file most people expect. Each preset produces a genuinely different kind of bitmap, and the differences are large.
BMP is worth reaching for when something old or something embedded needs it — a Windows control that only loads bitmaps, a firmware splash screen, a test fixture, a piece of industrial software from the 1990s. For anything else, F4V to PNG gives you a lossless frame at full colour depth and a fraction of the size, and F4V to JPG gives you something small and universal.
Measured on the same 1280 x 720 frame:
| Preset | Bit depth | Colours | Compression | Size |
|---|---|---|---|---|
| High | 16-bit, RGB555 — five bits per channel | 32 levels per channel, 32,768 possible | None; 2 bytes per pixel | 1,843,254 bytes |
| Medium | 8-bit palette | 256, with Floyd–Steinberg dithering and a light selective blur | Run-length encoded, BMP version 3 | 156,538 bytes |
| Low | 8-bit palette | 86, with Floyd–Steinberg dithering | Run-length encoded | 121,778 bytes |
The arithmetic confirms what the depths imply: High is 1280 × 720 × 2 bytes plus a 54-byte header, exactly. Medium and Low are palette images and compress heavily because run-length encoding works well on dithered flat areas.
There is no 24-bit true-colour option on this page. High is the top of the ladder and it is a 16-bit file. That is the single most surprising thing about BMP output here, and it matters if you assumed "BMP" meant "every pixel exactly as captured".
Five bits per channel gives 32 levels where the source frame has 256, and it is visible in smooth areas. Put a clean 256-step gradient through the ladder and count what comes out the other side:
| Path | Distinct colours in the result |
|---|---|
| Source frame | 256 |
| High preset | 65 |
| Medium preset | 205 |
| A plain 24-bit BMP, for reference | 256 |
Per pixel the shift is easy to see: a source pixel of srgb(127,0,128) came back as srgb(132,0,132) through the High preset, because 127 does not sit on a five-bit boundary and is rounded to the nearest one that does. On a photograph or a busy video frame this is rarely noticeable. On a gradient, a sky, a soft shadow or a screen-capture with subtle shading, it shows as banding.
Note the odd consequence: Medium can hold more distinct colours than High on smooth material, because its 256-entry palette is chosen to fit the image and then dithered, while High's 32 levels per channel are fixed in advance. High keeps more colour on a busy, high-detail frame; Medium keeps more on a gradient. Choose by content, not by the name.
The first one. Frame Selection opens on Specific Frame with the Time (seconds) field set to 0, so the grab is taken from the very start of the file. That is frequently the least useful frame in the clip, since videos often begin on black or on a fade-in. Type a timecode in seconds into the field to grab a specific moment, or switch to Multiple Screenshots to sweep the clip at an interval and pick from the results afterwards.
Because the High path writes an RGB555 bitmap — five bits each for red, green and blue, two bytes per pixel — rather than the eight-bits-per-channel file most people picture when they hear BMP. It is a legal and widely supported Windows bitmap variant, and it is genuinely uncompressed, so it satisfies most of the reasons people want BMP in the first place. But it is not a bit-exact copy of the frame, and no preset on this page produces one. If you need every captured value preserved, PNG is the right target.
There is nothing to keep — a video frame is opaque, so the question only arises if the source somehow carried an alpha channel. In any case, none of the three BMP paths writes an alpha channel: High is RGB555 with no alpha bits and Medium and Low are palette images. A converted bitmap comes back with no alpha information at all.
Because they degrade in different directions. High applies a fixed five-bits-per-channel grid to the whole image, which quantises smooth gradients into visible steps regardless of what is in the picture. Medium builds a 256-colour palette tailored to that specific frame and then dithers, which hides banding well on smooth material at the cost of detail in busy areas. On a gradient-heavy frame Medium can carry more distinct colours than High — measured, 205 against 65 on a smooth test gradient. On a detailed, high-contrast frame High wins comfortably.
Finding the frame you want without guessing timecodes. Instead of one grab at one moment, it walks the whole clip and takes a frame at the interval you set with Capture Rate, from 0.1 seconds per frame up to 10 seconds. You get one bitmap per captured frame. The efficient workflow on a long video is to sweep at a coarse interval, look through the results to identify the moment you want, then come back with Specific Frame and that timecode. Bear in mind that a sweep of a High-preset 1080p video produces a great many multi-megabyte files.
Only if the source is interlaced, which for F4V is unusual — Flash video was overwhelmingly progressive, since it was built for web delivery rather than broadcast. If your particular file did come from an interlaced source, be aware that there is no deinterlacing step anywhere in this pipeline, so a frame with movement in it would show the comb pattern. Picking a frame where the subject is still avoids it.
Yes, and all the usual controls are here. Keep original is pre-selected and gives the frame at the video's own pixel dimensions. Preset Resolutions sets the height and lets the width follow the source aspect. Width x Height takes exact numbers, which is what you want when a target slot has fixed dimensions — an embedded display or a splash screen, for instance. Resolution Percentage scales proportionally. Resizing before the BMP is written is much better than resizing the bitmap afterwards, because scaling a palette image re-quantises it a second time.
Because BMP at the High preset stores every pixel and video does not. A 1280 x 720 frame at two bytes per pixel is about 1.8 MB no matter what the picture contains, while a compressed video spends bits only where things change between frames. That is not a fault in the conversion — it is what "uncompressed bitmap" means. Choose Medium or Low if the size is a problem, or use PNG, which is lossless and still an order of magnitude smaller than an uncompressed bitmap.
Choose one. BMP output needs a preset to know which of the three quite different code paths to run, so treat it as a required decision rather than an optional refinement — and since the three produce different bit depths, different palettes and file sizes an order of magnitude apart, it is not a setting you want decided for you. Look at the ladder above, pick the row that matches what the bitmap is for, and set it before converting.
Your .f4v is uploaded over an encrypted connection, decoded and rendered on our servers, then deleted automatically after a few hours along with the bitmap it produced. There is no sign-up, no watermark, and nothing is shared or made public. A frame grab is quick work — the only slow part is uploading the video, and only the frames you asked for are ever written.