相关疑难解决方法(0)

使用 FFmpeg 的视频有意义的缩略图

FFmpeg 可以从视频中捕获图像,这些图像可以用作缩略图来表示视频。在FFmpeg Wiki中捕获了最常见的方法。

但是,我不想在某些时间间隔内选择随机帧。我发现了一些在 FFmpeg 上使用过滤器来捕捉场景变化的选项:

过滤器thumbnail试图找到视频中最具代表性的帧:

ffmpeg -i input.mp4 -vf  "thumbnail,scale=640:360" -frames:v 1 thumb.png
Run Code Online (Sandbox Code Playgroud)

并且以下命令仅选择与之前相比具有超过 40% 变化的帧(因此可能是场景变化)并生成 5 个 PNG 的序列。

ffmpeg -i input.mp4 -vf  "select=gt(scene\,0.4),scale=640:360" -frames:v 5 thumb%03d.png
Run Code Online (Sandbox Code Playgroud)

以上命令的信息归功于Fabio Sonnati。第二个看起来更好,因为我可以得到 n 个图像并选择最好的。我试过了,它生成了 5 次相同的图像。

更多的调查使我:

ffmpeg -i input.mp4 -vf "select=gt(scene\,0.5)" -frames:v 5 -vsync vfr  out%02d.png
Run Code Online (Sandbox Code Playgroud)

-vsync vfr确保您获得不同的图像。这仍然总是选择视频的第一帧,在大多数情况下,第一帧是署名/标志并且没有意义,所以我添加了一个-ss3 来丢弃视频的前 3 秒。

我的最终命令如下所示:

ffmpeg -ss 3 -i input.mp4 -vf "select=gt(scene\,0.5)" -frames:v 5 -vsync vfr out%02d.jpg
Run Code Online (Sandbox Code Playgroud)

这是我能做的最好的事情。我注意到,由于我只挑选了5个视频,所有视频都来自视频的开头,可能会错过视频后面出现的重要场景。

我想为任何其他更好的选择挑选你的大脑。

thumbnails jpeg ffmpeg thumbnail-generator mjpeg

101
推荐指数
3
解决办法
9万
查看次数

FFmpeg命令查找最接近第3分钟的关键帧

我使用 FFmpeg 在第 3 分钟提取关键帧。这意味着它是第3*60*25帧(假设25 FPS)。现在,该帧通常不是关键帧。

我想提取最接近上述帧的帧,但确保它是关键帧。这意味着该帧可能出现在视频第三分钟之前或之后几秒钟。

我到处都找遍了,没有任何运气!我是在 Linux 上执行此操作,因此如果您使用的是 FFmpeg 以及专门安装或捆绑的东西,请告诉我!

ffmpeg

2
推荐指数
1
解决办法
4936
查看次数

标签 统计

ffmpeg ×2

jpeg ×1

mjpeg ×1

thumbnail-generator ×1

thumbnails ×1