Zarle Infotech logo
Help

How each tool works

Zarle Media Studio is one workspace. The left rail holds the tools; the right side holds your folders. Everything below describes a control you will actually find in the interface.

The workflow

Five steps, in one screen. Nothing leaves your machine at any point.

  1. 1Add videos. Drop files in, or use Select Videos. Each video becomes a folder.
  2. 2Configure. Open Processing and choose how frames are picked, and what format they come out as.
  3. 3Process. Press Start processing. Progress shows per video and per batch.
  4. 4Review. Open a folder to browse its images. Click one to inspect it.
  5. 5Export. Download a single image, a selection, one folder, or everything as a ZIP.

Videos

Adding source material, and what the app can tell you about it.

Adding files

Drag and drop, or use Select Videos. Several at once is fine — each is analysed independently, so one unreadable file fails on its own card without holding up the others.

What each folder card shows

Resolution, frame rate, codec, duration and file size, plus what the current settings will extract from that specific video — an estimated frame count and a batch count. The chips update as you change settings, before you commit to anything.

Frame rate and codec are sometimes blank

Those come from reading the MP4 container directly. For WebM and other formats the app falls back to asking the browser, which reports neither — so they show as — rather than a guess. Duration and resolution are always known.

Decoder

A one-line readout of which engine is in use. WebCodecs is the fast, frame-accurate path and runs in background workers. Video element is the compatibility path — it works with anything your browser can play, and is slower at high sampling rates.

Clear workspace

Removes every video, image and result from browser storage, after confirming. Anything already downloaded is untouched.

Processing

One set of settings applies to every video in the workspace. The estimate panel below the controls shows the combined result before you start.

The estimate

Total frames, total length, batch count and an approximate output size. The size is a heuristic from typical photographic content and is labelled ~ — real output varies several-fold with how detailed the footage is. Processing time is deliberately not predicted before a run, because the true figure moves by orders of magnitude with hardware and codec; it is measured and shown once a run is underway.

Storage headroom

Shown alongside the estimate where the browser reports it. If the projected output approaches what is free, you get a warning rather than a failure part-way through.

Extraction modes

How frames are chosen. Five options, each suited to a different job.

Every X seconds

One frame at a fixed time interval through the video.

12-minute video, one frame every 5 s → 144 frames at 0:00, 0:05, 0:10 …

Frames per second

Sample at a chosen rate, independent of the source frame rate.

10-minute video at 2 FPS → 1,200 frames. Independent of the source rate: 2 FPS from 60 FPS footage still gives 2 frames per second.

Total frames

A fixed number of frames spread evenly across the video.

30-minute video, 100 frames → one every 18 s, starting at 0:00.

Custom timestamps

Extract only at timestamps you specify.

Accepts 1:23, 01:02:03.5 or plain seconds, one per line or comma separated. Out-of-range entries are dropped rather than clamped, so you never get duplicates you did not ask for.

Best frames

Score several candidates per interval and keep the sharpest, skipping blurred and duplicate frames.

10 s window, 3 candidates → decodes 3 frames per window, scores each, keeps the best one.

Scoring weighs sharpness most heavily, then contrast, then exposure. Blur rejection discards badly out-of-focus frames outright regardless of their other scores. Duplicate detection skips frames that look near-identical to the last one kept, so a static shot collapses to a single image. A window where every candidate fails yields no frame — that is the point of the mode, rather than a fault.

Output settings

What the extracted images are.

Format

  • WebP — Best size at high quality.
  • PNG — Lossless, largest files.
  • JPEG — Widest compatibility.

The default is WebP at quality 95. Safari cannot encode WebP; on those browsers a supported format is used instead and you are told about the substitution, rather than receiving PNG bytes in a file named .webp.

Quality

1–100, for JPEG and WebP. Has no effect on PNG, which is lossless — the control is hidden when PNG is selected.

Resolution

  • Original
  • 4K — 3840 × 2160
  • 1080p — 1920 × 1080
  • 720p — 1280 × 720
  • Custom

Aspect ratio is always preserved — the source is fitted inside the target rather than stretched to it. Smaller sources are never upscaled: choosing 4K for 720p footage keeps it at 720p, because inventing pixels would inflate file size and processing cost without making the image any better.

Advanced settings

Collapsed by default. Useful when a video is long, a machine is constrained, or a browser is misbehaving.

