5

在手册中它说:

ffmpeg -i input.mkv -filter:v 'setpts=0.5*PTS' output.mkv

但是当我运行时:

ffmpeg -i input.mp4 -filter:v 'setpts=0.5*PTS' speedup.mp4

我收到一个错误:

[AVFilterGraph @ 0000000002500600] No such filter: 'setpts=0.5*PTS'
Error opening filters!

不确定这是否意味着根本无法打开过滤器,或者只是此过滤器不可用。

如何正确运行它?或者也许我的版本不支持它,那么我在哪里可以获得可以正常工作的版本?Win32/x64 二进制

4

3 回答 3

11

同时使用setptsatempo来加速视频和音频:

ffmpeg -i input-video.mp4 -vf "setpts=0.68*PTS" -filter:a "atempo=1.467" output-video.mp4

来自:https ://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video

当然,您必须对数字进行正确的数学运算。setpts需要更小才能使视频更快,但需要atempo更大才能加快音频速度。

Audio value needed = 1 / Video value

于 2016-04-05T15:10:37.407 回答
2

如果你有你的 ffmpeg.exe(我的 windows 版),你可以用这个命令行列出所有可用的过滤器,你可以编辑 txt 文件 c:\filters.txt 来查看它们。

ffmpeg -filters > c:\yfilters.txt

在我的我可以设置过滤器设置(仅限视频到视频):

setpts V->V 设置输出视频帧的 PTS。

您的命令行是正确的,并且可以使用具有此过滤器的 ffmpeg 版本(尝试下载最新版本)

此命令行也适用于我: ffmpeg -i video_input -vf "setpts=factor*PTS" video_output

因素可以是:

1.用于加速视频0.2,0.4,0.6,0.8..(<1)

2.用于放慢视频:1.2,1.4,1.6,1.8,2.0,3.0,4.0,5.0,10.0... (>1 )

于 2013-11-11T22:51:27.160 回答
0

尝试使用双引号。例如ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" speedup.mp4

于 2019-03-19T12:35:57.310 回答