Листы миниатюр – это типичные файлы изображений, содержащие кадры из видео. Листы с миниатюрами видео произошли от листов с фотографиями, которые были более популярны примерно десять лет назад, когда люди еще печатали свои фотографии. Точно так же, как листы фотографий в то время служили предварительным просмотром изображений в фильмах и на SD-картах, листы миниатюр, которые мы видим здесь, работают в качестве предварительного просмотра видеофайла. Их проще и быстрее пролистывать, чтобы проверить содержание и качество видео, вместо того, чтобы открывать его в медиаплеере и «сканировать» от начала до конца.
К счастью, вам не нужно извлекать определенные кадры из ваших видео, а затем вручную объединять их в одно изображение. Вы можете использовать инструменты для легкого создания миниатюр из видео. В этой статье мы покажем вам два способа сделать это в Linux.
Использование видео Gnome
Если вы используете Gnome, его медиаплеер по умолчанию под названием «Видео» (на самом деле «Видео Gnome», поскольку он является частью набора инструментов Gnome и до недавнего времени назывался сам по себе «Тотем») предлагает возможность легкого создания листов миниатюр.
Чтобы использовать его, запустите программу.
Откройте видео, из которого вы хотите создать несколько листов миниатюр, а затем в меню приложения выберите «Создать галерею скриншотов…»
В всплывающем окне вам будут предложены некоторые основные параметры листов миниатюр. Вы можете изменить ширину каждой миниатюры и либо позволить программе автоматически выбирать количество снимков экрана, либо выбирать, сколько вы хотите.
Затем вам нужно только ввести имя файла листа изображения в верхней средней части окна и нажать «Сохранить» в правом верхнем углу.
Созданный файл полезен, но если он выглядит не так, как вы ожидали, вы мало что сможете сделать. Для большего контроля над результатами вам придется использовать что-то, что предлагает больше возможностей.
Читайте также: Как загрузить и настроить DaVinci Resolve в Linux
Использование FFMPEG
ФФМПЕГ — это, по общему признанию, очень сложный инструмент командной строки, который можно использовать для работы с видео разными способами. Одним из них является создание листов миниатюр. Однако для этого вам придется создать довольно сложную команду. Это будет выглядеть примерно так:
ffmpeg -ss 3 -i "/path/to/video/file.mp4" -frames 5 -vf "select=not(mod(n\,3000)),scale=320:240,tile=4x3" -vsync vfr -q:v 10 image-sheet-filename_%03d.jpg
-ss
определяет смещение по времени от начала видеофайла. Большинство видео начинаются с последовательности заголовков, и в большинстве случаев иметь их миниатюру бесполезно. С помощью этого переключателя мы указываем FFMPEG игнорировать «X» секунд от начала видео, чтобы пропустить его, возможно, не очень интересное вступление.-i
устанавливает входной файл, из которого FFMPEG будет получать миниатюры.-frames
определяет количество кадров, которые будут записаны.-q:v
устанавливает качество сжатия создаваемых файлов изображений.
Что касается самой интересной, но и сложной части этой команды, нам придется ее немного расширить, поскольку она выполняет три вещи одновременно. Мы говорим об этом:
-vf "select=not(mod(n\,3000)),scale=320:240,tile=4x3"
-vf
в начале указывает FFMPEG использовать видеофильтр. Select=not(mod(n\,3000))
отвечает за выбранные кадры в финальных изображениях. Он делит номер текущего кадра («n») на предоставленный номер («3000»). Достигло ли видео кадра 3001? Если разделить 3001 на число 3000, получим 1, то есть этот кадр будет первым в первом созданном листе изображения. Достигли ли мы кадра 6001? Поскольку 6001/3000 дает нам 2, то это будет второй кадр и так далее. Таким образом, уменьшая это число, вы увеличиваете частоту выбора кадров и наоборот.
С помощью части scale=320:240
мы устанавливаем размеры каждой миниатюры на конечном листе миниатюр. Для достижения наилучших результатов это значение должно составлять часть разрешения исходного видео с учетом его соотношения сторон.
Наконец, часть команды tile=4x3
определяет, как миниатюры будут расположены на каждом листе.
Возможно, вы заметили, что окончательное имя созданного файла изображения выглядит так:
filename_%03d.jpg
В части %03d
указано, что если FFMPEG в конечном итоге выберет больше кадров, чем может поместиться на одном листе, в зависимости от настроек заголовка, он создаст больше листов изображений с пронумерованными именами файлов. Уменьшив «n\,NUMBER» выделения или количество плиток на каждом листе, будет создано больше файлов, и наоборот.
Конечно, это также зависит от длины видеофайла. В конце концов, это всего лишь математика: эпопея продолжительностью три с половиной часа, такая как «Властелин колец», состоит из сотен тысяч кадров больше, чем короткометражка Pixar.
Если вы хотите контролировать количество файлов листов изображений, которые будет создавать FFMPEG, используйте следующее уравнение:
Total Frames In Your Video / Number Of Tiles In A Sheet / Number Of Image Sheets You Want
Используйте значение из части команды «mod(n\,RESULTS)».
Если вы предпочитаете иметь отдельные изображения, а не лист миниатюр, FFMPEG также позволяет вам декомпилировать видео на отдельные изображения .
Какими еще способами вы можете создать миниатюры из вашего видео?