Значимые миниатюры для Видео с помощью FFmpeg

FFmpeg может получить изображения от видео, которые могут использоваться в качестве миниатюр для представления видео. Наиболее распространенные способы выполнения, которые получены в Wiki FFmpeg.

Но, я не хочу выбирать случайные кадры в некоторых интервалах. Я нашел некоторые опции с помощью фильтров на FFmpeg для получения изменений сцены:

Фильтр thumbnail попытки найти самые представительные кадры в видео:

ffmpeg -i input.mp4 -vf  "thumbnail,scale=640:360" -frames:v 1 thumb.png

и следующая команда выбирает только кадры, которые имеют больше чем 40% изменений по сравнению с предыдущим (и так вероятно, изменения сцены), и генерирует последовательность 5 PNGs.

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

Информационный кредит на вышеупомянутые команды Fabio Sonnati. Второй казался лучше, поскольку я мог получить изображения n и выбрать лучшее. Я попробовал его, и это генерировало то же изображение 5 раз.

Еще некоторое расследование привело меня к:

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

-vsync vfr гарантирует, чтобы Вы получили различные изображения. Это все еще всегда выбирает первый кадр видео, в большинстве случаев первый кадр является кредитами/логотипом и не значимый, таким образом, я добавил a -ss 3 для отбрасывания сначала 3 секунд видео.

Моя заключительная команда похожа на это:

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

Это было лучшим, я мог сделать. Я заметил, что, так как я выбираю только 5 видео, все они главным образом с начала видео и могут пропустить важные сцены, которые происходят позже в видео

Я хотел бы выбрать Ваши мозги для любых других более оптимальных вариантов.

82
задан 18.01.2013, 12:02

0 ответов

Теги

Похожие вопросы