Я ищу вариант командной строки.
Например, если у меня есть видео sample-video.mp4
, и я хочу сгенерировать файл изображения sample-image.jpg
из видео во время 00:00:26, какую команду мне следует дать?
Кроме того, было бы очень полезно, если бы вы могли подробно объяснить, какова функция каждого аргумента команды.
16.04
command-line
video
Sonevol
источник
источник
ffmpeg
кажется, поддерживаются имена файлов для вывода.Ответы:
Вы можете использовать
mplayer
(из пакетаmplayer
, не установленного по умолчанию):Это создаст файл,
00000001.jpg
поэтому вы должны переименовать его. Насколько я знаю, нет способа указать имя файла.-vo jpeg
означает, что вы хотите вывод JPEG,-ss 00:00:26
стремится к заданной позиции,-frames 1
означает, что обработать один кадр, а затем выйти.источник
-vo png:z=9
с параметром -z, определяющим уровень сжатия. Для JPEG можно также добавить в настройках качества:-vo jpeg:quality=100
. Но ваш ответ велик, как это уже :)Вы можете использовать ffmpeg
Вы также можете поиграть с параметрами, такими как контроль качества вывода JPEG
-q:v <linear integer 1-10>
или разрешения-s 480x300
.Еще несколько идей здесь
Метод VLC
cvlc - потому что это командная строка, и мы не хотим, чтобы какие-либо окна открывались. Кроме того, это означает, что мы можем запустить его без X11.
--start-time = 26 - точное положение снимка в секундах
sample-image.png
с вашим текущим скриншотом. Если вы пропустите это, VLC начнет нумерацию скриншотовПолная документация здесь
источник