Ошибка Avidemux "слишком короткая"

Я пытаюсь кодировать клипы с x264 в avidemux. Проблемы возникают, когда я устанавливаю продолжительность видео на 10 секунд, а передискретизирую вывод на 1 кадр/с (без изменения продолжительности): avidemux сообщает об ошибке «Слишком коротко» и создает недопустимый файл.
Нет проблем, если я передискретизирую до 2 кадров в секунду или если выберу клип продолжительностью 20 секунд. Я также пробовал разные настройки GOP, но безуспешно.
Любая идея о причине этой ошибки?

Ответы (1)

Это выходит за рамки спецификаций h264. Согласно Adobe After Effects, ограничения формата для h264 составляют мин. 10 кадров в секунду, поэтому даже 2 кадра в секунду ( не , см. ниже) не соответствуют спецификации и могут вызвать проблемы с некоторыми игроками. Таким образом, Avidemux, похоже, допускает нестандартные настройки, что 1 кадр в секунду невозможен, скорее всего, это внутренняя проблема с тем, как h264 кодируется в Avidemux.

Редактировать: кажется, что это действительно ограничение Adobe и / или ограничение для MP4, при использовании формата QuickTime с h264 я могу отображать с 1 кадром в секунду.

Тем не менее, я рекомендую вам интерполировать ваше видео, чтобы оно было длиннее, а не уменьшать FPS, если у вас нет особых технических причин для кодирования с 1 FPS. Показ каждого кадра несколько раз в секунду вместо одного раза в секунду не имеет визуального значения.

Предупреждение о формате After Effects

Я не читал полностью полные спецификации H.264 [ссылка] itu.int/rec/T-REC-H.264 , но не могу найти минимальное ограничение частоты кадров. Я не могу найти его в документации x264 или avidemux. Фактически, уровень 1.1 в H264 определяет 7,5 кадров в секунду как максимальную частоту кадров для разрешения CIF. Я думаю, что 10 кадров в секунду - это минимальное значение для реализации кодека Adobe, а не для самого кодека. Мне нужен субдискретизированный (во времени) клип, как если бы было захвачено одно изображение в секунду, что отличается от «медленного воспроизведения» с точки зрения отображаемой информации.
Это, конечно, может иметь место, хотя обычно ограничения Adobe имеют более высокую причину совместимости и обычно не являются реальным техническим ограничением. Хотя отображение первого кадра для 25 кадров в секунду или для 1 не имеет никакого значения, вам будет намного проще просто «интерполировать», что в этом случае просто означает повторение каждого кадра по X.
Смотрите мое редактирование, это действительно ограничение Adobe.
Спасибо за проверку, и мне действительно интересно, что формат QuickTime позволяет рендерить 1 кадр в секунду. Я попробую, хотя мне понадобится поддержка воспроизведения видео в каком-то стандартном браузере. Я не понял вашего предложения по интерполяции, извините, я уже пробовал, но у клипов есть ограничения по битрейту, так что опять же, я не могу интерполировать по техническим причинам, так как интерполяция увеличивает битрейт.
Если все сделано правильно, это на самом деле не так сильно увеличивает битрейт, если вообще увеличивает, h264 кодирует на основе различий для каждого кадра, установите интервал ключевого кадра на свой FPS, и вы не должны увидеть большого увеличения битрейта. Посмотрите, например, на видео на Youtube, которое представляет собой просто музыкальную дорожку со стоп-кадром примерно на 4 минуты, но оно не больше вашего среднего mp3-файла, потому что размер видеодорожки составляет всего несколько килобайт, h264 довольно умен и может быть оптимизирован. для конкретных ситуаций, подобных этим.
Я знаю, но я работаю со "сверхнизкими" битрейтами (5-25 кбит/с для видео, без звука). Я сделал несколько тестов (изменив размер GOP и другие настройки) и не смог сохранить битрейт и качество.