Sådan rettes en 'for lang varighed for stor' fejl i FFmpeg?

FFmpeg er et gratis at bruge og open source-program, der bruges til håndtering af video-, lyd- og andre multimediestreams. Programmet er designet til at håndtere kommandolinjebaseret håndtering af behandling af video- og lydfiler. For nylig er der imidlertid kommet mange rapporter om en " Past Duration Too Large " -fejl under kodning eller nedskalering af en video.

FFmpeg-logo

Hvad er årsagen til ”Past Duration Too Large” -fejl i FFmpeg?

Efter at have modtaget adskillige rapporter fra flere brugere, besluttede vi at undersøge problemet og udtænkte et sæt af løsninger til fuldstændig udbedring af det. Vi har også undersøgt årsagerne til, at denne fejl udløses og listet dem som følger:

  • Input Framerate mangler: I de fleste tilfælde skyldes problemet, fordi input-framerate ikke er indtastet for billederne. Dette resulterer i, at programmet antager, at input-framerate er 25 fps, hvilket kan forårsage problemer, hvis det ikke er tilfældet.
  • Synkroniseringsindstillinger ikke implementeret: Hos de fleste brugere løste implementeringen af ​​visse synkroniseringsindstillinger problemet. Nogle gange synkroniseres rammerne muligvis ikke korrekt, på grund af hvilke visse rammer kan blive tabt, og denne fejl kan muligvis udløses.

Nu hvor du har en grundlæggende forståelse af problematikken, fortsætter vi med løsningen. Sørg for at implementere disse i den specifikke rækkefølge, de præsenteres for at undgå konflikter.

Løsning 1: Tilføjelse af inputrammer

Hvis indgangsrammen til videoen ikke er tilføjet, kan det resultere i, at nogle rammer falder, og fejlen udløses. Derfor vil vi i dette trin tilføje inputrammerne til det:

  1. Vær opmærksom på konvokationen, som du brugte til at konvertere videoen, den kan være på ligner den følgende
     ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 out.mkv 
  2. Nu skal du blot tilføje rammeratet til den konvokation, der bruges som følger
     ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv 
  3. Kontroller, om problemet fortsætter.

Løsning 2: Brug af synkroniseringsflag

Tilføjelse af synkroniseringsflagene kan hjælpe med at synkronisere output og inputvideoen i henhold til videoens indledende rammer. Derfor er synkroniseringskommandoer ikke blevet tilføjet, er det muligt, at rammene ikke synkroniseres korrekt. I dette trin tilføjer vi synkroniseringskommandoer

  1. På dette tidspunkt skal du sandsynligvis bruge følgende sammenkaldelse
     ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv 
  2. I stedet for dette skal du dog bruge følgende sammenkaldelse
     ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv -async 1 -vsync 1 
  3. Bemærk, at vi netop har føjet “ -async 1 -vsync1 ” til konvokationen, og dette skal tilføjes i slutningen af ​​den konvokation, som du bruger.

    Bemærk: Din oprindelige konvokation kan afvige fra den, der blev brugt som eksempel. Ændringerne, der er tilføjet til konvokationen, bør dog ikke afvige.

Interessante Artikler