视频工具 · 压缩 / 剪辑

视频变速

0.25x~4x 变速(setpts)

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 57 次使用
本地处理 · 文件永不上传
点击 / 拖拽视频文件到此 本地解析 · MP4 / WebM / MOV / MKV 等浏览器可播放格式 local only · nothing uploaded
变速预览playbackRate · live preview
选择视频后在此按倍速实时预览,
再一键重录为变速 webm(音视频同步变速)。
倍速设置0.25× – 4×
2.00×
原时长 source
变速后 output
分辨率
文件大小
输出

变速原理 / 诚实标注:本工具纯前端,采用 「设 video.playbackRate = N 变速播放 → canvas 逐帧重绘 → captureStream(视频轨 + 音频轨)→ MediaRecorder 重录」, 输出为变速 webm(画面重新编码,时长 = 原时长 ÷ N,音视频同步)。 音频随速度变调(快放升调、慢放降调,与浏览器变速一致)。 如需变速不变调MP4 输出,请用专业工具 / FFmpeg (ffmpeg -i in.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" out.mp4)。 重录需保持本页面前台播放至结束。

就绪 · 选择视频后设定倍速并重录
第一节

关于本工具

About

剪辑时一段素材节奏不对,从头到尾重拖时间线太费事。这个工具用 FFmpeg 的 setpts 滤镜处理视频,0.25x 到 4x 之间任意倍数变速,输入原文件、选好倍率、点开始,几秒后下载结果。处理在浏览器本地完成,不上传任何内容到服务器。

使用场景

游戏卡关逐帧复盘

凌晨 2 点,主播「夜行猫」在《只狼》弦一郎二阶段连续暴毙 17 次,弹幕都在刷「这刀怎么中的」。他把最后 3 秒的死亡回放录屏丢进工具,调速到 0.25x 逐帧看 boss 起手动作,发现是自己贪了一刀硬直没取消。0.25x 下看清了 BOSS 左手小拇指的预判抽搐,下次再打就过了。

网课老师补讲题步骤

初三物理老师老陈录了道浮力压轴题的讲解,讲到一半发现板书写错了,重录要 20 分钟。他把出错片段用工具减速到 0.5x,然后在错误处用画图软件叠一层修正框,再加速回 2x 拼回去。最终视频 3 分钟讲完,学生回放时 0.5x 看修正部分,2x 跳着看已知内容。

婚礼快剪卡点踩不准

婚礼策划师小马剪接亲视频,音乐高潮在第 37 秒,但素材里新郎单膝跪地的瞬间在第 39 秒。差 2 帧,音乐和画面错位。他用工具把第 37-41 秒片段提速到 1.05x,把跪地动作挤回高潮点前 0.1 秒。4x 加速用在宾客大笑的废片上,把 3 分钟素材压到 45 秒,正好配一首歌。

监控录像找肇事车牌

小区地库剐蹭,物业给的监控录像 2 小时长,肇事车只出现了 7 秒。车主老周把录像拖进工具,直接 4x 快进到可疑时段,再切到 0.25x 逐帧看车牌。原本要盯 2 小时的素材,15 分钟就锁定了对方倒车时右后轮压过减速带的帧,车牌号清晰可见。

体育比赛动作拆解教学

健身教练阿杰要教学员「引体向上肩胛下沉」的发力感。他把自己示范的 3 秒动作拍成 1080p 60fps 视频,用工具减速到 0.25x,得到 12 秒慢放。学员能看清肩胛骨从「耸肩」到「下沉」的 0.8 秒过渡,再配合 2x 快速看完整动作节奏。一堂课下来 5 个学员都找到了发力点。

第二节

使用指南

Getting Started

使用步骤

  1. 1点击「选择文件」按钮上传视频,支持 MP4、MOV、AVI 等常见格式,上传后自动显示视频时长与分辨率
  2. 2在「速度」滑块或输入框中设置 0.25x 至 4x 的倍率,拖动滑块时预览区实时显示变速后的预估时长
  3. 3点击「开始处理」按钮,进度条显示处理百分比,完成后自动弹出下载提示

输入输出示例

输入输出说明
原视频时长 60 秒,变速倍率 2x新视频时长 30 秒常规:典型加速场景,验证 setpts 按倍率线性缩放时长
原视频时长 60 秒,变速倍率 0.5x新视频时长 120 秒常规:典型慢放场景,验证减速后时长翻倍
原视频时长 60 秒,变速倍率 4x新视频时长 15 秒边界:工具支持的最大加速倍率,验证极限值下的时长计算
原视频时长 60 秒,变速倍率 0.25x新视频时长 240 秒边界:工具支持的最小减速倍率,验证极限慢放下的时长
原视频时长 60 秒,变速倍率 1x新视频时长 60 秒边界:1x 倍率相当于不变速,验证工具是否正确处理(不应报错或改变时长)
原视频时长 60 秒,变速倍率 0.8x新视频时长 75 秒易错:非整数倍率(0.8x),验证小数倍率计算精度(60 ÷ 0.8 = 75)
原视频时长 60 秒,变速倍率 3.5x新视频时长 17.14 秒易错:非整数倍率(3.5x),验证加速时小数倍率处理(60 ÷ 3.5 ≈ 17.14)

常见错误对照

1.变速参数超出工具范围

✗ 错误setpts=0.1 或 setpts=5.0
✓ 修复setpts=0.25 或 setpts=4.0

FFmpeg 的 setpts 滤镜本身支持任意浮点数,但本工具限定 0.25x~4x 以保证输出质量与浏览器兼容性;超出范围的参数会被拒绝或产生不可用结果。

2.忘记 setpts 是时间缩放,不是速度倍数

✗ 错误想 2 倍速,写成 setpts=2
✓ 修复setpts=0.5

setpts 是 Presentation Timestamp 缩放因子:值越小播放越快。2 倍速需将时间压缩一半,所以 setpts=0.5;直接写 setpts=2 会变成 0.5 倍慢速。

3.变速后音频视频不同步

✗ 错误只写 setpts=0.5,不处理音频
✓ 修复同时使用 atempo=2.0 或 -af "atempo=2.0" 同步变速

setpts 只调整视频时间戳,音频流仍按原速度播放。必须用 atempo 滤镜(范围 0.5~2.0)同步缩放音频时长,否则音画错位。

4.atempo 超出范围导致命令失败

✗ 错误想 4 倍速,直接写 atempo=4.0
✓ 修复链式调用:atempo=2.0,atempo=2.0 或使用 rubberband 滤镜

FFmpeg 的 atempo 滤镜官方限制 0.5~2.0,直接写 4.0 会报错。超过 2.0 倍需级联两个 atempo=2.0 或换用 rubberband 高质量变速。

5.输入文件路径包含空格或中文未处理

✗ 错误ffmpeg -i my video.mp4 ...
✓ 修复ffmpeg -i "my video.mp4" ... 或转义空格

Shell 中空格会被解析为参数分隔符,导致文件找不到。必须用双引号包裹路径或使用反斜杠转义空格,否则 FFmpeg 报 'No such file or directory'。

6.输出格式与变速不兼容

✗ 错误输出为 .gif 并直接使用 setpts=0.25
✓ 修复先输出临时 MP4,再用 palettegen 转 GIF 或使用 -vf "setpts=0.25,fps=15"

GIF 不支持可变帧率,直接 setpts 会导致动画卡顿或帧丢失。应固定输出帧率(如 fps=15)或先转中间格式再转 GIF。

7.变速后文件体积异常增大

✗ 错误4 倍速输出不指定码率,原码率 10Mbps 输出仍 10Mbps
✓ 修复加 -b:v 2M 或使用 -crf 28 降低码率

setpts 不改变编码参数,变速后时长缩短但码率不变,文件体积不会按比例缩小。需手动调整码率或 CRF 值以匹配新时长。

第三节

工作原理

How It Works

核心公式

new_pts = original_pts × (1 / speed_factor)

变量说明

  • new_pts变速后帧的 PTS 值
  • original_pts原始帧的 PTS 值
  • speed_factor速度倍数,0.25–4.0

示例

一段 10 秒视频,原始帧率 30 fps,共 300 帧。原始 PTS 序列为 0, 1/30, 2/30, … 秒。设置 speed_factor = 2.0(2 倍速),则新 PTS = 原始 PTS × (1/2.0)。第 60 帧原始 PTS = 60/30 = 2.0 秒,新 PTS = 2.0 × 0.5 = 1.0 秒。最终视频时长缩短为 5 秒,帧数不变(300 帧),但帧间距变为 1/60 秒,播放速度翻倍。

上传视频FFmpeg 解码(提取帧序列)setpts 滤镜(调整播放速度)输出变速视频选择倍率(0.25x ~ 4x)参数校验(范围/格式检查)音频同步(atempo 滤镜)下载 / 预览
用户输入 本地处理 输出结果
第五节

常见问题

Q & A
视频变速后声音变调了怎么办?

本工具仅处理视频画面变速(setpts),音频默认保持原速,因此快放时声音会变尖锐,慢放时变低沉。如果需要保持音调不变,建议先用其他工具分离音频,变速后再用音频编辑软件(如Audacity)做音调修正(时间伸缩+音高保持),最后重新合成。目前纯浏览器WASM方案暂不支持实时音频变调补偿。

为什么我上传的MP4变速后播放卡顿或音画不同步?

卡顿通常源于原视频帧率较低(如15fps),快放后帧率不变但视觉信息密度增加,导致解码压力大。音画不同步多因音频流未做对应拉伸——本工具只改视频时长,音频时长不变,若原视频音画时长严格对齐,变速后必然错位。建议先检查原视频时长(在播放器属性里看),若音画不同步明显,可先用格式工厂等工具将音频转为与视频相同时长。

这个工具支持多大视频?我有个4K视频能处理吗?

纯浏览器WASM方案受限于浏览器内存上限(通常2GB),4K视频(3840x2160)单帧约25MB,即便10秒视频也有数百MB,极易触发浏览器崩溃。建议先压缩至1080p或更低分辨率再上传。服务端Go处理版无此限制,但需自行部署。当前在线版实测稳定处理1080p、30秒以内的视频。

0.25倍速和4倍速是极限吗?我想弄更慢或更快怎么办?

本工具滑块范围0.25x~4x,对应setpts参数4.0~0.25。如需更慢(如0.1x),可手动输入setpts=10.0(需懂FFmpeg命令行);更快(如8x)则setpts=0.125。但注意:极慢速下视频文件体积会膨胀(时长增加),极快速下关键帧可能丢失导致播放器无法拖动进度条。建议先用本工具确认效果,再用FFmpeg微调。

变速后视频体积变大了还是变小了?

体积变化取决于变速方向和编码设置。快放(如2x):时长缩短,但FFmpeg默认保持原比特率,体积会按比例缩小(约原来50%)。慢放(如0.5x):时长翻倍,若比特率不变,体积约翻倍。本工具未做二次压缩,建议上传前用其他工具调整目标比特率(如用HandBrake的恒定质量RF值),避免慢放后文件过大。

为什么有的视频上传后提示格式不支持?

本工具底层FFmpeg支持绝大多数常见格式(MP4、AVI、MOV、MKV、WebM等),但若视频编码为H.265(HEVC)或AV1,浏览器WASM解码可能失败——这些编码需硬件加速或专用解码器。建议先用格式工厂转码为H.264编码的MP4再上传。另外,带杜比视界或HDR元数据的视频也可能因色彩空间不兼容报错。

我这视频是慢动作素材,想加速到正常速度,怎么算倍数?

假设原素材用高速摄影拍摄(如240fps),想输出为30fps的常速视频,倍率 = 拍摄帧率 / 目标帧率 = 240/30 = 8x。但本工具最大4x,无法一次完成。可先用其他工具降帧率(如将240fps转为60fps),再用本工具2x加速。注意:降帧率会丢失中间帧,建议用光流法插帧工具(如Flowframes)补帧后再加速。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