Kuidas FFmpegis parandada viga „Mineviku kestus liiga suur”?



Proovige Meie Instrumenti Probleemide Kõrvaldamiseks

FFmpeg on tasuta kasutatav ja avatud lähtekoodiga programm, mida kasutatakse video-, heli- ja muude multimeediumivoogude käitlemiseks. Programm on loodud video- ja helifailide töötlemise käsureapõhiseks käitlemiseks. Kuid üsna hiljuti on tulnud palju teateid ' Eelmine kestus on liiga suur ”Viga video kodeerimisel või vähendamisel.



FFmpegi logo



Mis põhjustab FFmpegi vea „Varasem kestus liiga suur”?

Pärast mitmelt kasutajalt arvukate teadete saamist otsustasime probleemi uurida ja koostasime lahenduste komplekti selle täielikuks parandamiseks. Samuti uurisime põhjuseid, mille tõttu see viga käivitati, ja loetlesime need järgmiselt:



  • Sisendi kaadrisagedus puudub: Enamasti on probleem tingitud sellest, et sisendkaadrit ei ole piltide jaoks sisestatud. Selle tulemuseks on programmi eeldus, et sisendkaadri kiirus on 25 kaadrit sekundis, mis võib probleeme tekitada, kui see pole nii.
  • Sünkroonimisseadeid pole rakendatud: Enamike kasutajate puhul lahendas probleemi teatud sünkroonimisseadete rakendamine. Mõnikord ei pruugi raame korralikult sünkroonida, mille tõttu võidakse teatud kaadrid loobuda ja see tõrge võidakse käivitada.

Nüüd, kui teil on põhimõtteline arusaam probleemi olemusest, liigume edasi lahenduste poole. Konfliktide vältimiseks rakendage need kindlasti esitamise kindlas järjekorras.

Lahendus 1. Sisendraamide lisamine

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

  1. Vaadake kokkutulekut, mida kasutasite video teisendamiseks, see võib olla sisse lülitatud sarnased järgmisele
    ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 välja.mkv
  2. Nüüd lihtsalt lisama kaadrisagedus kokkutulekule, mida kasutatakse järgmiselt
    ffmpeg -kaader 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  3. Kontrollige, kas probleem püsib.

2. lahendus: sünkroonimislippude kasutamine

Sünkroonimislippude lisamine võib aidata väljundi ja sisendvideo sünkroonida vastavalt video algkaadritele. Seega, kui sünkroonimiskäske pole lisatud, on võimalik, et raame ei sünkroonita õigesti. Selles etapis lisame sünkroonimiskäsud



  1. Selles etapis peate ilmselt olema kasutades järgmise kokkukutsumise
    ffmpeg -kaader 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  2. Selle asemel kasutamine järgmise kokkukutsumise
    ffmpeg -kaader 24 -i% 05d.png -c: v libx264 -crf 5 välja.mkv -async 1 -vsync 1
  3. Pange tähele, et lisasime äsja - asünkroonne 1 -vsync1 ”Kokkutulekule ja see tuleb lisada kasutatava kokkutuleku lõppu.
    Märge: Teie esialgne kokkukutsumine võib erineda näitena kasutatust. Kokkutulekule lisatud muudatused ei tohiks siiski erineda.
2 minutit loetud