Используя 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
При этом будут задействованы все ваши ядра.
Из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
процесс для этого (без цикла ).