Kako popraviti napako preteklega dela prevelikega v FFmpeg?

FFmpeg je brezplačen za uporabo in odprtokodni program, ki se uporablja za upravljanje video, avdio in drugih večpredstavnostnih tokov. Program je zasnovan za upravljanje obdelave video in avdio datotek na osnovi ukazne vrstice. Vendar pa je pred kratkim prišlo do številnih poročil o napaki " Preteklost, ki je prevelika ", pri kodiranju ali pomanjšanju obsega videoposnetka.

Logotip FFmpeg

Kaj povzroča napako »Prejšnje trajanje prevelike« napake v FFmpeg?

Po prejemu številnih poročil več uporabnikov smo se odločili, da bomo preiskali težavo in zasnovali nabor rešitev, da jo v celoti odpravimo. Prav tako smo preučili razloge, zaradi katerih se sproži ta napaka, in jih našteli na naslednji način:

  • Manjkajoči okvirni vhodi manjkajo: V večini primerov je težava nastala, ker vhodni okvir ni vnesen za slike. Rezultat je, da program predvideva, da je vhodni okvir 25 utrinkov na sekundo, kar lahko povzroči težave, če temu ni tako.
  • Nastavitve sinhronizacije niso izvedene : pri večini uporabnikov je težava odpravila izvajanje nekaterih nastavitev sinhronizacije. Včasih okvirji morda ne bodo pravilno sinhronizirani, zaradi česar se lahko nekateri okvirji spustijo in se lahko sproži ta napaka.

Zdaj, ko boste razumeli naravo vprašanja, bomo nadaljevali z rešitvami. Prepričajte se, da jih izvajate v določenem vrstnem redu, v katerem so predstavljeni, da se izognete konfliktom.

1. rešitev: Dodajanje vhodnih okvirjev

Če vhodni okvir videoposnetka ni bil dodan, lahko to povzroči, da se nekateri kadri spustijo in sproži napaka. Zato bomo v tem koraku dodali vhodne okvire za to:

  1. Upoštevajte sklic, ki ste ga uporabili za pretvorbo videoposnetka, morda je podobno kot na naslednji
     ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 out.mkv 
  2. Zdaj preprosto dodajte okvir v uporabljenem sklicu, kot sledi
     ffmpeg -framerat 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv 
  3. Preverite, ali se težava še vedno pojavlja.

2. rešitev: Uporaba Sync Flags

Dodajanje zastavic Sync lahko pomaga sinhronizirati izhodni in vhodni video v skladu z začetnimi okviri videoposnetka. Če ukazov za sinhronizacijo še niste dodali, se okviri ne sinhronizirajo pravilno. V tem koraku bomo dodali ukaze za sinhronizacijo

  1. Na tej stopnji boste verjetno uporabili naslednji sklic
     ffmpeg -framerat 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv 
  2. Vendar namesto tega uporabite naslednji sklic
     ffmpeg -framerat 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv -async 1 -vsync 1 
  3. Upoštevajte, da smo pravkar dodali „ -async 1 -vsync1 “ v sklic in to je treba dodati na koncu sklica, ki ga uporabljate.

    Opomba: Vaš začetni sklic se lahko razlikuje od tistega, ki je uporabljen kot primer. Spremembe, dodane sklicu, pa se ne bi smele razlikovati.

Zanimivi Članki