Kuinka korjata ”Past Duration Too Large” -virhe FFmpegissä?

How Fix Past Duration Too Large Error Ffmpeg

FFmpeg on ilmainen ja avoimen lähdekoodin ohjelma, jota käytetään video-, ääni- ja muiden multimediavirtojen käsittelyyn. Ohjelma on suunniteltu käsittelemään video- ja äänitiedostojen käsittelyä komentorivipohjaisesti. Viime aikoina on kuitenkin tullut paljon raportteja Aikaisempi kesto on liian suuri ”Virhe koodattaessa tai pienennettäessä videota.

FFmpeg-logo



Mikä aiheuttaa 'Menneisyyden liian suuri' -virheen FFmpegissä?

Saatuamme useita raportteja useilta käyttäjiltä päätimme tutkia ongelmaa ja kehitimme joukon ratkaisuja sen korjaamiseksi kokonaan. Tutkimme myös syitä, joiden vuoksi tämä virhe käynnistyy, ja lueteltiin ne seuraavasti:



  • Sisääntulokehys puuttuu: Useimmissa tapauksissa ongelma johtuu siitä, että kuvien syöttökehystä ei ole syötetty. Tämän tuloksena ohjelma olettaa, että tulokehysnopeus on 25 kuvaa sekunnissa, mikä voi aiheuttaa ongelmia, jos näin ei ole.
  • Synkronointiasetuksia ei ole otettu käyttöön: Useimpien käyttäjien kanssa tiettyjen synkronointiasetusten käyttöönotto korjasi ongelman. Joskus kehyksiä ei ehkä synkronoida kunnolla, minkä vuoksi tietyt kehykset voidaan pudottaa ja tämä virhe saattaa laukaista.

Nyt kun sinulla on perusteellinen käsitys ongelman luonteesta, siirrymme kohti ratkaisuja. Varmista, että toteutat ne siinä järjestyksessä kuin ne on esitetty konfliktien välttämiseksi.



Ratkaisu 1: Syöttökehysten lisääminen

Jos videon tulokehystä ei ole lisätty, se voi johtaa siihen, että jotkut kehykset putoavat ja virhe laukeaa. Siksi tässä vaiheessa lisäämme siihen kehykset:

  1. Huomioi kokous, jota käytit videon muuntamiseen, se voi olla päällä samanlainen seuraavaan
    ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 ulos.mkv
  2. Nyt yksinkertaisesti lisätä ruudunpäivitysnopeus seuraavan kokouskutsuun
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  3. Tarkista, jatkuuko ongelma.

Ratkaisu 2: Synkronointilippujen käyttö

Synkronointilippujen lisääminen voi auttaa synkronoimaan lähdön ja tulovideon videon alkuperäisten ruutujen mukaan. Siksi, jos synkronointikomentoja ei ole lisätty, on mahdollista, että kehyksiä ei synkronoida oikein. Tässä vaiheessa lisäämme synkronointikomennot

  1. Tässä vaiheessa sinun on todennäköisesti oltava käyttämällä seuraava kokous
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  2. Tämän sijaan käyttää seuraava kokous
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv -async 1 -vsync 1
  3. Huomaa, että olemme juuri lisänneet -asynkronoitu 1 -vsync1 ”Kutsutaan ja tämä on lisättävä käyttämäsi kutsun loppuun.
    merkintä: Alkuperäinen kokous voi poiketa esimerkissä käytetystä. Kokouskutsuun lisättyjen muutosten ei kuitenkaan pitäisi olla erilaiset.
2 minuuttia luettu