用 FFmpeg 调整视频播放速度
同时调整视频时间戳和音频节奏,把长视频加速或减速保存,画面与声音始终保持同步。
执行 ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" -af "atempo=2.0" output.mp4 即可 2 倍速播放(减速改为 setpts=2*PTS、atempo=0.5)。
01命令
命令
$ ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" -af "atempo=2.0" output.mp402作用说明
setpts 会缩放每个视频帧的显示时间戳:系数小于 1 表示加速,大于 1 表示减速。音频由 atempo 处理,它在变速的同时不变调,人声听起来依然自然。两个系数必须互为倒数,否则画面和声音会逐渐错位;减速到 0.5 倍以下时,单个 atempo 不支持低于 0.5,需要串联两个滤镜,例如 atempo=0.5,atempo=0.5。
03风险
!注意: setpts 和 atempo 必须严格互为倒数(如 0.25*PTS 配 atempo=4.0),否则声音会与画面逐渐不同步。
04撤销
✓无需撤销——该命令不会改变持久状态。
05来源
- ffmpeg(1) — Linux manual page依据: Documents -vf and -af filter chain application to the output file.
- FFmpeg Filters Documentation (setpts, atempo)依据: setpts scales presentation timestamps to change video speed; atempo changes audio tempo with a supported range of 0.5 to 100 (chaining covers lower rates).
最后验证: 2026-09-18 · 分类: 媒体