Как да поправя грешка „Миналата продължителност е твърде голяма“ във FFmpeg?



Опитайте Нашия Инструмент За Премахване На Проблемите

FFmpeg е безплатна за използване програма с отворен код, която се използва за обработка на видео, аудио и други мултимедийни потоци. Програмата е предназначена за обработка на обработка на видео и аудио файлове, базирана на команден ред. Съвсем наскоро обаче се появиха много доклади за „ Миналата продължителност е твърде голяма ”Грешка при кодиране или намаляване на мащаба на видеоклип.



Лого на FFmpeg



Какво причинява грешката „Миналата продължителност е твърде голяма“ във FFmpeg?

След като получихме многобройни доклади от множество потребители, решихме да проучим проблема и измислихме набор от решения, за да го отстраним напълно. Също така разгледахме причините, поради които тази грешка се задейства, и ги изброихме, както следва:



  • Липсва входяща честота на кадрите: В повечето случаи проблемът се дължи на това, че входният кадър не е въведен за изображенията. Това води до това, че програмата приема, че входната честота на кадрите е 25 fps, което може да причини проблеми, ако случаят не е такъв.
  • Не са приложени настройки за синхронизация: С повечето потребители, прилагането на определени настройки за синхронизиране отстрани проблема. Понякога кадрите може да не се синхронизират правилно, поради което някои кадри могат да бъдат изпуснати и тази грешка може да се задейства.

Сега, когато имате основно разбиране за същността на проблема, ние ще продължим към решенията. Уверете се, че ги прилагате в конкретния ред, в който са представени, за да избегнете конфликт.

Решение 1: Добавяне на входни рамки

Ако входящата честота на кадрите на видеото не е добавена, това може да доведе до отпадане на някои кадри и задействане на грешката. Следователно, в тази стъпка ще добавим входните рамки за това:

  1. Наблюдавайте събранието, което сте използвали за конвертиране на видеоклипа, може да е включено подобен към следното
    ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 out.mkv
  2. Сега просто добавете на честота на кадрите до свикването, използвано както следва
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  3. Проверете дали проблемът продължава.

Решение 2: Използване на синхронизиращи знамена

Добавянето на флагове за синхронизиране може да помогне за синхронизиране на изходния и входния видеоклип според първоначалните честоти на кадрите на видеото. Следователно, ако командите за синхронизиране не са добавени, е възможно кадрите да не се синхронизират правилно. В тази стъпка ще добавим командите за синхронизиране



  1. На този етап сигурно трябва да сте използвайки следващото свикване
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  2. Вместо това обаче, използване следващото свикване
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv -async 1 -vsync 1
  3. Имайте предвид, че току-що добавихме „ -асинхронизиране 1 -vsync1 ”Към свикването и това трябва да бъде добавено в края на свикването, което използвате.
    Забележка: Първоначалният ви свик може да се различава от този, използван като пример. Промените, добавени към свикването, обаче не трябва да се различават.
2 минути четене