FFMPEG неправильно читает fps входного файла h264, что приводит к неправильной продолжительности выходного файла

Я пытаюсь преобразовать файл.h264, созданный с помощью Python, из входящего потока в формат xvid с помощью ffmpeg.

Файл 30 минут в длину и 12 кадров в секунду. Однако преобразованный файл автоматически создает файл со скоростью 25 кадров в секунду и длиной 14,4 минуты. Если я установлю fps как ffmpeg -i test.h264 -r 12 test.avi он создает видео длиной 14,4 минуты с частотой кадров 12 кадров в секунду.

Как я могу установить его, чтобы видеть входящее видео как 12fps? Я попытался записать сразу в xvid, закодированном в python, используя FOURCC, но в Mac OS X единственный кодек, который, кажется, работает, это mp4v. Я также попытался использовать MP4Box, который создает правильную продолжительность видео и fps, но для которого я не могу установить его в кодировке xvid (который мне нужен).

1 ответ

Решение

Опции одинаковы для ввода и вывода. Если они установлены до -i, они применяются к входному файлу. После -i они применяются к выводу. Все объяснено в документе

ffmpeg -r 12 -i inuputAt12fps.h264 -r 25 outputAt25Fps.avi
Другие вопросы по тегам