FFMPEG - 如何查找文件的百分比

FFMPEG - 如何查找文件的百分比

我已经阅读了文档,了解如何使用 ffmpeg 提取帧,但该命令要求我给它一个时间,但却无法找到有关百分比的任何信息。

有什么方法可以使用百分比而不是时间,以便我可以全局/自动地使用该命令?

这是我正在使用的命令:ffmpeg -ss 00:00:00 -i "INPUT" -frames:v 1 OUTPUT

答案1

您可以以秒的小数形式指定 -ss 参数。因此,您可以编写一个脚本,根据所需百分比计算以秒为单位的时间戳,并将其传递给 ffmpeg 命令。以下是 Linux shell 中的示例

INPUT=$1
PERCENT=$2
OUTPUT=$3

LENGTH_IN_SECONDS=$(ffprobe -i $INPUT -show_entries format=duration -v quiet -of csv="p=0")
PERCENT_TO_SECONDS=$(awk "BEGIN {print ($LENGTH_IN_SECONDS*$PERCENT)/100}")

ffmpeg -ss $PERCENT_TO_SECONDS -i $INPUT -frames:v 1 $OUTPUT

用法: ./percentage_seek.sh ./bbb_sunflower_1080p_30fps_normal.mp4 49.35 ./out.jpg

相关内容