Я знаю, что могу преобразовать массив изображений, хранящихся на моем жестком диске (если они пронумерованы правильно), используя следующие аргументы:

-f image2 -r 10 -i h:\\streamin\\%05d.jpg -crf 23  -y -r 10 -f ogg -

Есть ли в ffmpeg положение для изменения этого бита:

h:\\streamin\\%05d.jpg

Для потока изображений, хранящихся в виде потока памяти вообще?

т.е.: stdin = 'поток памяти изображений'

1 ответ1

3

Если ваши входные изображения все JPEG, один за другим, но у вас нет шаблона для чтения, вам нужен mjpeg :

ffmpeg -f mjpeg -i - -r 10 -c:v libtheora -q:v 7 -f ogg -

Это предполагает, что все, что вы передадите в ffmpeg, это то, что ffmpeg выведет как mjpeg . Если это не сработает (извините, не можете попробовать в данный момент), вы также можете попробовать:

ffmpeg -f rawvideo -c:v mjpeg -i - …

Важно: ogg в качестве выходного формата без дополнительных опций подразумевает libtheora в качестве кодировщика, у которого нет опции -crf . libtheora использует -q:v с диапазоном 0–10, где 10 - высшее качество. 7 должно быть хорошим значением. Если вы не используете -q:v он вернется к 200 кбит / с, что приведет к плохому качеству.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .