Kuidas FFmpegis viga "Varasema kestuse liiga suur" parandada?

FFmpeg on tasuta kasutatav ja avatud lähtekoodiga programm, mida kasutatakse video-, heli- ja muude multimeediumivoogude haldamiseks. Programm on loodud käsuridadel põhineva video- ja helifailide töötlemise käitlemiseks. Kuid üsna hiljuti on video kodeerimise või alamõõdutamise ajal saabunud palju teateid veast “ Past kestus liiga suur ”.

FFmpegi logo

Mis põhjustab FFmpeg-is vea „Varasem kestus liiga suur”?

Pärast arvukate aruannete saamist mitmelt kasutajalt otsustasime probleemi uurida ja töötasime välja lahenduste komplekti, et see täielikult lahendada. Samuti uurisime põhjuseid, mille tõttu see tõrge käivitatakse, ja loetlesime need järgmiselt:

  • Sisend kaadrisagedus puudub: enamikul juhtudel on probleem põhjustatud sellest, et sisendkaadrisagedust pole piltidele sisestatud. Selle tulemuseks on programmi eeldus, et sisendkaadrisagedus on 25 kaadrit sekundis, mis võib põhjustada probleeme, kui see pole nii.
  • Sünkroonimisseadeid pole rakendatud: enamiku kasutajate puhul lahendas probleemi teatavate sünkroonimisseadete rakendamine. Mõnikord ei pruugita raame sünkroonida õigesti, mille tõttu võidakse teatud kaadrid kukkuda ja see tõrge võidakse käivitada.

Nüüd, kui teil on põhiteadmised teema olemusest, liigume edasi lahenduste poole. Konfliktide vältimiseks rakendage need kindlasti nende esitamise järjekorras.

1. lahendus: sisestusraamide lisamine

Kui video sisendkaadrisagedust pole lisatud, võib mõni kaadrit langeda ja tõrge käivitatakse. Seetõttu lisame selles etapis selle jaoks sisendraamid:

  1. Järgige kutset, mida kasutasite video teisendamisel, see võib olla sarnane järgmisega
     ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 out.mkv 
  2. Nüüd lisage lihtsalt kutsutud kaadrisagedus järgmiselt
     ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -cff 5 out.mkv 
  3. Kontrollige, kas probleem püsib.

2. lahendus: sünkroonimislippude kasutamine

Sünkroonimislippude lisamine aitab väljundit ja sisendvideot sünkroonida vastavalt video algsele kaadrisagedusele. Seetõttu, kui sünkroonimiskäsklusi pole lisatud, on võimalik, et raame ei sünkroonita õigesti. Selles etapis lisame sünkroonimiskäsud

  1. Selles etapis peate tõenäoliselt kasutama järgmist kutset
     ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -cff 5 out.mkv 
  2. Selle asemel kasutage siiski järgmist kutset
     ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -cff 5 out.mkv -async 1 -vsync 1 
  3. Pange tähele, et oleme äsja lisanud kutsumisele-async 1 -vsync1 ” ja see tuleb lisada teie kutsutud kõne lõpus.

    Märkus. Teie esialgne kutsumine võib erineda näites kasutatud kutsest. Kutsumisele lisatud muudatused ei tohiks siiski erineda.

Huvitavad Artiklid