Hvordan fikser jeg feilen "Past Duration Too Large" 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 prosessering av video- og lydfiler. Men ganske nylig har det kommet mange rapporter om en " Past Duration Too Large " -feil under koding eller nedskalering av en video.

FFmpeg-logo

Hva er årsaken til “Past Duration Too Large” -feilen 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 opp. Vi har også sett på årsakene til at denne feilen utløses og listet dem slik:

  • Input Framerate Mangler: I de fleste tilfeller skyldes problemet fordi inngangsrammen ikke er lagt inn for bildene. Dette resulterer i at programmet antar at inngangsrammen er 25 fps, noe som kan forårsake problemer hvis det ikke er tilfelle.
  • Synkroniseringsinnstillinger ikke implementert: Med de fleste brukere løste problemet med å implementere visse synkroniseringsinnstillinger. Noen ganger kan det hende at rammene ikke blir synkronisert ordentlig på grunn av at visse rammer kan droppes og denne feilen kan utløses.

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

Løsning 1: Legge til inngangsrammer

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

  1. Observer konvokasjonen du brukte til å konvertere videoen, den kan se ut som følgende
     ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 out.mkv 
  2. Nå er det bare å legge frameraten til konvokasjonen som brukes som følger
     ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv 
  3. Sjekk om problemet vedvarer.

Løsning 2: Bruke synkroniseringsflagg

Å legge til synkroniseringsflaggene kan bidra til å synkronisere utdataene og inngangsvideoen i henhold til videoens opprinnelige rammer. Derfor, hvis synkroniseringskommandoer ikke er lagt til, er det mulig at rammene ikke synkroniseres riktig. I dette trinnet legger vi til synkroniseringskommandoer

  1. På dette stadiet må du sannsynligvis bruke følgende konvokasjon
     ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv 
  2. I stedet for dette, bruk imidlertid følgende konvokasjon
     ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv -async 1 -vsync 1 
  3. Merk at vi nettopp har lagt “ -async 1 -vsync1 ” til konvokasjonen, og dette må legges til på slutten av konvokasjonen som du bruker.

    Merk: Din første konvokasjon kan avvike fra den som ble brukt som eksempel. Endringene som ble lagt til konvokasjonen, bør imidlertid ikke være forskjellige.

Interessante Artikler