Kā FFmpeg izlabot kļūdu “Pagātnes ilgums ir pārāk liels”?

FFmpeg ir brīvi lietojama un atvērtā koda programma, kas tiek izmantota video, audio un citu multivides straumju apstrādei. Programma ir izstrādāta, lai apstrādātu komandrindas balstītu video un audio failu apstrādes apstrādi. Tomēr pavisam nesen, kodējot vai samazinot videoklipu, tiek saņemts daudz ziņojumu par kļūdu “ Pagātnes ilgums ir pārāk liels ”.

FFmpeg logotips

Kas FFmpeg rada kļūdu “Pagātnes ilgums ir pārāk liels”?

Pēc vairāku ziņojumu saņemšanas no vairākiem lietotājiem mēs nolēmām izmeklēt šo problēmu un izstrādājām risinājumu kopumu, lai to pilnībā novērstu. Mēs arī izpētījām iemeslus, kuru dēļ rodas šī kļūda, un uzskaitījām tos šādi:

  • Trūkst ievades kadru intensitātes: vairumā gadījumu problēma rodas tāpēc, ka ievades kadru intensitāte nav ievadīta attēliem. Tā rezultātā programma pieņem, ka ieejas kadru ātrums ir 25 kadri sekundē, kas var radīt problēmas, ja tas tā nav.
  • Sinhronizācijas iestatījumi nav ieviesti: lielākajai daļai lietotāju, īstenojot noteiktus sinhronizācijas iestatījumus, problēma tika novērsta. Dažreiz rāmji var netikt pareizi sinhronizēti, kā rezultātā daži kadri var tikt nomesti un šī kļūda var tikt iedarbināta.

Tagad, kad jums ir pamata izpratne par jautājuma būtību, mēs pāriesim pie risinājumiem. Pārliecinieties, ka tie tiek ieviesti noteiktā secībā, kādā tie tiek uzrādīti, lai izvairītos no konfliktiem.

1. risinājums: ievades kadru pievienošana

Ja video ievades kadru intensitāte nav pievienota, tas var izraisīt dažu kadru samazināšanos un kļūdas izraisīšanu. Tāpēc šajā solī mēs tam pievienosim ievades ietvarus:

  1. Ievērojiet izsaukumu, ko izmantojāt, lai pārveidotu videoklipu. Iespējams, ka tas ir līdzīgs šim
     ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 out.mkv 
  2. Tagad vienkārši pievienojiet kadrējumu izsaukumam, ko izmanto šādi
     ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -cff 5 out.mkv 
  3. Pārbaudiet, vai problēma joprojām pastāv.

2. risinājums: sinhronizācijas karodziņu izmantošana

Sinhronizācijas karodziņu pievienošana var palīdzēt sinhronizēt izejas un ieejas video atbilstoši video sākotnējiem kadriem. Tāpēc, ja sinhronizācijas komandas nav pievienotas, iespējams, ka rāmji netiek sinhronizēti pareizi. Šajā solī mēs pievienosim sinhronizācijas komandas

  1. Šajā posmā jums, iespējams, ir jāizmanto šāds uzaicinājums
     ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -cff 5 out.mkv 
  2. Tomēr tā vietā izmantojiet šo uzaicinājumu
     ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv -async 1 -vsync 1 
  3. Ņemiet vērā, ka mēs tikko esam pievienojuši uzaicinājumu “ -async 1 -vsync1 ”, un tas ir jāpievieno jūsu uzaicinājuma beigās.

    Piezīme: jūsu sākotnējais izsaukums var atšķirties no tā, kas izmantots kā piemērs. Tomēr aicinājumiem pievienotajām izmaiņām nevajadzētu būt atšķirīgām.

Interesanti Raksti