В эпоху цифровых технологий видео стало неотъемлемой частью нашей жизни, будь то в развлекательных, образовательных или деловых целях. Часто нам может потребоваться извлечь миниатюры из видео, чтобы создать визуально привлекательные превью или миниатюры изображений. FFmpeg, мощная мультимедийная платформа, предоставляет различные методы для эффективного выполнения этой задачи. В этой статье мы рассмотрим несколько методов с примерами кода для извлечения миниатюр с помощью FFmpeg.
Метод 1: извлечение одной миниатюры в определенное время:
FFmpeg позволяет нам извлекать одну миниатюру из видео в определенное время. Мы можем использовать параметр -ss
, чтобы указать время, и параметр -vframes
, чтобы установить количество извлекаемых кадров. Вот пример команды:
ffmpeg -ss 00:00:05 -i input.mp4 -vframes 1 thumbnail.jpg
Эта команда извлекает одну миниатюру из видео «input.mp4» на 5-секундной отметке и сохраняет ее как «thumbnail.jpg».
Метод 2: извлечение миниатюр через регулярные промежутки времени.
Если мы хотим извлекать миниатюры через равные промежутки времени на протяжении всего видео, мы можем использовать параметр -vf
(видеофильтр) в FFmpeg. Фильтры select
и n
позволяют нам извлекать кадры на основе определенных условий. Вот пример команды:
ffmpeg -i input.mp4 -vf "select='eq(n%30,0)'" -vsync vfr thumbnails-%03d.jpg
Эта команда извлекает один кадр каждые 30 кадров (1 кадр в секунду, если видео имеет частоту 30 кадров в секунду) и сохраняет их как «thumbnails-001.jpg», «thumbnails-002.jpg» и т. д.
Метод 3. Извлечение миниатюр с нестандартными размерами.
В некоторых случаях нам может потребоваться извлечь миниатюры с определенными размерами или соотношениями сторон. FFmpeg позволяет нам изменять размер извлеченных кадров, используя опцию -vf
с фильтром scale
. Вот пример команды:
ffmpeg -i input.mp4 -vf "select='eq(n%30,0)',scale=320:-1" -vsync vfr thumbnails-%03d.jpg
Эта команда извлекает кадры каждые 30 кадров (1 кадр в секунду) и изменяет их размер до ширины 320 пикселей, сохраняя при этом исходное соотношение сторон.
Метод 4. Извлечение миниатюр из диапазона времени.
Если мы хотим извлечь миниатюры из определенного диапазона времени в видео, мы можем объединить -ss
и -to
параметры в FFmpeg. Вот пример команды:
ffmpeg -ss 00:01:30 -i input.mp4 -to 00:02:30 -vf "select='eq(n%30,0)'" -vsync vfr thumbnails-%03d.jpg
Эта команда извлекает один кадр каждые 30 кадров в диапазоне времени от 1 минуты 30 секунд до 2 минут 30 секунд и сохраняет их как «thumbnails-001.jpg», «thumbnails-002.jpg» и т. д.п>
FFmpeg предоставляет гибкие и мощные методы для извлечения миниатюр из видео. В этой статье мы рассмотрели несколько методов, включая извлечение одной миниатюры в определенное время, извлечение миниатюр через регулярные промежутки времени, настройку размеров миниатюр и извлечение миниатюр за определенный период времени. Используя эти методы, вы можете эффективно извлекать визуально привлекательные миниатюры для своих видеопроектов.