Предоставление потока в ffmpeg


0

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

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

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

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

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

то есть: stdin = «поток памяти изображений»

Ответы:


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 кбит / с, что приведет к плохому качеству.


Очень хороший ответ Из интереса можно указать вывод для веб-страницы, например: -f ogg myurl / acceptbinarydata.aspx ? - Спасибо
Andrew Simpson

1
В теории да. ffmpeg имеет http протокол где вы можете вывести на HTTP, но я совершенно честен, я не знаю, как это настроить. Обычно вы используете потоковую передачу по протоколу UDP в локальной сети, поэтому вы можете использовать udp://hostname:port отправлять туда данные UDP. Если вы еще этого не сделали, вы также можете попробовать задать вопрос в списке рассылки ffmpeg.
slhck

Спасибо - все работает. Если бы я мог дать вам 2 зеленых галочки, я бы!
Andrew Simpson

Благодарю. Пока я в движении - и, пожалуйста, не тратите на это время - но возможно ли получить поток ogg на стороне сервера и извлечь из него изображения, или поток ogg должен быть закрыт первым?
Andrew Simpson

1
Вам потребуется выделенный потоковый контейнер, такой как транспортные потоки MPEG. Они могут быть проанализированы на лету. Файлы Ogg предназначены для чтения как полный файл.
slhck
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.