Как извлечь все ключевые кадры из видеоклипа?

Я пытаюсь извлечь ключевые кадры из видеоклипа. Я попробовал следующую команду, но она извлекает все кадры.

ffmpeg -vf select="eq(pict_type\,PICT_TYPE_I)" -i 2.flv -vsync 2 -s 73x41 -r 30 -f image2 thumbnails-%%02d.jpeg

3 ответа

Вы можете сделать это проще, используя -skip_frame без необходимости select видео фильтр:

ffmpeg -skip_frame nokey -i 2.flv -vsync 0 -r 30 -f image2 thumbnails-%02d.jpeg

Пример использования select а также scale фильтры:

ffmpeg -i 2.flv -vf "select=eq(pict_type\,I),scale=73x41" \
-vsync vfr -qscale:v 2 thumbnails-%02d.jpeg

Несколько советов:

  • Фильтры не должны приходить раньше -i вариант, так как они выходной вариант. Я не знаю, откуда именно вы получили команду, но PICT_TYPE_I не существует - должно быть I,

  • в scale фильтр вы можете заменить 73 или же 41 чтобы фильтр автоматически вычислял ширину или высоту для сохранения соотношения сторон: например, scale=73:-1 или же scale=-1:41, Это предотвращает растяжение или сдавливание, которые могут возникнуть в результате "принудительного" масштабирования.

  • Качество продукции можно контролировать с помощью -qscale:v (или псевдоним -q:v). Эффективный диапазон - линейная шкала от 2 до 31, а более низкое значение - более высокое качество.

  • Что твой ffmpeg позволяет фильтр, прежде чем входные данные говорят мне, что он может быть устаревшим. Загрузите последнюю статическую сборку для своей операционной системы или соберите ее самостоятельно в соответствии с руководствами по компиляции, если вышеприведенное не работает.

Если это ошибки :

Опция vf (установить видеофильтры) не может быть применена к URL-адресу ввода 1508.mp4 - вы пытаетесь применить опцию ввода к выходному файлу или наоборот. Переместите эту опцию перед файлом, которому она принадлежит. Ошибка анализа параметров для входного файла 1508.mp4. Ошибка открытия входных файлов: неверный аргумент

вы можете сделать это:

ffmpeg -i 263.mp4 -vf select=eq(pict_type\,PICT_TYPE_I)  -vsync 2 -s 480x320 -r 24 -f image2 thumbnails-%05d.jpeg

==--------------------------------------------

"-I" Параметры заранее

Другие вопросы по тегам