使用 ffmpeg 同时重新缩放和放慢电影
Rescaling and slowing down a movie at the same time with ffmpeg
我想用 ffmpeg 放慢我正在使用标志创建的电影的速度:
-filter:v "setpts=2.0*PTS"
但是我的静止图像的高度不能被 2 整除,所以为了避免错误:height not divisible by 2 (1238x833)
,我使用了标志:
-vf scale="trunc(iw/2)*2:trunc(ih/2)*2"
(我也试过-vf scale=1238:-2
)。
当我执行此操作时,会生成影片但不会放慢速度,就像 -filter:v "setpts=2.0*PTS"
不存在一样。
为了让这两个选项同时工作,有什么特别的事情要做吗?
这是我使用的完整命令:
ffmpeg -an -i ./movie/cphmd1.%05d.ppm -vcodec libx264 -pix_fmt yuv420p -b:v 5000k -r 24 -crf 18 -filter:v "setpts=2.0*PTS" -vf scale="trunc(iw/2)*2:trunc(ih/2)*2" -preset slow -f mp4 cphmd1_slower.mp4
非常感谢!
作用于同一输入的多个滤波器必须串联在一起。所以,
ffmpeg -an -i ./movie/cphmd1.%05d.ppm -vcodec libx264 -pix_fmt yuv420p -b:v 5000k -r 24 -crf 18 -vf "setpts=2.0*PTS,scale=trunc(iw/2)*2:trunc(ih/2)*2" -preset slow -f mp4 cphmd1_slower.mp4
我想用 ffmpeg 放慢我正在使用标志创建的电影的速度:
-filter:v "setpts=2.0*PTS"
但是我的静止图像的高度不能被 2 整除,所以为了避免错误:height not divisible by 2 (1238x833)
,我使用了标志:
-vf scale="trunc(iw/2)*2:trunc(ih/2)*2"
(我也试过-vf scale=1238:-2
)。
当我执行此操作时,会生成影片但不会放慢速度,就像 -filter:v "setpts=2.0*PTS"
不存在一样。
为了让这两个选项同时工作,有什么特别的事情要做吗?
这是我使用的完整命令:
ffmpeg -an -i ./movie/cphmd1.%05d.ppm -vcodec libx264 -pix_fmt yuv420p -b:v 5000k -r 24 -crf 18 -filter:v "setpts=2.0*PTS" -vf scale="trunc(iw/2)*2:trunc(ih/2)*2" -preset slow -f mp4 cphmd1_slower.mp4
非常感谢!
作用于同一输入的多个滤波器必须串联在一起。所以,
ffmpeg -an -i ./movie/cphmd1.%05d.ppm -vcodec libx264 -pix_fmt yuv420p -b:v 5000k -r 24 -crf 18 -vf "setpts=2.0*PTS,scale=trunc(iw/2)*2:trunc(ih/2)*2" -preset slow -f mp4 cphmd1_slower.mp4