Splitframe
Local only — no upload

Split a video into model-ready segments

Cuts land in the quietest gaps between speech, so no segment starts or ends mid-sentence. Everything is decoded in this browser tab.

Drop a video file here
or click to browse
MP4 · MOV · MKV · AVI · WEBM · MTS · PRORES · HEVC No size limit
{{ errorText }}
How it works
The audio track is decoded with the Web Audio API and reduced to a 20 ms RMS envelope.
Runs below the silence floor become candidate cut points, scored by length and depth.
Cutting uses ffmpeg compiled to WebAssembly, loaded on demand and run in this tab.
Step 02

Target model

The model's per-clip ceiling becomes the maximum segment length.

{{ m.name }} {{ m.maxLabel }}
{{ m.vendor }}
{{ editTitle }}
name
vendor
max seconds

Segment length

max {{ maxLabel }}
{{ secondsLabel }} sec

Segments never exceed this. Individual cuts land earlier when a quieter gap is available inside the search window.

{{ autoTag }} {{ autoNote }}
Search window
look back {{ windowLabel }} for a gap
Silence floor
{{ floorLabel }} counts as silent
Step 03

Analyzing audio

{{ fileName }} — decoding locally, nothing leaves this machine.

{{ phaseLabel }} {{ progressLabel }}
{{ p.mark }} {{ p.label }} {{ p.detail }}
{{ errorText }}
{{ segCount }} segments {{ droppedLabel }} {{ durLabel }} · max {{ secondsLabel }}s · {{ modelName }} {{ warnLabel }}
00:00.00 drag a marker to move a cut · click a band to select {{ durLabel }}
SEGMENT {{ selNum }}
{{ selRange }}
{{ playLabel }}
Boundary detail · ±2.0s
{{ zoomHint }}
Start
End
Length
{{ selLen }} / {{ secondsLabel }}s
{{ candidateTitle }} click to snap
Segments len · cut · drop
{{ seg.num }} {{ seg.range }} {{ seg.len }} {{ seg.conf }}
Step 05

{{ exportTitle }}

Base name
Numbering
Preview
{{ n.name }} {{ n.len }}
Container
Encoding
{{ encodingNote }}
{{ exportPhaseLabel }} {{ exportPctLabel }}
{{ l.text }}
{{ zipName }}
{{ zipMeta }}
{{ n.name }} {{ n.size }}
{{ errorText }}
{{ l.text }}
You can still take the cut list out: the zip below holds segments.json plus a ready-to-run ffmpeg script for the exact same cuts.

Preferences

{{ p.label }}
{{ p.hint }}

Decoding and analysis use the browser's own audio and video engines. Cutting uses ffmpeg compiled to WebAssembly, fetched once from a CDN and then run entirely in this tab. No frames, audio or filenames are sent anywhere.