Bagaimana Memperbaiki Kesalahan 'Durasi Terakhir Terlalu Besar' di FFmpeg?

FFmpeg adalah program sumber terbuka dan gratis yang digunakan untuk menangani aliran Video, Audio, dan multimedia lainnya. Program ini telah dirancang untuk menangani pemrosesan file video dan audio berbasis baris perintah. Namun, baru-baru ini, banyak laporan yang datang tentang Kesalahan " Durasi Terakhir Terlalu Besar " saat mengenkode atau menurunkan skala video.

Apa Penyebab Kesalahan "Durasi Terakhir Terlalu Besar" di FFmpeg?

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

  • Input Framerate Missing: Biasanya  , masalah ini disebabkan karena input frameate tidak dimasukkan untuk gambar. Ini menghasilkan program yang mengasumsikan bahwa framerate input adalah 25 fps yang dapat menyebabkan masalah jika bukan itu masalahnya.
  • Pengaturan Sinkronisasi tidak Diterapkan: Pada sebagian besar pengguna, menerapkan pengaturan sinkronisasi tertentu memperbaiki masalah. Terkadang, bingkai mungkin tidak disinkronkan dengan benar karena bingkai tertentu mungkin akan jatuh dan kesalahan ini mungkin dipicu.

Sekarang setelah Anda memiliki pemahaman dasar tentang sifat masalah, kami akan melanjutkan ke solusi. Pastikan untuk menerapkan ini dalam urutan tertentu yang disajikan untuk menghindari konflik.

Solusi 1: Menambahkan Bingkai Input

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

  1. Perhatikan pertemuan yang Anda gunakan untuk mengkonversi video, mungkin mirip dengan berikut ini
    ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 out.mkv
  2. Sekarang hanya menambahkan satu framerate ke pertemuan digunakan sebagai berikut
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  3. Periksa untuk melihat apakah masalah terus berlanjut.

Solusi 2: Menggunakan Bendera Sinkronisasi

Menambahkan bendera Sync dapat membantu menyinkronkan output dan video input sesuai dengan framerate awal video. Oleh karena itu, Jika perintah sinkronisasi belum ditambahkan, kemungkinan bingkai tidak disinkronkan dengan benar. Pada langkah ini, kami 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. Perubahan yang ditambahkan ke pertemuan, bagaimanapun, tidak boleh berbeda.