2

Я закодировал видео с Lagarith в H.264, используя x264, и я мог случайно забыть записать его частоту кадров. Сам видеопоток отсутствует в каком-либо контейнере (просто файл h264), поэтому у него нет заголовков измерений или частоты кадров. Я не могу перекодировать видео, поскольку для его кодирования потребовалось 4 дня, и оно составляет 66 ГБ.

Если это помогает, я знаю, что fps = (количество кадров)/ длительность, и у меня есть файл FLAC, который точно такой же длины, но я не знаю, чтобы получить количество кадров из файла h264 и точную длину файла FLAC.

Как мне найти частоту кадров видео?

2 ответа2

1

Вы можете попробовать обернуть поток битов .264 в контейнер с помощью MP4Box:

mp4box -add input.264 -new out.mov

Затем определите частоту кадров как обычно с помощью любого инструмента воспроизведения или MediaInfo. Это, однако, не может работать из коробки. Вы можете попробовать указать частоту кадров следующим образом:

mp4box -add input.264 -fps 30 out.mov

Теперь все, что вам нужно сделать, это попробовать разные частоты кадров и посмотреть, будут ли они давать вам правильный вывод. Начните с этих:

  • 24
  • 25
  • 29,97
  • 30
  • 50
  • 60
1

Оказалось, что мастер был закодирован неправильно. Очевидно, у Adobe Media Encoder CS6 есть некоторые проблемы с кодеком Lagarith VfW. Я воспроизвел его в VirtualDub, и звук был почти час не синхронизирован с видео (это 3 часа). Поэтому мне придется заставить AME экспортировать его в необработанное видео (которое, я знаю, работает), а затем кодировать в H.264 и Lagarith.

И, глядя на журналы x264 в моей временной папке, очевидно, что частота кадров была 5650/143 кадров в секунду.

Все равно, спасибо за помощь :)

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