Hogyan lehet kijavítani a „Túl nagy múltbeli időtartam” hibát az FFmpeg fájlban?



Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére

Az FFmpeg egy ingyenesen használható és nyílt forráskódú program, amelyet videó, audio és egyéb multimédia adatfolyamok kezelésére használnak. A programot úgy tervezték, hogy kezelje a video- és audiofájlok feldolgozását parancssori alapon. Azonban a közelmúltban rengeteg jelentés érkezett a A múlt időtartama túl nagy ”Hiba történt a videó kódolása vagy kicsinyítése során.



FFmpeg logó



Mi okozza a „Túl nagy múltbeli idő” hibát az FFmpeg-ben?

Miután több felhasználótól számos jelentést kaptunk, úgy döntöttünk, hogy kivizsgáljuk a problémát, és kidolgoztunk egy sor megoldást a probléma teljes orvoslására. Ezenkívül megvizsgáltuk a hiba kiváltásának okait, és az alábbiak szerint soroltuk fel őket:



  • A bemeneti képkocka hiányzik: A legtöbb esetben a problémát az okozza, hogy a bemeneti képkockasebességet nem adták meg a képekhez. Ennek eredményeként a program azt feltételezi, hogy a bemeneti képkocka sebessége 25 kép / mp, ami problémákat okozhat, ha nem ez a helyzet.
  • A szinkronizálási beállítások nincsenek végrehajtva: A legtöbb felhasználónál bizonyos szinkronizálási beállítások végrehajtása megoldotta a problémát. Előfordulhat, hogy a keretek nem lesznek megfelelően szinkronizálva, ami miatt bizonyos kereteket eldobhat, és ez a hiba kiváltható.

Most, hogy alaposan megértette a kérdés természetét, továbblépünk a megoldások felé. Ügyeljen arra, hogy ezeket a bemutatásuk sorrendjében hajtsa végre a konfliktusok elkerülése érdekében.

1. megoldás: Bemeneti keretek hozzáadása

Ha a videó bemeneti képkockasebességét nem adták hozzá, akkor egyes képkockák leeshetnek, és a hiba kiváltható. Ezért ebben a lépésben hozzáadjuk az ehhez szükséges beviteli kereteket:

  1. Figyelje meg a videó konvertálásához használt egyeztetést, lehet, hogy be van kapcsolva hasonló a következőkre
    ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 out.mkv
  2. Most egyszerűen hozzá a filmkocka szám az alábbiak szerint használt összejövetelre
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  3. Ellenőrizze, hogy a probléma továbbra is fennáll-e.

2. megoldás: A Sync Flags használata

A Szinkronizálás zászlók hozzáadásával elősegítheti a kimenet és a bemeneti videó szinkronizálását a videó kezdeti képkockasebességének megfelelően. Ezért, ha a szinkronizálási parancsokat nem adták hozzá, akkor lehetséges, hogy a keretek nincsenek megfelelően szinkronizálva. Ebben a lépésben hozzáadjuk a szinkronizálási parancsokat



  1. Ebben a szakaszban valószínűleg biztos felhasználásával a következő összehívás
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  2. Ehelyett azonban használat a következő összehívás
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv -async 1 -vsync 1
  3. Ne feledje, hogy most adtuk hozzá a -szinkron 1 -vsync1 ”A híváshoz, és ezt hozzá kell adni a használt egyeztetés végén.
    Jegyzet: A kezdeti összehívás eltérhet a példaként használtól. Az összehíváshoz hozzáadott változtatások azonban nem különbözhetnek egymástól.
2 perc olvasás