首页 > 解决方案 > FFmpeg 正在减慢输出视频的速度,我不知道为什么

问题描述

我正在制作一个使用 FFmpeg 进行 I/O 的 python 程序。现在我遇到的问题是输入视频是 3s 但输出是 9s。如果我在 Premiere Pro 中手动拉伸它们,两者都会排列,但我想用 ffmpeg 解决这个问题。我知道我的数组是 223 帧,我只给 FFmpeg 参数“-r 60”,但是当命令运行并制作视频时,它每帧重复大约 3 次,使生成的视频更长。我不能只添加命令以使其播放视频的速度提高 3 倍,因为它不完全是 3(我不知道差异的确切乘数是多少)。我能做些什么让它不重复帧吗?

编辑:我正在使用 skvideo.vwrite,所以我不太确定 FFmpeg 发生了什么,但这是我拥有的代码:
skvideo.io.vwrite("out.mp4", arr, outputdict = {'-r': '60'})
其中 arr 具有形状 (854, 256, 256, 3)

标签: numpyffmpeg

解决方案


固定的。问题出在 skvideo,而不是 FFmpeg。将输出命令放入 skvideo 没有任何作用,因为问题在于它将您输入的数组解释为 25 fps 并以此为基础工作。解决方案是在 vwrite 中添加“inputdict = {'-r' : FPS}”,其中 FPS 是您想要的 fps(即 '60' 或 '30')的字符串。


推荐阅读