воскресенье, 8 апреля 2012 г.

Делаем скриншоты с помощью программ ffmpeg и mplayer

FFmpeg

ffmpeg -i input.avi -f image2 -vframes 1 output.png

Поменяйте расширение выходного файла на .jpg и получите скрин в
формате JPEG. Получить скриншот с заданной позиции можно с помощью опции -ss:

ffmpeg -i input.avi -f image2 -vframes 1 -ss 20 output.jpg

В этом случае ffmpeg промотает 20 секунд от начала фильма и уже потом снимет скрин. Это
медленно.
Примечание:Опция -ss как в mplayer, так и в ffmpeg может принимать свой аргумент как в виде целого числа секунд, так и в формате времени — ЧЧ:ММ:СС.Д
Опция -vframes контролирует кол-во кодируемых фреймов. Если вам надо снять несколько
скринов, вам понадобится задать кол-во фреймов, а также задать формат имени выходных
файлов вместо указания имени конкретного файла.

ffmpeg -i input.avi -f image2 -vframes 2 output%02d.jpg

В результате выполнения этой команды появится два файла: output01.jpg и output02.jpg.


Mplayer

mplayer /var/trash/film.avi -ss 00:10:10 -frames 2

-vo jpeg:outdir=/var/trash/imgs


Опция -ss как в mplayer, так и в ffmpeg может принимать свой аргумент как в виде целого
числа секунд, так и в формате времени — ЧЧ:ММ:СС.Д.
-frames - контролирует кол-во извлекаемых фреймов.
-vo - формат выходного файла. После двоеточия идет путь в каталог извлечения.