Kako ispraviti pogrešku 'Prošlo trajanje preveliko' u FFmpegu?



Isprobajte Naš Instrument Za Uklanjanje Problema

FFmpeg je besplatni program otvorenog koda koji se koristi za upravljanje video, audio i drugim multimedijskim streamovima. Program je dizajniran za rukovanje procesima obrade video i audio datoteka temeljenih na naredbenom retku. Međutim, u posljednje vrijeme dolazi mnogo izvještaja o „ Prošlo trajanje preveliko ”Pogreška prilikom kodiranja ili smanjenja skale videozapisa.



FFmpeg logotip



Što uzrokuje pogrešku 'Prošlo trajanje preveliko' u FFmpegu?

Nakon što smo primili brojna izvješća od više korisnika, odlučili smo istražiti problem i osmislili smo niz rješenja kako bismo ga u potpunosti ispravili. Također, ispitali smo razloge zbog kojih se ova pogreška pokreće i popisali ih kako slijedi:



  • Nedostaje brzina ulaznog okvira: U većini slučajeva problem je nastao zbog toga što ulazni broj slika u sekundi nije unesen u slike. To rezultira programom koji pretpostavlja da je ulazna brzina okvira 25 fps, što može uzrokovati probleme ako to nije slučaj.
  • Postavke sinkronizacije nisu implementirane: Kod većine korisnika problem je riješio primjenom određenih postavki sinkronizacije. Ponekad se okviri možda neće pravilno sinkronizirati zbog čega bi se određeni okviri mogli ispustiti i pokrenuti ova pogreška.

Sad kad ste osnovno razumjeli prirodu problema, krenut ćemo prema rješenjima. Obavezno ih primijenite u određenom redoslijedu u kojem su predstavljeni kako biste izbjegli sukob.

Rješenje 1: Dodavanje ulaznih okvira

Ako ulazni framerate videozapisa nije dodan, to bi moglo rezultirati padom nekih okvira i pokretanje pogreške. Stoga ćemo u ovom koraku dodati ulazne okvire za to:

  1. Promatrajte saziv koji ste koristili za pretvaranje videozapisa, možda je uključen sličan na sljedeće
    ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 out.mkv
  2. Sada jednostavno dodati okvirna stopa sazivu koji se koristi kako slijedi
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  3. Provjerite nastavlja li problem i dalje.

Rješenje 2: Korištenje sinhroniziranih zastavica

Dodavanje zastavica Sync može pomoći u sinkronizaciji izlaza i ulaznog videozapisa prema početnim frekvencijama videozapisa. Stoga, ako naredbe za sinkronizaciju nisu dodane, moguće je da se okviri ne sinkroniziraju pravilno. U ovom ćemo koraku dodati naredbe za sinkronizaciju



  1. U ovoj fazi vjerojatno morate biti koristeći sljedeći saziv
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  2. Međutim, umjesto ovoga, koristiti sljedeći saziv
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv -async 1 -vsync 1
  3. Imajte na umu da smo upravo dodali ' -asinkronizacija 1 -vsync1 Sazivu, a to treba dodati na kraju saziva koji koristite.
    Bilješka: Vaš se početni saziv može razlikovati od onog koji se koristi kao primjer. Promjene dodane sazivu, međutim, ne bi se trebale razlikovati.
2 minute čitanja