Ako opraviť chybu „Minulé trvanie príliš veľké“ v programe FFmpeg?
FFmpeg je bezplatný program s otvoreným zdrojovým kódom, ktorý sa používa na prácu s videom, zvukom a inými multimediálnymi prúdmi. Program bol navrhnutý tak, aby spracovával spracovanie obrazových a zvukových súborov pomocou príkazového riadku. Avšak pomerne nedávno prichádza veľa správ o „Minulé trvanie je príliš veľké”Chyba pri kódovaní alebo zmene mierky videa.
Čo spôsobuje chybu „Minulá doba trvania príliš veľká“ vo FFmpeg?
Po prijatí mnohých správ od viacerých používateľov sme sa rozhodli problém prešetriť a vyvinuli sme súbor riešení, ktoré ho majú úplne napraviť. Pozreli sme sa tiež na dôvody, kvôli ktorým sa táto chyba spúšťa, a uviedli sme ich takto:
- Chýba rámcové rozlíšenie:Vo väčšine prípadov je problém spôsobený nezadaním vstupnej snímkovej rýchlosti pre obrázky. To má za následok, že program predpokladá, že vstupná snímková rýchlosť je 25 fps, čo môže spôsobiť problémy, ak to tak nie je.
- Nastavenia synchronizácie nie sú implementované: U väčšiny používateľov problém vyriešila implementácia určitých nastavení synchronizácie. Niekedy sa nemusí stať, že by sa rámce správne synchronizovali, kvôli čomu by mohli niektoré rámce vypadnúť a mohla by sa spustiť táto chyba.
Teraz, keď už máte základné znalosti o podstate problému, prejdeme k riešeniam. Nezabudnite ich implementovať v konkrétnom poradí, v akom sú predložené, aby ste predišli konfliktom.
Riešenie 1: Pridanie vstupných rámcov
Ak nebola pridaná snímková rýchlosť videa, mohlo by to mať za následok vynechanie niektorých snímok a spustila sa chyba. Preto v tomto kroku pridáme vstupné rámce pre toto:
- Sledujte zhromaždenie, ktoré ste použili na konverziu videa podobný k nasledujúcemu
ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 out.mkv
- Teraz jednoducho pridať the snímok za sekundu na zvolanie použité nasledovne
ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
- Skontrolujte, či problém pretrváva.
Riešenie 2: Používanie príznakov synchronizácie
Pridanie príznakov synchronizácie môže pomôcť synchronizovať výstupné a vstupné video podľa počiatočných snímkových frekvencií videa. Ak teda neboli pridané synchronizačné príkazy, je možné, že sa rámce nesynchronizujú správne. V tomto kroku pridáme synchronizačné príkazy
- V tejto fáze asi musíte byť použitím nasledujúce zvolanie
ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
- Namiesto toho však použitie nasledujúce zvolanie
ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv -async 1 -vsync 1
- Upozorňujeme, že sme práve pridali „-async 1 -vsync1”K zvolaniu a toto je potrebné pridať na konci zvolania, ktoré používate.
Poznámka:Vaše pôvodné zvolanie sa môže líšiť od toho, ktorý ste použili ako príklad. Zmeny pridané k zvolaniu by sa však nemali líšiť.