gpt4 book ai didi

video - 用于生成与视频长度相关的固定数量图像的 FFmpeg 标志

转载 作者:行者123 更新时间:2023-12-04 23:28:17 24 4
gpt4 key购买 nike

我正在使用这个命令:

ffmpeg -i file.mp4 -vf fps=1/60 -s 274x175  thumb%d.png

每分钟从视频中提取一帧。
我想学习如何做的是:
从视频中提取总共 10 张与视频距离相关的图像,无论其长度如何。

例子 :

1.如果视频长度为 15 分钟(900 秒),它将从每 90 秒的视频中提取一张图像。
2.如果视频长度为 22 分钟(1320 秒),它将从每 132 秒的视频中提取一张图像。

还有一件事,是否可以使用 ffmpeg 设置这些图像的输出质量或限制要输出的每个图像的最大大小(如文件大小, 而不是 尺寸)?

最佳答案

你必须编写脚本。

快速简便的方法

将从 ffprobe 获取持续时间:

$ ffprobe -v error -select_streams 0:v -show_entries format=duration -of default=nw=1 input.mkv 
duration=600.032000

但是,这可能并不准确。

持续时间可能是“脆弱的”

如果您的输入被损坏或损坏,它可能会返回不正确的持续时间。 (您可以使用 dd 截断某些格式来测试它。)如果您确信您的输入没问题,那么 ffprobe可以是一种快速简便的方法。

一种较慢但更防弹的方法

如果您发现 ffprobe 的问题返回不正确的值,那么您将不得不完全解码文件:
$ ffmpeg -i input -f null -

解析控制台输出的倒数第二行,您将看到列出的实际持续时间如下:
time=00:04:44.95

这可能几乎是即时的,也可能需要几秒钟。这需要多长时间取决于您的输入持续时间、输入复杂性和您的硬件。

画面质量

您问:

is it possible to use ffmpeg to set output quality of those images



PNG

不,因为它是无损的。您可以使用 -compression_level 控制压缩量选项,但 ffmpeg默认情况下已使用最高压缩。

JPG

是的,无论是 -q:v-b:v .对于 -q:v一个合理的测试范围是 2-8:值越高,质量越低,文件越小。

关于video - 用于生成与视频长度相关的固定数量图像的 FFmpeg 标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33352563/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com