Batch length

How much of a video is processed as one unit. Options are 30 seconds, 1 minute, 5 minutes, 10 minutes, 30 minutes. Shorter batches keep memory flatter on long videos; the default of 5 minutes suits most material. This is also the structure exports are organised into.

Concurrency

How many jobs run at once. Auto derives a safe level from your CPU cores, available memory and the resolution of the videos queued — a 4K source is throttled harder than 720p because each decoder plus its in-flight frames costs hundreds of megabytes. Set it manually to trade responsiveness for speed.

Decoder

  • Auto — Fastest path this browser supports.
  • WebCodecs — Worker-based, frame-accurate. MP4 and MOV only..
  • Compatibility — Video element on the main thread. Works with any format the browser can play..

Leave this on Auto unless a particular file misbehaves. Forcing Compatibility is a genuine workaround when a browser advertises WebCodecs but handles a specific file badly.

Filename format

Sequential gives my-video_frame_000001.webp — six digits, so files sort correctly in any file manager. Timestamp gives my-video_00-01-23-500.webp, which is useful when the position in the video matters more than the order.

Analyse every frame

Off by default. Scoring costs a downscale and a pixel readback per frame, and in ordinary interval or FPS extraction every frame is kept anyway — so it earns its cost only when you want the sharpness sort and the quality filters in the results grid. Best frames mode always analyses, regardless of this switch.

Monitor

What a run is doing while it runs.

Progress

Overall progress across every video, then per video: which batch it is on, how many frames are done, and an estimate of the time remaining once enough has been measured to extrapolate from.

Pause, Resume, Cancel

Pause takes effect between frames, so it feels immediate — the frame already being decoded finishes, but nothing new starts. Resume picks up where it left off. Cancel stops everything and releases the decoders; images already written are kept.

Failures do not cascade

A video that cannot be decoded fails on its own and the rest of the run continues. The reason appears on that video’s card and in the monitor, and the completion message reports how many failed rather than claiming success.

Performance panel

The pulse icon in the top bar opens a developer readout: active workers, queued units, throughput in frames per second, storage used, and how many thumbnail URLs are held. Useful for diagnosing a slow run.

Folders & images

One folder per video, holding the images extracted from it.

Browsing

Click a folder to open it. The grid renders only what is on screen, so a folder with tens of thousands of images scrolls smoothly. Click an image to inspect it in the left rail; double-click for a full-size preview with zoom and arrow-key navigation.

Sorting and filtering

Sort by timestamp, newest first, sharpness or filename. Filter to best-scoring, sharp-only, duplicates or edited images. The quality-based options need frame analysis — turn on Analyse every frame, or use Best frames mode.

Selecting

The checkbox on each image toggles selection; the toolbar has Select all and Clear. A selection is what the export actions act on.

Editing an image

Crop, rotate and flip, without ever damaging the extracted original.

Non-destructive by design

Applying an edit writes a new image and keeps the original untouched in storage. That is why Reset restores full quality rather than re-processing a re-compressed copy, and why editing the same image twice does not compound compression loss.

Crop

Drag the handles on the canvas. Aspect presets are Free, 1:1, 4:3, 16:9, 9:16. A rule-of-thirds guide is drawn inside the selection. The output dimensions are shown live in the rail.

Rotate and flip

90° left, 90° right, 180°, and horizontal or vertical flip. A quarter turn swaps the output width and height.

Apply, Reset, Cancel

Apply renders the edit at full resolution and saves it. Cancel discards changes you have not applied. Reset reverts to the original image and deletes the edited copy.

Edited images are what exports contain — the edited version replaces the original in the ZIP, while the original stays in storage so Reset keeps working.

Export

Four scopes, matching the ways images actually need to leave.

A single image

From the inspector, with Download image. The filename it will use is shown beneath the button.

A selection

Up to about ten files download individually. Past that they are bundled into a ZIP instead, because browsers silently drop rapid successive downloads — appearing to succeed while losing files would be worse than declining.

One folder

Download folder inside a folder, or the download icon on a folder card. Produces one archive for that video.

Everything

Export everything in the Export tool. One archive covering the whole workspace.

Archive layout

With Group by batch on — the default — images are nested into the batches they were produced in:

zarle-export.zip
  travel/
    batch-01/travel_frame_000001.webp
    batch-02/travel_frame_000061.webp
  event/
    batch-01/event_frame_000001.webp

