Cum se remediază eroarea „Durata trecută prea mare” în FFmpeg?



Încercați Instrumentul Nostru Pentru Eliminarea Problemelor

FFmpeg este un program open source gratuit de utilizat care este utilizat pentru gestionarea fluxurilor video, audio și a altor fluxuri multimedia. Programul a fost conceput pentru a gestiona prelucrarea pe linie de comandă a procesării fișierelor video și audio. Cu toate acestea, destul de recent, au apărut o mulțime de rapoarte despre „ Durata trecută prea mare ”Eroare la codarea sau redimensionarea unui videoclip.



Sigla FFmpeg



Ce cauzează eroarea „Durata trecută prea mare” în FFmpeg?

După ce am primit numeroase rapoarte de la mai mulți utilizatori, am decis să investigăm problema și am conceput un set de soluții pentru a o remedia complet. De asemenea, am analizat motivele din cauza cărora se declanșează această eroare și le-am enumerat după cum urmează:



  • Cadrul de intrare lipsește: În majoritatea cazurilor, problema este cauzată de faptul că nu s-a introdus framerate-ul de intrare pentru imagini. Acest lucru duce la faptul că programul presupune că frecvența de intrare este de 25 fps, ceea ce poate cauza probleme dacă nu este cazul.
  • Setările de sincronizare nu au fost implementate: Cu majoritatea utilizatorilor, implementarea anumitor setări de sincronizare a rezolvat problema. Uneori, este posibil ca cadrele să nu fie sincronizate corect din cauza căruia anumite cadre ar putea fi abandonate și această eroare ar putea fi declanșată.

Acum, că aveți o înțelegere de bază a naturii problemei, vom trece la soluții. Asigurați-vă că le implementați în ordinea specifică în care sunt prezentate pentru a evita conflictele.

Soluția 1: Adăugarea cadrelor de intrare

Dacă nu s-a adăugat framerate-ul de intrare al videoclipului, s-ar putea ca unele cadre să cadă și să se declanșeze eroarea. Prin urmare, în acest pas, vom adăuga cadrele de intrare pentru asta:

  1. Observați convocarea pe care ați folosit-o pentru a converti videoclipul, este posibil să fie activată similar la următoarele
    ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 out.mkv
  2. Acum pur și simplu adăuga framerate la convocarea folosită după cum urmează
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  3. Verificați dacă problema persistă.

Soluția 2: Utilizarea semnalizărilor de sincronizare

Adăugarea steagurilor de sincronizare vă poate ajuta să sincronizați ieșirea și videoclipul de intrare în funcție de cadrele inițiale ale videoclipului. Prin urmare, dacă comenzile de sincronizare nu au fost adăugate, este posibil ca cadrele să nu fie sincronizate corect. În acest pas, vom adăuga comenzile de sincronizare



  1. În această etapă, probabil că trebuie să fii folosind următoarea convocare
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  2. Cu toate acestea, în loc de aceasta, utilizare următoarea convocare
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv -async 1 -vsync 1
  3. Rețineți că tocmai am adăugat „ -asincronizare 1 -vsync1 ”La convocare și acest lucru trebuie adăugat la sfârșitul convocării pe care o utilizați.
    Notă: Convocarea dvs. inițială ar putea diferi de cea utilizată ca exemplu. Cu toate acestea, modificările adăugate la convocare nu ar trebui să difere.
2 minute citite