How to change video speed without chipmunking the audio
- Step 1Drop your video onto the tool — Supported inputs are MP4, MOV, MKV, WebM, AVI, M4V, and TS. The file is read in your browser — nothing uploads. A hidden probe reads duration and resolution so the file card shows them before you run. Speed change requires a Pro subscription (£7/month); on the free tier the run button is gated.
- Step 2Type the target speed — The Speed (× · 0.25 to 4) field defaults to
1. Enter0.5for half-speed,1.5to tighten slightly,2to double,4for the maximum. Values are continuous, so1.75or0.8are valid. Anything below0.25or above4is rejected withSpeed must be between 0.25× and 4×. - Step 3Understand what the number does — Speed
2halves the duration (setpts uses0.5*PTS) and doubles audio tempo via atempo. Speed0.5doubles the duration and halves tempo. The relationship is linear: output duration ≈ input duration ÷ speed. There is no frame-interpolation option — slowing down repeats existing frames rather than generating new ones. - Step 4Run the speed change — Click Run Speed. WebAssembly FFmpeg builds the filter graph
[0:v]setpts=...[v];[0:a]atempo-chain[a], maps both streams, and re-encodes to H.264 (CRF 20) + AAC 192 kbps. This is a full re-encode, so expect roughly real-time-ish processing depending on resolution and your CPU; the dashboard shows progress. - Step 5Download the MP4 — The result is always a standard
.mp4. Speed change does not stream to disk — it produces a blob you download with one click. The result card shows input → output size and elapsed time. - Step 6Verify pitch and sync, then chain if needed — Play the first and last few seconds: voices should sound the same pitch, just faster or slower, and lips should track. Need more than 4× (a long time-lapse)? Run the tool once at 4×, then run the output through again — speeds multiply (4× then 4× = 16× total). For silent slow-mo where audio doesn't matter, see the edge cases below.
How the Speed value maps to filters and duration
The single Speed field drives both the setpts factor (video) and the atempo chain (audio). atempo is capped at 0.5–2.0 per instance, so factors outside that range chain automatically. Durations assume a 60-second source.
| Speed value | setpts factor (video) | atempo chain (audio) | Output duration (60s in) | Typical use |
|---|---|---|---|---|
0.25 | 4.0000*PTS | atempo=0.5,atempo=0.5 | 240 s (4× longer) | Maximum slow-motion |
0.5 | 2.0000*PTS | atempo=0.5000 | 120 s (2× longer) | Half-speed review |
0.8 | 1.2500*PTS | atempo=0.8000 | 75 s | Gentle slow-down |
1 | 1.0000*PTS | atempo=1.0000 | 60 s (unchanged) | Pass-through (re-encodes only) |
1.5 | 0.6667*PTS | atempo=1.5000 | 40 s | Slight tightening |
2 | 0.5000*PTS | atempo=2.0000 | 30 s (half) | Double speed |
4 | 0.2500*PTS | atempo=2.0,atempo=2.0 | 15 s (quarter) | Maximum speed-up / short time-lapse |
What the speed controller does and does not do
Grounded in the FFmpeg command the tool runs. Use this to know which sibling tool to reach for instead.
| Aspect | Behaviour | Detail |
|---|---|---|
| Speed range | 0.25× to 4× only | Hard-clamped; outside the range the run errors out. For >4× chain two runs |
| Audio pitch | Preserved | atempo time-stretch, not resample — no chipmunk / no deep-voice |
| Output container/codec | Always MP4 / H.264 + AAC | libx264 preset medium, CRF 20, AAC 192 kbps — regardless of input format |
| Re-encode | Always re-encodes | Re-timing requires it; this is not a lossless / stream-copy operation |
| Frame interpolation | Not supported | Slow-mo repeats existing frames; it does not synthesise in-between frames |
| Trimming / cropping | Not in this tool | Use the lossless trimmer before or after |
| Reverse playback | Not in this tool | Use the video reverser |
Cookbook
Concrete speed values and the exact filter chains the tool builds, plus the workflow for going past the 4× ceiling.
2× speed-up with intact pitch
The most common request: make a clip play twice as fast without the voice rising in pitch. Speed 2 halves the picture timing and doubles the audio tempo in one atempo pass.
Speed field: 2 FFmpeg filter graph built: [0:v]setpts=0.5000*PTS[v];[0:a]atempo=2.0000[a] 60.0 s input -> 30.0 s output (H.264 MP4, AAC 192k) Voice pitch: unchanged (atempo time-stretch)
0.25× slow motion — automatic atempo chaining
atempo refuses factors below 0.5 in a single pass, so 0.25 audio is built as two chained 0.5 stages. The tool does this for you; you only type 0.25.
Speed field: 0.25 FFmpeg filter graph built: [0:v]setpts=4.0000*PTS[v];[0:a]atempo=0.5,atempo=0.5[a] 10.0 s input -> 40.0 s output Note: slow-mo repeats existing frames (no new frames generated)
Going past 4× — two passes to reach 16×
The hard ceiling is 4× per run. To build a faster time-lapse, run the tool twice; speeds multiply.
Pass 1: Speed 4 -> 120 s clip becomes 30 s Pass 2: feed the 30 s output back in, Speed 4 -> 7.5 s Effective speed: 4 x 4 = 16x (120 s -> 7.5 s) Each pass re-encodes, so quality softens slightly each time.
Out-of-range value is rejected
Typing a value beyond the supported window stops the run with a clear error rather than producing a broken file.
Speed field: 8 Result: Error: Speed must be between 0.25x and 4x. Fix: enter a value in [0.25, 4], or chain two runs for higher speeds.
Fine-tune pacing with a non-round factor
Speed is continuous, not a fixed preset list. A value like 1.25 trims runtime by 20% — useful when 1.5× feels rushed but real-time feels slow.
Speed field: 1.25 FFmpeg filter graph built: [0:v]setpts=0.8000*PTS[v];[0:a]atempo=1.2500[a] 8:00 (480 s) input -> 6:24 (384 s) output, pitch intact
Edge cases and what actually happens
Speed below 0.25 or above 4
Rejected (error)The tool validates the Speed value and throws Speed must be between 0.25× and 4×. for anything outside that window (and Speed must be positive. for zero or negative). This is a hard limit, not a soft warning — nothing is processed. For higher effective speeds, run the output through a second time so the factors multiply.
Source video has no audio track
FailsThe filter graph always maps [0:a] through the atempo chain. If the input has no audio stream, FFmpeg cannot satisfy [0:a] and the job fails with a stream-mapping error. Workaround: add a silent track in another tool first, or use this tool only on clips that contain audio. A silent slow-mo on footage that truly has no sound is the one case to watch for.
Variable-frame-rate (VFR) phone footage
Supported (re-timed)setpts re-times based on each frame's presentation timestamp, so VFR sources (common from phones and screen recorders) are handled. Because the output is re-encoded H.264, the result is effectively normalised on export. If you previously saw audio drift on VFR clips in other tools, the combined setpts + atempo graph here keeps them locked.
Expecting smooth super-slow-motion from 30 fps source
By designSlowing down with setpts stretches the existing frames over more time — it does not invent new in-between frames. A 30 fps clip at 0.25× shows each frame for longer, which can look stuttery. There is no frame-interpolation option in this tool. For smooth slow-mo, shoot at a high frame rate (120/240 fps) so the source already has the frames.
Audio quality at extreme speeds
ExpectedChaining atempo stages (for 0.25× or 4×) stretches or compresses the waveform aggressively; at the limits you may hear mild smearing or metallic artefacts in music or sibilant speech. This is inherent to time-stretching, not a bug. Moderate factors (0.5×–2×, single atempo pass) sound cleanest.
Output is MP4 even though input was MOV/MKV/WebM
By designThe encoder always writes H.264 MP4 with AAC audio, regardless of the input container. If you need a different container, run the MP4 through the video transcoder afterwards. The speed tool is not a format converter.
Free tier — speed change is gated
Pro requiredSpeed control requires a Pro subscription (£7/month); the run button is disabled on the free tier with an upgrade overlay. File-size limits by tier: Free 1 GB / 1 file, Pro 10 GB / 5 files, Pro + Media 100 GB / 50 files. There is no duration cap — only the file-size and batch-count limits apply.
Dropped several files at once
Supported (batch)Although the tool processes one primary file, dropping multiple files queues a batch (up to your tier's batch count — 5 on Pro, 50 on Pro + Media). The same Speed value is applied to every file; there is no per-file speed in a batch run.
Speed 1 (no change) still re-encodes
ExpectedLeaving Speed at 1 does not stream-copy — it still runs setpts=1.0 and atempo=1.0 and re-encodes to H.264/AAC. If you only want a format/quality change without re-timing, use the transcoder or web optimizer instead.
Very large 4K file on a low-memory device
May be slowRe-encoding 4K in WebAssembly FFmpeg is CPU- and memory-intensive in the browser tab. Within your tier's file-size limit it will run, but expect longer processing and high RAM use. Trimming first with the lossless trimmer to just the section you need keeps the job fast.
Frequently asked questions
Will the audio sound chipmunked when I speed the video up?
No. The tool routes audio through FFmpeg's atempo filter, which is a time-stretch: it changes how long the audio takes to play without changing its pitch. A 2× speed-up sounds faster but the voice stays at its normal pitch. The chipmunk effect only happens with naive resampling, which this tool does not use.
What is the speed range?
0.25× (quarter speed) up to 4× (four times faster), with any continuous value in between such as 0.8 or 1.75. Values outside that window are rejected with the message Speed must be between 0.25× and 4×. To go faster than 4×, run the output through the tool a second time so the factors multiply (4× then 4× = 16×).
How does it preserve pitch at extreme speeds?
FFmpeg's atempo filter only accepts a factor between 0.5 and 2.0 per instance. For 0.25× the tool chains atempo=0.5,atempo=0.5; for 4× it chains atempo=2.0,atempo=2.0. The chaining is automatic — you just type the speed and the correct chain is built for you.
Does it create smooth slow motion?
It stretches the existing frames over a longer time using setpts; it does not generate new in-between frames (no frame interpolation). On standard 24/30 fps footage, heavy slow-down can look stuttery. For buttery slow-mo, shoot at a high frame rate (120/240 fps) so the frames already exist, then slow that down here.
What format is the output?
Always a standard H.264 MP4: libx264 at preset medium and CRF 20, with AAC audio at 192 kbps. That holds whatever the input was (MOV, MKV, WebM, AVI, M4V, TS all become MP4). If you need a different container or codec, run the result through the video transcoder.
Is my video uploaded anywhere?
No. Processing runs entirely in your browser using WebAssembly FFmpeg. The source file is read locally and never sent to a server. Only an anonymous usage counter (file processed, no content) is recorded for signed-in dashboard stats.
Why does my no-audio clip fail to process?
The filter graph always maps an audio stream through atempo. If your source genuinely has no audio track, FFmpeg can't satisfy that mapping and the job errors out. Use a clip that contains audio, or add a silent track first. Most real-world video has audio, so this only bites truly silent exports.
Can I keep the original resolution and bitrate?
Resolution is preserved (setpts only changes timing, not pixels). The video is re-encoded at CRF 20, which is visually high quality but not a copy of the original bitrate. Because re-timing requires a re-encode, a bit-for-bit copy of the original stream is not possible here.
Does setting speed to 1 do nothing?
It still re-encodes the file to H.264/AAC MP4 — it does not stream-copy. If your goal is only to change format or shrink the file without re-timing, use the transcoder or web optimizer instead, which are built for that.
Can I slow down only part of the video?
No — the speed factor applies to the whole clip. To speed-ramp a section, first split the clip (for example with the video splitter), speed only the segment you want, then rejoin. The speed tool itself has no per-segment control.
How large a file can I process?
By tier: Free allows up to 1 GB and one file, Pro up to 10 GB and five files per batch, Pro + Media up to 100 GB and fifty files. There is no minutes/duration cap — the limits are on file size and batch count only. Speed control itself requires Pro (£7/month).
Will video and audio stay in sync after a speed change?
Yes. setpts (video) and the atempo chain (audio) are applied in the same FFmpeg filter graph and the two streams are re-muxed together on export, so they stay locked. This is also why variable-frame-rate phone footage comes out synced — the timestamps are re-timed consistently across both streams.
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.