Скриншот видео из командной строки Linux
Скриншоты можно делать как ffmpeg так и mplayer
ffmpeg:
1 |
ffmpeg -i видео_файл -f image2 -vframes 1 trumb.jpg |
формат скриншота зависит от расширения файла. Получить скриншот с заданной позиции можно с помощью опции -ss:
ffmpeg -i input.avi -f image2 -vframes 1 -ss 20 output.jpg
В этом случае ffmpeg промотает 20 секунд от начала фильма и уже потом снимет скрин.
Примечание:Опция -ss как в mplayer, так и в ffmpeg может принимать свой аргумент как в виде целого числа секунд, так и в формате времени — ЧЧ:ММ:СС.Д
Опция -vframes контролирует кол-во кодируемых фреймов. Если вам надо снять несколько скринов, вам понадобится задать кол-во фреймов, а также задать формат имени выходных файлов вместо указания имени конкретного файла.
1 |
ffmpeg -i input.avi -f image2 -vframes 2 output%02d.jpg |
В результате выполнения этой команды появится два файла: output01.jpg и output02.jpg.
mplayer:
1 |
mplayer /var/trash/film.avi -ss 00:10:10 -frames 2 -vo jpeg:outdir=/var/trash/imgs |
Опция -ss как в mplayer, так и в ffmpeg может принимать свой аргумент как в виде целого числа секунд, так и в формате времени — ЧЧ:ММ:СС.Д.
-frames — контролирует кол-во извлекаемых фреймов.
-vo — формат выходного файла. После двоеточия идет путь в каталог извлечения.
перетащено отсюда