Initializing... drag & drop files here
Supports: M2V
An .m2v is not a video file in the everyday sense. It is a naked MPEG-2 video elementary stream — the picture data defined by ITU-T H.262 / ISO/IEC 13818-2 with no container wrapped around it, no audio, no index and, as this page explains, no presentation timestamps. DVD authoring suites, broadcast encoders and MPEG-2 hardware cards all write them as an intermediate. This page decodes one and hands you a Windows bitmap.
Two things about the combination are worth knowing before you start. The moment you type into Frame Selection is an estimate on this format rather than a lookup, and the Quality Preset on a BMP target is not a compression slider — it chooses between three structurally different bitmap encodings.
.m2v onto the page or click "Add Files" to browse. Several streams can be queued and they all use the same frame and quality settings.Every frame in a muxed file — an MPEG program stream, an MP4, a transport stream — carries a presentation timestamp, so a player can jump to a moment by looking it up. A raw elementary stream carries none. Run ffprobe over an .m2v and every frame reports pts_time=N/A, and the file as a whole reports duration=N/A and bit_rate=N/A. The decoder synthesises timing from the sequence header's frame-rate code, and a seek becomes an estimate against byte position.
The consequence is measurable. Encoding a 25 fps test clip to .m2v and asking for the frame at 0 seconds returned the twelfth frame, roughly half a second in; asking for 1 second returned that same twelfth frame; asking for 2 seconds returned frame 36 rather than frame 50. The same encode written as a muxed .mpg landed exactly where it was asked to.
So on this format:
The decode itself is exact either way: the frame comes out of the stream as a lossless PNG first, and only then is it encoded into the bitmap you asked for. Every question about how the still looks is a question about the preset.
BMP stores pixels literally, so there is no quality-versus-size dial in the JPEG sense. What the preset selects is the bitmap encoding itself:
| Preset | Bitmap written | Colours | Size behaviour |
|---|---|---|---|
| High | Uncompressed, 16 bits per pixel in RGB 555 layout | 32,768 | Fixed: two bytes per pixel plus a 54-byte header and row padding |
| Medium | 8-bit palette bitmap, RLE-compressed, classic BMP3 header, Floyd-Steinberg dithering and a light selective blur, metadata stripped | 256 | Much smaller; depends on how flat the picture is |
| Low | 8-bit palette bitmap, RLE-compressed, Floyd-Steinberg dithering, tagged at 150 pixels per centimetre | 86 | Smallest and most visibly dithered |
High is not 24-bit truecolour. It is the 16-bit RGB 555 layout — five bits each for red, green and blue — which Microsoft's BITMAPINFOHEADER reference documents as the fixed meaning of 16 bits per pixel under BI_RGB. The arithmetic is exact rather than approximate: a 704 x 480 frame taken at High measured 675,894 bytes, which is precisely two bytes for each of the 337,920 pixels plus the 54-byte header.
One practical warning: the preset that is preselected on other image targets is one of the entries a BMP target hides, so the box does not already hold a usable value. Open the list and choose High, Medium or Low deliberately.
| Property | In an .m2v |
Effect on your still |
|---|---|---|
| Presentation timestamps | Absent | Time-based frame selection is an estimate, as measured above |
| Duration and bitrate headers | Absent | Nothing reports how long the stream runs before it is decoded |
| Audio | Impossible — the stream is video only | Nothing to lose; a bitmap has no sound anyway |
| Frame rate | In the sequence header, but only from MPEG-2's legal set (23.976, 24, 25, 29.97, 30, 50, 59.94, 60) | A clip shot at an unusual rate was written at the nearest legal one, so sampled captures drift against wall-clock time |
| Interlacing | Very common on DVD and broadcast masters | Both fields land in the grab and moving objects show comb lines; nothing here deinterlaces |
| Pixel aspect ratio | Flagged, not baked in | 720 x 480 and 720 x 576 DVD frames are anamorphic; the stored raster is written as-is |
Because there is no container to store one. An .m2v is only the coded picture data; duration, bitrate, timestamps, chapter marks and stream indexes all live in a container layer that a bare elementary stream does not have. ffprobe reports duration=N/A and bit_rate=N/A for the file and pts_time=N/A for every individual frame. Players cope by counting frames and assuming the sequence header's frame rate, which is why the scrub bar behaves oddly and why seeking is approximate.
Roughly the beginning, but not reliably the first frame. In a measured test on a 25 fps stream, a request for 0 seconds returned the twelfth decoded frame — about half a second in — and a request for 1 second returned the same one. If you specifically need frame zero, take the whole stream through Multiple Screenshots at a fast Capture Rate and use the first bitmap it writes, or wrap the stream in a container first.
No. High writes an uncompressed 16-bits-per-pixel bitmap in the RGB 555 layout — five bits for each channel, 32,768 possible colours. It is the highest-fidelity option this page offers and it genuinely is uncompressed, but it is not the 24-bit truecolour BMP some software specifically requires. If a downstream tool insists on 24-bit, take M2V to PNG and set the depth in an image editor.
Both write an RLE-compressed palette bitmap with Floyd-Steinberg dithering, which spreads quantisation error into neighbouring pixels so banding reads as fine noise rather than hard steps. Medium keeps 256 colours, writes the classic BMP3 header form and applies a light selective blur before quantising, which helps flat graphics quantise cleanly. Low drops to 86 colours and tags the file at 150 pixels per centimetre. On photographic footage the difference is easy to see.
DVD MPEG-2 stores a 720 x 480 or 720 x 576 raster and flags the display aspect separately, so the player stretches it at showtime. A BMP has no field a receiving application will honour for that, and the pipeline writes the stored raster rather than the display shape. Set Image resolution to Width x Height and enter the dimensions you actually want the picture to be.
You can sample it densely, but not at full frame rate. Multiple Screenshots tops out at one capture every tenth of a second, which on 25 or 29.97 fps material is roughly one frame in three. At uncompressed sizes that is usually a mercy — a minute of 720 x 576 at High would be well over a gigabyte of bitmaps. Pick the slowest Capture Rate that still shows you what you need.
Yes, as far as the decode goes. The frame is extracted as a lossless PNG before anything else touches it, so no detail or sharpness is lost in reading the stream. What you give up happens at the encoding step and is purely colour resolution: 32,768 colours on High, 256 on Medium, 86 on Low. Geometry and edge definition are untouched unless you also resize.
It is the right choice when something specific demands it — machine-vision software, an embedded display driver, a printer utility, a forensic workflow or Windows software old enough to trust nothing else. For anything else the trade is poor: BMP is uncompressed or crudely palettised, carries no metadata beyond dimensions and pixel density, and is far larger than the alternatives. M2V to PNG gives you true-colour lossless at a fraction of the size, and M2V to JPG is the sensible option for sharing.
Your .m2v is uploaded over an encrypted connection, decoded on our servers, and both the upload and every bitmap it produced are deleted automatically after a few hours. Nothing is shared or made public, there is no sign-up and no watermark. Elementary streams from DVD authoring are often large for their running time, so if you only want a still from one section it is quicker to cut it down first with video cutter.