Administrator
发布于 2025-09-08 / 0 阅读
0

ffmpeg各种使用方法

1. 使用ffmpeg转换视频播放速率

使用FFmpeg 修改视频播放速度需要同时调整视频和音频,对视频使用 setpts 滤镜,对音频使用 atempo 滤镜。例如,要将视频加速两倍,请使用 setpts=0.5*PTSatempo=2.0;要减速到原来的一半,请使用 setpts=2.0*PTSatempo=0.5

修改视频速度

视频速度的调整是通过修改帧的显示时间戳(PTS)来实现的。

  • 加速视频

    使用 setpts 滤镜,将倍数乘以一个小于1 的数值。例如,加速2 倍,使用 setpts=0.5*PTS

  • 减速视频

    使用 setpts 滤镜,将倍数乘以一个大于1 的数值。例如,减速到原来的一半,使用 setpts=2.0*PTS

修改音频速度

音频速度的调整通过 atempo 滤镜实现,它能够重采样音频,保持音色不变。

  • 加速音频

    使用 atempo 滤镜,将数值乘以一个大于1 的数值。例如,加速2 倍,使用 atempo=2.0

  • 减速音频

    使用 atempo 滤镜,将数值乘以一个小于1 的数值。例如,减速到原来的一半,使用 atempo=0.5

同时调整音视频

要同时调整音视频的速度,需要结合使用这两个滤镜,并将两者串联到一起。命令格式。

ffmpeg -i <输入文件> -filter:v "setpts=<视频倍率>*PTS" -filter:a "atempo=<音频倍率>" <输出文件>

示例:加速2 倍。

ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" -filter:a "atempo=2.0" output.mp4

注意事项

  • atempo 滤镜的倍率调整范围是[0.5, 2.0]。如果需要更高倍速,可以连续使用多个 atempo 滤镜,如 atempo=2.0,atempo=2.0 来实现4 倍加速。
  • setpts 滤镜对视频速度的调整范围建议为[0.25, 4]。
  • 如果只需要调整视频速度,可以禁用音频 (-an),反之亦然。

2. 将m4a音频转为mp3

ffmpeg -i input.m4a -codec:a libmp3lame -qscale:a 2 output.mp3