1. 仅调整视频速率
视频调速原理:修改视频的pts,dts
bash
# 可能会丢帧
ffmpeg -i input.mkv -an -filter:v "setpts=0.5*PTS" output.mkv
# 可用-r参数指定输出视频FPS以防止丢帧
ffmpeg -i input.mkv -an -r 60 -filter:v "setpts=2.0*PTS" output.mkv
注意:
- 视频调整的速度倍率范围为:[0.25, 4]
- 只调整视频的话最好先把音频禁掉。
2. 仅调整音频速率
音频调速原理:调整音频采样率的简单方法会导致音色发生变化,故通过对原音进行重采样,再插值方法更加通用。
bash
ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv
注意:
音频调整的速度倍率范围为:[0.5, 2.0],如果需要调整更高倍率可采用以下方法(以4倍为例):
bash
ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv
3. 同时调整音视频速率
bash
ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv