Initializing... drag & drop files here
Supports: MPG, MPEG
.mpg or .mpeg files (MPEG-1 or MPEG-2 program streams) onto the upload area, or click "Add Files" to browse. Batch is supported, so a folder of clips from a camcorder or DVD rip can be processed together.12.75 for the 12.75-second mark — millisecond precision is supported). Choose Multiple Screenshots to extract a sequence at a fixed cadence — every 0.1 s, 0.2 s, 0.5 s, 1 s, 2 s, 3 s, 5 s, or up to 10 s per frame..mpg / .mpeg is the program-stream container defined by MPEG-1 (1993) and MPEG-2 / H.262 (1996). It still shows up everywhere old digital video lives: DVD-Video discs (which wrap MPEG-2 inside .VOB), Video CDs (MPEG-1 at 352×240 NTSC or 352×288 PAL, 1.15 Mbps), miniDV-era camcorder exports, satellite/cable PVR captures, and broadcast archives. JPEG (ISO/IEC 10918-1, ITU-T Recommendation T.81) is the universal still-image format — every browser, OS, photo app, and printer driver renders it without plugins. Converting MPEG frames to JPG lets you treat moving footage as a library of stills.
| Property | MPEG-1 | MPEG-2 (H.262) | MPEG-4 Part 2 / H.264 |
|---|---|---|---|
| Standardized | 1993 (ISO/IEC 11172) | 1995 (ISO/IEC 13818) | 1999 / 2003 |
| Typical container | .mpg, .mpeg, .dat |
.mpg, .mpeg, .vob, .ts |
.mp4, .m4v, .mov |
| Where you find it | Video CD (VCD), early web video, MP3 audio's video sibling | DVD-Video, ATSC/DVB broadcast TV, SVCD, miniDV exports | Streaming, modern recordings |
| Max resolution | 352×240 / 352×288 (SIF) | 1920×1152 (MP@HL) | 4096×2304+ |
| Interlacing | Progressive only | Progressive and interlaced | Both |
| Bitrate range | ~1.15 Mbps (VCD spec) | ~3–15 Mbps (DVD) | Highly variable |
xconvert accepts both .mpg and .mpeg extensions and decodes MPEG-1 and MPEG-2 program streams the same way — extension and naming are just convention. If your file is actually an MPEG-4 / H.264 .mp4, use Convert MP4 to JPG instead.
| Preset | JPEG quality target | Typical use |
|---|---|---|
| Highest | ~98–100 | Print, archival, forensic stills |
| Very High (default) | ~90–95 | Web hero images, thumbnails, sharing |
| High | ~80–85 | Catalog tiles, blog inline images |
| Medium | ~70–75 | Contact sheets, email attachments |
| Low / Very Low / Lowest | ≤60 | Quick proxies, thumbnail strips, file-size-critical previews |
JPEG is lossy — every step down throws away high-frequency DCT coefficients in 8×8 blocks. At Medium and below you'll start to see ringing around sharp edges (titles, subtitles, captions) and blocking in flat sky / wall regions, which is most visible on stills pulled from interlaced MPEG-2.
| Goal | Mode | Setting |
|---|---|---|
| Single thumbnail | Specific Frame | Time = 3.0 (or whichever second has a clean shot) |
| First-frame poster | Specific Frame | Time = 0 |
| Mid-clip preview | Specific Frame | Time = duration ÷ 2 |
| 1 fps contact sheet | Multiple Screenshots | Every 1 second |
| 12-image storyboard from a 60s clip | Multiple Screenshots | Every 5 seconds |
| Slow-motion analysis | Multiple Screenshots | Every 0.1 seconds (10 fps) |
| Quick chapter index of a 2-hour DVD rip | Multiple Screenshots | Every 10 seconds (~720 stills) |
If your file is .vob, rename or remux to .mpg / .mpeg first. VOB is a strict subset of the MPEG-2 program stream with extra navigation packets (NAV PACKs, PCI/DSI), and most tools — including ours — expect a clean .mpg/.mpeg extension. ffmpeg, MakeMKV, and DVDVob2Mpg can produce a clean program stream without re-encoding. Once it's .mpg, frame extraction is identical to any other MPEG.
Two reasons. First, MPEG-1 maxes out at 352×240 / 352×288, and a lot of "MPEG" archives are at that SIF resolution — there is no extra detail to recover. Second, MPEG-2 from DVD is interlaced (29.97i NTSC or 25i PAL), so a single-field frame extracted from a fast-motion shot can show comb artifacts. If you see comb lines, deinterlace the source first (Handbrake, Avidemux, or ffmpeg -vf yadif) before extracting.
You can enter milliseconds (e.g., 12.750 for 12 s 750 ms). Actual landed frame depends on the source frame rate — at 29.97 fps, a request for 12.750 lands on the frame nearest that timestamp (within ~16.7 ms). MPEG group-of-pictures (GOP) structure means the decoder reconstructs the frame from the nearest preceding I-frame; the DVD-Video spec mandates an I-frame at least every 0.6 seconds, so the worst-case decode distance on a DVD rip is well under a second.
ceil(duration_seconds / interval_seconds). A 60-second clip at "every 1 second" returns 60 JPGs; the same clip at "every 0.1 seconds" returns 600. For a 90-minute DVD rip at 5-second intervals, expect roughly 1,080 stills delivered as a ZIP.
Yes — set Multiple Screenshots to "every 0.1 seconds". For a 25 fps PAL or 23.976 fps film-rate source that captures every frame; for 29.97 fps NTSC it slightly oversamples (you get duplicates) and for 50i / 59.94i interlaced footage it samples one field per pair. If you need exact 1-frame-per-output for non-standard rates, deinterlace and convert to a uniform 25 fps proxy first.
The .jpg and .jpeg extensions are interchangeable — both reference the same JFIF/Exif container around an ISO/IEC 10918-1 bitstream. .jpg exists because Windows 8.3 filenames historically allowed only three-character extensions. xconvert outputs .jpg. If you need the longer form, Convert MPEG to PNG is also available for lossless stills.
No useful EXIF survives, because MPEG video frames don't carry per-frame EXIF — there's nothing to copy. The output JPG carries only the decoder's basic JFIF header (dimensions, JPEG quality table). If you need a capture timestamp, encode it into the filename when you download (e.g., clip_t00.12.750.jpg).
.ts (transport stream) MPEG broadcasts?.ts is the MPEG-2 transport stream variant used for DVB / ATSC broadcast and PVR captures. It's a different multiplex from the program stream .mpg. If your source is .ts, remux to .mpg first (ffmpeg: ffmpeg -i input.ts -c copy output.mpg) — no re-encoding, just a container swap — and then run the conversion.
A screenshot tool grabs whatever the player happens to be displaying — usually subject to player scaling, deinterlace settings, and colour-management of your monitor. Frame extraction here decodes the original MPEG bitstream and writes the source pixels straight to JPG, so what you get matches the MPEG stream's intent rather than what your player rendered.
You'd typically build an MP4 from a sequence rather than a legacy MPEG-1/2. xconvert handles common video conversions like MPEG to MP4 for modernizing legacy footage, and Compress MPEG for shrinking the source video before extracting frames if disk space is the constraint.