Bagaimana Cara Memperbaiki Kesalahan 'Past Duration Too Large' di FFmpeg?

FFmpeg adalah program sumber terbuka dan gratis yang digunakan untuk menangani Video, Audio, dan streaming multimedia lainnya. Program ini telah dirancang untuk menangani penanganan berbasis baris perintah pemrosesan file video dan audio. Namun, baru-baru ini, banyak laporan telah datang dari kesalahan " Masa Lalu Terlalu Besar " saat menyandikan atau menurunkan video.

Logo FFmpeg

Apa yang menyebabkan kesalahan "Durasi Lalu Terlalu Besar" di FFmpeg?

Setelah menerima banyak laporan dari banyak pengguna, kami memutuskan untuk menyelidiki masalah ini dan menyusun serangkaian solusi untuk memperbaikinya sepenuhnya. Selain itu, kami melihat alasan yang memicu kesalahan ini dan mencantumkannya sebagai berikut:

  • Input Framerate Missing: Dalam kebanyakan kasus, masalah ini disebabkan karena framerate input tidak dimasukkan untuk gambar. Ini menghasilkan program dengan asumsi bahwa framerate input adalah 25 fps yang dapat menyebabkan masalah jika itu tidak terjadi.
  • Pengaturan Sinkronisasi tidak Diimplementasikan: Dengan sebagian besar pengguna, menerapkan pengaturan sinkronisasi tertentu memperbaiki masalah. Kadang-kadang, frame mungkin tidak disinkronkan dengan baik karena frame mana yang mungkin terjatuh dan kesalahan ini mungkin dipicu.

Sekarang setelah Anda memiliki pemahaman dasar tentang sifat masalah, kami akan beralih ke solusi. Pastikan untuk menerapkannya dalam urutan tertentu untuk menghindari konflik.

Solusi 1: Menambahkan Frame Masukan

Jika framerate input video belum ditambahkan, mungkin mengakibatkan beberapa frame dijatuhkan dan kesalahan dipicu. Oleh karena itu, pada langkah ini, kami akan menambahkan frame input untuk itu:

  1. Amati pertemuan yang Anda gunakan untuk mengkonversi video, itu mungkin mirip dengan yang berikut ini
     ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 out.mkv 
  2. Sekarang cukup tambahkan framerate ke pertemuan yang digunakan sebagai berikut
     ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv 
  3. Periksa untuk melihat apakah masalah tetap ada.

Solusi 2: Menggunakan Bendera Sinkronisasi

Menambahkan flag Sync dapat membantu menyinkronkan output dan input video sesuai dengan framerate awal video. Oleh karena itu, Jika perintah sinkronisasi belum ditambahkan, ada kemungkinan bahwa frame tidak disinkronkan dengan benar. Pada langkah ini, kita akan menambahkan perintah sinkronisasi

  1. Pada tahap ini, Anda mungkin harus menggunakan pertemuan berikut
     ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv 
  2. Namun, alih-alih ini, gunakan pertemuan berikut
     ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv -async 1 -vsync 1 
  3. Perhatikan bahwa kami baru saja menambahkan " -async 1 -vsync1 " ke pertemuan dan ini perlu ditambahkan di akhir pertemuan yang Anda gunakan.

    Catatan: Pertemuan awal Anda mungkin berbeda dari yang digunakan sebagai contoh. Namun, perubahan yang ditambahkan ke pertemuan tidak boleh berbeda.

Artikel Menarik