How to extract a region of interest from a video
- Step 1Drop the recording — Common containers (
.mp4,.mov,.mkv,.webm,.avi,.m4v,.ts) are accepted. The file is read locally with WebAssembly FFmpeg. The Free tier handles one file up to 1 GB; higher tiers go to 10–100 GB and multi-file batches. - Step 2Find a frame that shows the ROI — The picker paints frame 0. If your region isn't visible at the very start (the panel opens later, the play hasn't started), you'll be drawing blind — type coordinates instead, or trim to a representative frame first.
- Step 3Draw the box tightly around the region — Drag a rectangle around just the ROI. Drag inside to reposition; drag the bottom-right corner to resize. Aim for a snug fit — extra margin means extra pixels you didn't want. The label shows the exact source-pixel box.
- Step 4Lock the exact coordinates — Type the numbers to nail a UI element to its design coordinates. For a 1280×800 panel docked at (640, 0) in a 1920×1080 screen, enter
X=640, Y=0, Width=1280, Height=800. - Step 5Run the crop — JAD applies
crop=W:H:X:Y(W/H even) and re-encodes to MP4, H.264, CRF 20, audio copied. The output is exactly the ROI at its native size — no zoom, no scale. - Step 6Verify and re-run if the region drifts — Watch the clip end-to-end. If the ROI is fixed (a static UI panel) you're done. If the subject moved out of the box, the ROI wasn't truly static — re-crop a larger window, or use a tracking tool for moving subjects.
Picker interactions for precise ROI selection
The visual picker supports exactly these gestures. There is no rotation, no aspect-lock, and no multi-region selection — one rectangle at a time.
| Gesture | Effect | Notes |
|---|---|---|
| Drag on empty area | Draw a fresh ROI box from the drag start | Replaces any existing box |
| Click + drag inside the box | Move the ROI without resizing | Clamped to stay inside the frame |
| Drag the bottom-right (SE) corner | Resize the ROI from the top-left anchor | 24-px hit zone around the corner |
| Reset button | Restore the 60%-centred default box | Useful to start over |
| Type X / Y / W / H | Set exact source-pixel coordinates | Stays in sync with the drawn box |
ROI size vs source — what you gain
Extracting a small ROI from a large frame both focuses the view and reduces the encoded pixel area. CRF 20 keeps quality constant per pixel.
| Source | ROI | Pixel-area kept | Typical use |
|---|---|---|---|
| 3840 × 2160 (4K) | 1280 × 720 | ≈ 11% | Isolate one app window from a 4K screen capture |
| 1920 × 1080 | 640 × 480 | ≈ 15% | Extract a chart/graph panel from a dashboard demo |
| 1920 × 1080 | 960 × 540 (one quadrant) | 25% | Pull one camera from a 2×2 multicam grid |
| 2560 × 1440 | 400 × 400 | ≈ 4% | Isolate a microscope specimen or a small subject |
| 1280 × 720 | 1280 × 200 (strip) | ≈ 28% | Extract a scrolling-ticker or status-bar strip |
Cookbook
ROI extraction recipes for the most common 'keep just this part' jobs. Each shows the source, the box, and the FFmpeg filter.
Extract one app window from a 4K screen recording
A 3840×2160 capture has the target app docked top-left at 1280×720. Keep just that panel. The window starts at the origin so X/Y are 0.
Source: 3840 × 2160 Inputs: X=0 Y=0 Width=1280 Height=720 FFmpeg runs: crop=1280:720:0:0 Result: 1280×720 MP4 of the single app window.
Pull one feed from a 2×2 multicam grid
A 1920×1080 quad-split has four 960×540 feeds. To extract the bottom-right camera, offset X and Y by half the frame.
Source: 1920 × 1080 (2×2 grid of 960×540) Bottom-right cell starts at (960, 540): Inputs: X=960 Y=540 Width=960 Height=540 FFmpeg runs: crop=960:540:960:540 Result: 960×540 MP4 of just the bottom-right camera.
Isolate a small specimen region from a microscope capture
A 2560×1440 capture has the subject in a 400×400 area near the centre. Crop tight to drop the empty surround and the file size.
Source: 2560 × 1440, subject centred at (1080, 520) Inputs: X=1080 Y=520 Width=400 Height=400 FFmpeg runs: crop=400:400:1080:520 Result: 400×400 MP4 — tiny, focused on the specimen.
Extract a horizontal status strip
A 1280×720 demo has a status bar in the top 64 px you want as a standalone clip. Keep full width, a thin height.
Source: 1280 × 720 Inputs: X=0 Y=0 Width=1280 Height=64 FFmpeg runs: crop=1280:64:0:0 Result: 1280×64 MP4 of just the status strip.
ROI from a layout spec (no drawing)
Your QA recordings always place the chart panel at the same spot. Type the spec coordinates and skip the picker entirely for a repeatable extract.
Spec: chart panel = 880×620 at (520, 180) in 1920×1080 Inputs: X=520 Y=180 Width=880 Height=620 FFmpeg runs: crop=880:620:520:180 Result: 880×620 MP4 — identical box across all recordings.
Edge cases and what actually happens
The ROI moves during the clip
Wrong toolThis crop is static — the box is fixed for the whole video. If your subject (a player, a cursor, a person) moves out of the ROI, a static crop loses them. For a region that follows a moving subject, use auto-reframe, which tracks and re-centres over time.
ROI box runs off the frame
Crop failedIf X + Width exceeds the source width or Y + Height exceeds the height, the run aborts with Crop failed. This is easy to trip when typing offsets for a corner ROI — verify X + Width ≤ sourceWidth and Y + Height ≤ sourceHeight. The picker clamps drawn boxes, so drawing avoids the issue.
You want to zoom the small ROI up to fill the frame
Not availableThe cropper keeps the ROI at its native pixel size — it never scales up. A 400×400 ROI comes out 400×400. To enlarge it, follow with video-resizer; note that upscaling a small region magnifies any softness.
You need several ROIs from one recording
One at a timeThe picker handles a single rectangle. To extract multiple regions (e.g. four panels), run the tool once per region with different coordinates. Each run re-reads the source, so there's no cumulative quality loss across the separate extracts.
ROI isn't visible on frame 0
ExpectedThe picker shows the first frame. If the panel opens later or the action starts mid-clip, you can't draw against it. Type the coordinates if you know them, or trim to a frame where the ROI is visible with lossless-trimmer, then crop.
Odd-sized hand-drawn ROI
By designWidth/Height round down to even (a drawn 401×399 becomes 400×398). For H.264 this is required and the 1-px loss is invisible. If you need an exact odd dimension for some downstream reason, that isn't supported — even output only.
Tiny ROI produces a tiny but not-much-smaller file
ExpectedFile size scales with kept pixel area and content complexity, but there's container and audio overhead too. A 64-px-tall strip from a long clip with copied audio may be dominated by the audio stream, not the video. That's normal — the video portion is genuinely small.
Source has no audio (silent screen capture)
Supported-c:a copy with no audio track is a no-op; you get a silent MP4 of the ROI. No placeholder track, no error — common and expected for screen recordings.
Region of interest is rotated relative to the frame
Not availableThe crop is an axis-aligned rectangle — it can't extract a rotated region. If your source is rotated as a whole, straighten it first with video-rotator, then crop the now-axis-aligned ROI.
Source is variable-frame-rate screen capture
SupportedVFR captures are handled; the re-encode normalises timing while the crop applies per frame. Audio stays in sync via stream-copy. Extreme VFR can rarely drift — transcode to constant FPS with video-transcoder first if you see sync problems.
Frequently asked questions
How do I extract just one part of a video?
Drop the file, then draw a box around the region on the first frame (or type its X/Y/width/height). The tool runs FFmpeg's crop=W:H:X:Y and outputs an MP4 containing only that region at its native pixel size. The live picker label shows the exact source-pixel coordinates as you drag.
Can I follow a region that moves during the clip?
No — this crop is static, fixed for the whole video. If the subject moves out of the box, you lose them. For a region that tracks a moving subject and re-centres over time, use auto-reframe.
Will the extracted region be zoomed to fill the screen?
No. The ROI comes out at its native pixel size — a 400×400 region is a 400×400 MP4, not blown up. To enlarge it afterwards, run it through video-resizer, accepting that upscaling a small region magnifies softness.
Can I extract several regions from one recording at once?
Not in a single pass — the picker works on one rectangle. Run the tool once per region with different coordinates. Because the source is re-read each time, the separate extracts don't accumulate quality loss.
How do I extract one feed from a multicam grid?
Compute the cell's offset. In a 1920×1080 2×2 grid each cell is 960×540; the bottom-right starts at (960, 540), so crop=960:540:960:540. Top-left is crop=960:540:0:0, top-right crop=960:540:960:0, bottom-left crop=960:540:0:540.
Why did my crop fail with large coordinates?
The ROI must fit inside the frame: X + Width can't exceed the source width and Y + Height can't exceed the height. Corner ROIs with big offsets trip this easily. Drawing with the picker avoids it because drawn boxes are clamped to the frame.
Does extracting an ROI reduce the file size?
Usually yes, because you keep far fewer pixels per frame. But the encode targets CRF 20 (quality), and copied audio adds fixed overhead, so a thin ROI from a long clip can be audio-dominated. The video portion is genuinely small either way.
Is my recording uploaded?
No. The crop runs in your browser with WebAssembly FFmpeg. Internal demos, medical captures, and surveillance footage stay local — the Free tier processes up to 1 GB with no transfer to any server.
What if my ROI is a thin strip, like a ticker bar?
That's fine — keep full width and a small height, e.g. crop=1280:64:0:0. The only constraint is that Height (and Width) are at least 2 and round to even. A 64-px strip works perfectly.
Can I type coordinates from a design spec instead of drawing?
Yes. The four number inputs accept exact source-pixel values, ideal when a UI element always sits at the same place. Type X, Y, Width, Height from your spec and the extract is identical across every recording with the same layout.
What output format and quality do I get?
An MP4 with H.264 video at CRF 20 (high quality) and the source audio copied unchanged. There's no quality slider or format choice. To convert or set a target bitrate, follow up with video-transcoder or video-bitrate-set.
Can it extract a rotated region?
No — the crop is an axis-aligned rectangle. If the whole source is rotated, straighten it first with video-rotator, then crop the upright ROI.
Privacy first
Every JAD Video tool runs entirely in your browser via WebCodecs and FFmpeg (WebAssembly). Your video files never leave your device — verified by zero outbound network requests during processing.