Hvordan fikser jeg en 'Past Duration Too Large' feil i FFmpeg?

FFmpeg er et gratis å bruke og åpen kildekode-program som brukes til å håndtere video-, lyd- og andre multimedia-strømmer. Programmet er designet for å håndtere kommandolinjebasert håndtering av behandling av video- og lydfiler. Men ganske nylig har det kommet mange rapporter om en "Tidligere varighet for stor”Feil under koding eller nedskalering av en video.

Hva forårsaker feilen "Tidligere varighet for stor" i FFmpeg?

Etter å ha mottatt mange rapporter fra flere brukere, bestemte vi oss for å undersøke problemet og utviklet et sett med løsninger for å rette det helt. Vi så også på årsakene til at denne feilen ble utløst, og oppførte dem som følger:

Nå som du har en grunnleggende forståelse av problemets natur, vil vi gå videre mot løsningene. Sørg for å implementere disse i den spesifikke rekkefølgen de presenteres for å unngå konflikt.

Løsning 1: Legge til inngangsrammer

Hvis inngangsrammen til videoen ikke er lagt til, kan det føre til at noen rammer blir droppet og feilen utløses. Derfor vil vi i dette trinnet legge til inndatarammer for det:

  1. Observer innkallingen du brukte til å konvertere videoen, den kan være på lignende til følgende
    ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 ut.mkv
  2. Nå ganske enkelt legge til de framerate til innkallingen brukt som følger
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 ut.mkv
  3. Sjekk om problemet vedvarer.

Løsning 2: Bruke synkroniseringsflagg

Å legge til Sync-flaggene kan hjelpe til med å synkronisere utdataene og inngangsvideoen i henhold til videoens innledende bilderammer. Derfor, hvis synkroniseringskommandoer ikke er lagt til, er det mulig at rammene ikke blir synkronisert riktig. I dette trinnet vil vi legge til synkroniseringskommandoer

  1. På dette stadiet må du sannsynligvis være det ved hjelp av følgende innkalling
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 ut.mkv
  2. I stedet for dette, bruk følgende innkalling
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 ut.mkv -async 1 -vsync 1
  3. Merk at vi nettopp har lagt til “-synk 1 -vsync1”Til innkallingen, og dette må legges til på slutten av innkallingen du bruker.
    Merk:Den første innkallingen din kan variere fra den som brukes som et eksempel. Endringene som er lagt til innkallingen, bør imidlertid ikke være forskjellige.
Facebook Twitter Google Plus Pinterest