Быстрый инструмент для генерации галерей видео миниатюры для командной строки

mcedit's (или мГц-e) переход на новую строку не похож на регулярный переход на новую строку в редакторе. Это только показывает Вам файл с длинными линиями, перенесенными, таким образом, Вы видите строки. Вместо этого это на самом деле и эффективно создает новые строки в Вашем текстовом файле. Это помещает 'новую строку' в конце строк, и это изменяет Ваш файл.

Как доказательство, wrtie несколько длинных линий в файле, чем включают переход на новую строку и позволяют ему перенести другую пару или так строки. Сохраните файл и, чем делают 'кошку' файла. Вы будете видеть, что это отображает перенесенные строки.

14
21.05.2016, 14:52
9 ответов

Вытащите захваты изображений (они 100 пикселей высотой, и сохраняют соотношение сторон), уровень (-r) в секунду (это приводит к одному кадру каждые ~5 минут), это также добавляет время штамп для вывода изображения.

ffmpeg  -i MOVIE.mp4 -r 0.0033 -vf scale=-1:120 -vcodec png capture-%002d.png

Затем используйте ImageMagick создавать Ваше изображение галереи:

montage -title "Movie Name\nSubtitle" -geometry +4+4 capture*.png output.png
28
27.01.2020, 19:50
  • 1
    Можно использовать части для уровня (-r). Это помогает, и больше с точностью до указывают времена. 5 минут = 300 секунд ffmpeg -i MOVIE.mp4 -r 1/300 -vf scale=-1:120 -vcodec png capture-%02d.png. –  DutGRIFF 13.05.2014, 21:28
  • 2
    avconv работы таким же образом, в случае, если Вы не имеете ffmpeg доступный (некоторые релизы Ubuntu). –  Ken Sharp 08.03.2016, 05:25
  • 3
    Это работает, но требует инфраструктуры через весь видеофайл. superuser.com/questions/538112 / … обеспечивает некоторые примеры, которые пытаются найти значимые миниатюры, а также избегают необходимости находиться и обрабатывать все видео для получения нескольких кадров. –  Skrylar 21.05.2016, 15:01
  • 4
    Это не добавляет метку времени к изображению. –  felwithe 03.08.2017, 02:08

'imagemagick' пакет имеет утилиты для материала как это.

http://www.imagemagick.org/Usage/thumbnails/

Существуют библиотеки API с помощью imagemajick для набора языков также.

1
27.01.2020, 19:50
  • 1
    , Какова будет соответствующая команда? –  student 05.02.2013, 13:50
  • 2
    convert вероятно, самый общий. Посмотрите на возглавляемое Общее Создание Миниатюры раздела на первой странице, с которой я связался. –  goldilocks 05.02.2013, 16:20

Мне нравится использовать простой в использовании скрипт bash командной строки unix под названием VCS - Video Contact Sheet (лист видеоконтактов). Их официальная страница: http://p.outlyer.net/vcs/

Его намного проще использовать, чем графический интерфейс

