Кодирование живого видео в ffmpeg - PullRequest
3 голосов
/ 04 октября 2010

На самом деле я пытаюсь сжать необработанное видео в MPEG-4 AVC / H.264 BD-совместимое видео High Profile / Level 4.1. Я использую ffmpeg.

ffmpeg -threads 2 -f rawvideo -pix_fmt bgr24 -re -s 720x576 -i - -threads 2 -vcodec libx264 -deinterlace -s 720x576 -coder 1 -flags +loop -cmp +chroma -partitions -parti8x8-parti4x4-partp8x8-partb8x8 -me_method dia -subq 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -bf 3 -refs 1 -directpred 1 -trellis 0 -flags2 +bpyramid-mixed_refs+wpred-dct8x8+fastpskip-mbtree -wpredp 0 -b 3000k -g 300 -an -f flv -y -

это работает (выходное видео составляет 21 МБ в течение 1 минуты), а использование ошибки -f mp4 показывает (muxer не ищет вывод). Это правильный способ получить это ах?

Большое спасибо.

1 Ответ

1 голос
/ 03 сентября 2012

На самом деле сообщение об ошибке является правильным. Если я правильно понимаю командную строку, вы хотите сделать STDOUT. Это невозможно для mp4, так как mp4 - это формат файла, который невозможно записать без последующего поиска и обновления верхнего / нижнего колонтитула.

Так что измените на mpegts или что-то еще, что может быть записано через канал. В качестве альтернативы укажите имя файла выходного файла, тогда ffmpeg может записать файл mp4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...