Turn it off for one flat folder per video. Frame numbering stays continuous across batches, because it refers to the frame’s position in the video.

Large archives

Where the browser allows it, the archive is written straight to disk as it is built, so size is limited only by free space. Where it does not, the archive is held in memory first — in that case export one folder at a time. The panel tells you which applies. A long export can be cancelled.

Two videos with the same filename

Folders are disambiguated (clip, clip-2) rather than merged, so neither video’s images are overwritten.

Video export (FPS conversion)

Re-encodes a video at a different frame rate and gives you a video file back — not images.

How the rate is changed

By sampling and duplication only. Raising the rate repeats existing frames; lowering it discards them. Each output frame carries the pixels of whichever source frame a player would be showing at that instant.

This is not frame interpolation. No new intermediate pictures are generated, and nothing is blended or motion-compensated — so converting 30 to 60 FPS will not make motion look smoother, it only changes the container’s frame rate. Genuine interpolation needs optical flow or a learned model, neither of which is here, and the app does not claim otherwise.

Requirements

Needs VideoEncoder, which means current Chrome or Edge, or Safari 17 and later. Where it is missing the tool explains that rather than offering a button that fails. Sources must be MP4 or MOV.

What it can handle

Guidance rather than limits, because the honest answer depends on your machine.

Short videosunder 5 minutesComfortable at any setting.
Medium videos5 – 30 minutesWorks well. Default 5-minute batches are a good fit.
Long videos30 – 120 minutesBatch processing recommended. Keep the interval at 5 seconds or more.
Very long videosover 2 hoursUse larger intervals and consider processing in sections.

Real capacity depends on your CPU, memory, browser, the video’s codec, resolution and frame rate, how often you extract, the output format, and how many videos run at once. There is no fixed maximum, and quoting one would be misleading.

Troubleshooting

“This video could not be decoded by your browser”

The container opened but the codec is unsupported. Re-encode as MP4 with H.264 video, which every browser can decode.

MKV, AVI, WMV and similar are rejected immediately

No browser can decode these containers. Since everything here runs in the browser, they are refused up front with an explanation rather than handed to a decoder that cannot open them. Convert to MP4 or WebM first.

“This browser cannot encode WebP”

Safari cannot produce WebP. Choose PNG or JPEG, or let the app substitute one — it will tell you which it used.

“Your browser’s storage quota is full”

Extracted images live in browser storage until you download or clear them. Download what you need and clear the workspace, or lower the output resolution and quality — 4K PNG is roughly twenty times the size of 1080p WebP.

Extraction is slower than expected

Encoding, not decoding, is usually the bottleneck — and the format matters more than anything else you can change. Measured on this machine at a matched 300 frames of 1080p: PNG 33.8 images/s, JPEG 32.0, WebP 11.8. WebP is roughly three times slower than the other two, because the browser’s WebP encoder is the slowest of the three; it earns that time back in file size, at about a tenth of PNG’s output. So WebP for the smallest archive, JPEG for the best balance of speed and size, PNG when you need lossless. Full resolution is slower than reduced, and a high sampling rate multiplies whatever you pick. The performance panel shows live throughput so you can see what a change actually did.

The interface feels sluggish during a run

Lower Concurrency in Advanced Settings. On the compatibility decoder some work necessarily happens on the main thread, which is why it is slower at high sampling rates.

What happens when I refresh or close the tab

Your extracted images stay. They live in this browser’s storage, and reopening the studio restores the grid, the folders and any edits you applied — so a refresh no longer costs you a run.

One thing cannot come back: the source video. A browser will not let a page keep reading a file from your disk after a reload without you choosing it again, so restored videos are marked Saved — browse, edit and export them freely, but add the file again to extract more frames from it.

Storage is still this browser’s, not a library: a different browser, a private window, or clearing site data will not have your images, and Clear Workspace deletes them for good. Download anything you want to keep somewhere real.

Privacy

Your videos and generated images are processed locally in your browser. Media is not uploaded to Zarle Infotech’s servers.

Decoding, frame extraction, encoding and export all run on this device using the browser’s own media APIs. There is no upload step, no server-side processing and no analytics on your files. Extracted images are held in temporary browser storage until you download them or clear the workspace.

© 2026 Zarle InfotechMade with love in India