''' Это баш-скрипт, предназначенный для создания контактных видеокассет (превью), так называемых эскизов или превью видео. Любое видео, поддерживаемое mplayer и ffmpeg, может быть использовано этим сценарием. '' В системе должен быть установлен либо ffmpeg, либо mplayer.

Использование:

vcs input-filename -U0 -i 1m -c 3 -H 200 -a 300/200 -o save-filename.jpg

Как работает команда

Редактируйте имя входа-фильма в имя вашего видеофайла!

  • -U0 (без имени в нижнем колонтитуле - иначе отображается имя хоста - обратите внимание, что это ноль, а не буква O)

  • -i 1m (устанавливает временной интервал захвата в минутах - в данном случае это каждую минуту - вы также можете использовать -n, вместо этого установив количество захватов, например, -n 21 создаст 21 картинку, но не используйте оба)

  • -c устанавливает количество колонок (здесь 3 колонки)

  • -H 200 -a 300/200 (устанавливает размер и аспект, поэтому файл не слишком большой - кажется, нужно сделать и то, и другое)

  • -o имя файла. jpg (используйте .jpg по умолчанию, так как .png слишком большой - и измените имя файла на одно из выбранных вами !)

12
27.01.2020, 19:50

Эта, кажется, подходит к биллю, она свободна и открыта и даже работает на Windows :)

У нее даже есть продвинутые вещи, Например, вместо слепой пикировки любого кадра на определенном интервале, он может пикировать достаточно близко, но не выглядеть слишком размытым, так что вместо этого:

screenshot

Вы можете передать ему параметр (-D6), так что он сделает так:

better screenshot

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

7
27.01.2020, 19:50

В форуме FFMPEG есть решение.

Чтобы сделать несколько скриншотов и поместить их в один файл изображений (создание плиток), вы можете использовать FFMPEG-фильтр для плитки FFMPEG, как это:

ffmpeg -ss 00:00:10 -i movie.avi -vf 'select=not(mod(n\,1000)),scale=320:240,tile=2x3' out.png

, который будет искать 10 секунд в фильме, выбирать каждую 1000-й кадр, масштабируйте его до 320x240 пикселей и создайте 2x3 плитки в выходном изображении OUT.PNG.

Оригинальный пост здесь - http://fefmpeg.gusari.org/viewtopic.php?f=25&t=597

7
27.01.2020, 19:50

TOTEM - TOTEM-плеер по умолчанию на 14.04 и некоторые более ранние версии Ubuntu - имеет вариант меню с простыми параметрами (в рамках меню редактирования »создать скриншот галереи ...»). Существует также эквивалент командной строки (ISH) под названием «Totem-Video-thumbnailer», который имеет страницу человека, которая говорит вам, как его использовать; Я написал простой скрипт Bash, который использовал выход из команды поиска (заботится о не разделяющих файлы с пробелами в именах), чтобы автоматически генерировать галерею скриншота миниатюры (или контактный лист, а также упоминаемый выше) для любых файлов выше определенного Размер в каталоге, который у него уже не было.

Я мог бы загрузить его на мой Github под ~ Jgbreezer, если кто-то любил охоту за ним. Хотя решения, использующие FFMPEG и другие вещи, могут быть более гибкими и надежными; Кажется, я получаю выходы ошибок из команды Totem о том, чтобы не найти определенные рамки, но кажется, что в любом случае работает большую часть времени.

1
27.01.2020, 19:50

Вот как я обрабатываю простой контактный лист с помощью AWS EC2 на моем Mac.

Шаг №1: Создайте экземпляр EC2 в Amazon Web Services

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

Amazon Linux AMI 2015.03.1 (HVM), SSD Volume Type - ami-0d4cfd66
t2.medium

Шаг №2: Настройте экземпляр

Это все запускается с моего Mac для удобства, но вы также можете запустить просто команды "sudu su ..." из командной строки EC2.

ssh -i "/local/path/to/key/your_ec2_key.pem" ec2-user@11.22.33.44 "sudo su root; curl -O http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.latest.tar.gz"
ssh -i "/local/path/to/key/your_ec2_key.pem" ec2-user@11.22.33.44 "sudo su root; gunzip ffmpeg.static.64bit.latest.tar.gz"
ssh -i "/local/path/to/key/your_ec2_key.pem" ec2-user@11.22.33.44 "sudo su root; tar -xf ffmpeg.static.64bit.latest.tar"

Замена 11.22.33.44 на ваш EC2 IP.

Шаг №3: Обработка видео

Отправка видео:

rsync -Pav -e 'ssh -i /local/path/to/key/your_ec2_key.pem pem' /Users/mdouma/Desktop/myVideo.mov ec2-user@11.22.33.44:/home/ec2-user/

Обработка его в контактный лист:

ssh -i "/local/path/to/key/your_ec2_key.pem" ec2-user@11.22.33.44 "rm -f out.png ; ./ffmpeg -ss 00:00:00 -i myVideo.mov -vf 'select=not(mod(n\,1)),scale=113:111,crop=111:111,tile=18x36' out.png"

Измените / Users / mdouma на локальный корень Измените ", 1" на какой-то другое число, например «, 7», если вам нужен только каждый седьмой кадр. Измените 111 на любой желаемый размер

Скопируйте его обратно на мой Mac:

rsync -Pav -e 'ssh -i /local/path/to/key/your_ec2_key.pem'  ec2-user@11.22.33.44:/home/ec2-user/out.png  /Users/mdouma/Desktop/out.png
open /Users/mdouma/Desktop/out.png
4
27.01.2020, 19:50

Я хотел того же, и поиск в Google закончился использованием ffmpeg и imagemagick. НЕ «быстро» ИМХО. Затем нашел сценарий bash с именем SlickSlice (последний раз обновлялся в 2008 году, но вчера работал отлично). Установил и настроил по своему вкусу, используя конфигурационный файл и сам скрипт. Кстати, скрипт использует ImageMagick и MPlayer.

Я сделал подробные инструкции и настройку после того, как успешно использовал его. После успешной установки вы можете сгенерировать эскиз временной шкалы видео с помощью простой команды:
slkslice -x "InputFile.mp4" (по умолчанию 4 столбца x 15 строк) или
slokslice -x "InputFile.mp4" -S 6x10 (для 6 столбцов x 10 строк).

Он выводится как SLICKSLICED_InputFile.mp4.jpeg , и я настроил его для создания InputFile.mp4-screen.jpeg путем редактирования самого сценария bash.

0
27.01.2020, 19:50

Этот инструмент помог мне (2019 -02)-и поддерживается. Множество опций -сетка, качество, шрифты, цвета, граница, интервал,...

https://github.com/amietn/vcsi

Create video contact sheets. A video contact sheet is an image composed of video capture thumbnails arranged on a grid.

Вам нужны только ffmpeg и python.

6
27.01.2020, 19:50

Теги

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