Как извлечь 1 скриншот для видео с ffmpeg в данный момент времени?



есть много учебников и вещей, показывающих, как извлечь несколько скриншотов из видео с помощью ffmpeg. Вы устанавливаете -r, и вы даже можете начать определенную сумму.



но я просто хочу 1 скриншот, скажем, 01: 23: 45 in. Или 1 скриншот на 86% в.



Это все возможно с ffmpegthumbnailer но это еще одна зависимость, от которой я не хочу зависеть. Я хочу быть в состоянии сделать это с ffmpeg.

638   2  

2 ответов:

использовать :

ffmpeg -ss 01:23:45 -i input -vframes 1 -q:v 2 output.jpg
  • для вывода JPEG используйте -q:v контроль качества продукции. Полный диапазон-это линейная шкала 1-31, где более низкое значение приводит к более высокому качеству. 2-5-это хороший выбор, чтобы попробовать.

  • The выберите фильтр предоставляет альтернативный метод для более сложных потребностей, таких, как выбор только определенные типы кадров, или 1 на 100, и т. д.

  • размещение -ss перед входом будет быстрее. Смотрите Ffmpeg Wiki: Ищу и этот фрагмент ffmpeg документация по инструменту cli:

-ss установки (ввода/вывода)

при использовании в качестве опции ввода (перед -i), ищет в этом входном файле позицию. Обратите внимание, что в большинстве форматов невозможно искать именно так ffmpeg будет стремиться к ближайшей точке поиска, прежде чем позиция. При перекодировании и -accurate_seek включено (the по умолчанию), этот дополнительный сегмент между точкой поиска и позицией будет быть декодированным и отброшенным. При выполнении потоковой копии или когда -noaccurate_seek используется, он будет сохранен.

при использовании в качестве опции вывода (перед выходным именем файла) декодирует, но отбрасывает ввод до тех пор, пока временные метки не достигнут позиции.

позиция может быть либо в секундах, либо в hh:mm:ss[.xxx] форма.

FFMpeg может сделать это, обратившись к данной метке времени и извлекая ровно один кадр в виде изображения, см. например:

ffmpeg -i input_file.mp4 -ss 01:23:45 -vframes 1 output.jpg

давайте объясним варианты:

-i input file           the path to the input file
-ss 01:23:45            seek the position to the specified timestamp
-vframes 1              only handle one video frame
output.jpg              output filename, should have a well-known extension

The

Comments

    Ничего не найдено.