如何改变 AVI 文件的速度?

如何改变 AVI 文件的速度?

我想更改 AVI 视频文件的速度,使其播放时间是原来的两倍。我曾尝试使用 来实现这一点ffmpeg,但这会导致视频质量非常低:

ffmpeg -i in.avi -filter:v "setpts=2.0*PTS" out.avi

如何在 Ubuntu 15.10 上实现这一功能而不损失质量?

答案1

我怀疑你的 FFmpeg 副本也使用以下方法重新编码默认值对于 avi 容器,这可能有点难以接受。尝试在命令行中运行以下简单的添加操作:

ffmpeg -i in.avi \
       -filter:v "setpts=2.0*PTS" \
       -c:v mpeg4 -q:v 2 \
       -an \
       out.avi

该命令行的驱动部分是“质量”设置:-q:v 2可以设置从 1 到 31,最高质量为 1,最低质量为 31。另请注意,我已经-an禁止使用音频流。

如果这能有效提高输出视频的质量,您可以考虑在视频行中添加以下标志:

-vtag XVID -f avi -mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 300

我在为旧设备编码时经常使用这些标志,它们产生更好的结果...

参考:

答案2

对我来说,使用这个命令效果很好:

ffmpeg -i in.mp4 \
   -filter_complex "[0:v]setpts=0.50*PTS[v];[0:a]atempo=2.00[a]" \
   -map "[v]" -map "[a]" out.mp4

注意:setpts=0.50 == 2x,并且 atempo 必须是 1/setpts == 2.0。另一个示例是:

# 1.25x
ffmpeg -i in.mp4 \
   -filter_complex "[0:v]setpts=0.80*PTS[v];[0:a]atempo=1.25[a]" \
   -map "[v]" -map "[a]" out.mp4

相关内容