Как запустить ffmpeg, чтобы сделать x скриншотов?

Используя GNU Parallel, вы можете запустить:

parallel ffmpeg -i {1} {1.}.{2} ::: *.wav ::: ogg mp3 flac

{1} = replacement string for first input source
{1.} = replacement string for first input source with extension removed
{2} = replacement string for second input source
::: *.wav = input source 1
::: ogg mp3 flac = input source 2

При этом будут задействованы все ваши ядра.

1
10.12.2020, 15:26
1 ответ

Изman ffmpeg

    -vframes number (output)
        Set the number of video frames to output. This is an obsolete alias
        for "-frames:v", which you should use instead.

Пример на основе вашей существующей команды:

ffmpeg -i <stream> -r 0.5 -frames:v 5 -f image2 output_%05d.jpg

-r 0.5устанавливает частоту кадров в секунду, вы будете получать 1 кадр каждые 2 секунды с самого начала. В качестве альтернативы вы также можете установить -ss, чтобы начать с другого времени.

-frames:v 5вы выйдете после того, как сделаете 5снимки экрана. Вы также можете использовать 1, чтобы сделать один снимок экрана и выйти, если вы выполните эту команду в цикле, как в вашем примере. Но я думаю, вы бы предпочли вызвать один ffmpegпроцесс для этого (без цикла ).

1
18.03.2021, 22:43

Теги

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