我们可以使用 FFMPEG 来限制最大 fps 吗?

问题描述 投票:0回答:1

我想在处理视频时限制最大 fps。
例如:将限制设置为每秒 30 帧。
如果我以 24 fps 处理视频,那么我不会更改 fps,但如果我以 60 fps 处理视频,那么我会将 fps 更改为 30。
可以仅使用 FFmpeg(带有过滤器或其他东西)来完成吗?
我认为可以通过使用这样的过滤器来完成:

-filter:v "fps=fps='min($CURRENT_FPS,30)'"

但我不知道是否可以从表达式中获取当前的 fps。

ffmpeg video-processing video-encoding frame-rate
1个回答
0
投票
#!/bin/bash

i="input"
o="output"

#get framerate and reset it to 30 if greater
if [ $(echo $($ffmpeg -i "$i" 2>&1 | sed -n "s/.*, \(.*\) fp.*/\1/p") | awk  '{printf "%.0f\n", $1}';) -gt 30 ];then r="-r 30";else r=""; fi

nice -n -20 ffmpeg -i $i $r $o
© www.soinside.com 2019 - 2024. All rights reserved.