Определение частоты кадров потока H.264
Я закодировал видео с Lagarith в H.264, используя x264, и я мог случайно забыть записать его частоту кадров. Сам видеопоток отсутствует в каком-либо контейнере (просто файл h264), поэтому у него нет заголовков измерений или частоты кадров. Я не могу перекодировать видео, поскольку для его кодирования потребовалось 4 дня, и оно составляет 66 ГБ.
Если это помогает, я знаю, что fps = (количество кадров)/ длительность, и у меня есть FLAC-файл точно такой же длины, но я не знаю, чтобы получить количество кадров из файла h264 и точную длину файла FLAC.
Как мне найти частоту кадров видео?
2 ответа
Вы можете попробовать обернуть поток битов.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
Оказалось, что мастер был закодирован неправильно. Очевидно, у Adobe Media Encoder CS6 есть некоторые проблемы с кодеком Lagarith VfW. Я воспроизвел его в VirtualDub, и звук был почти час не синхронизирован с видео (это 3 часа). Поэтому мне придется заставить AME экспортировать его в необработанное видео (которое, я знаю, работает), а затем кодировать в H.264 и Lagarith.
И, глядя на журналы x264 в моей временной папке, очевидно, что частота кадров была 5650/143 кадров в секунду.
Все равно, спасибо за помощь:)