Bagaimana Membetulkan Kesalahan ‘Masa Lalu Terlalu Besar’ di FFmpeg?



Cuba Instrumen Kami Untuk Menghapuskan Masalah

FFmpeg adalah program sumber terbuka dan bebas yang digunakan untuk mengendalikan aliran Video, Audio, dan multimedia lain. Program ini telah dirancang untuk mengendalikan pengendalian pemprosesan fail video dan audio berdasarkan baris perintah. Namun, baru-baru ini, banyak laporan datang dari ' Tempoh Masa Lalu Terlalu Besar Ralat semasa mengekod atau menurunkan skala video.



Logo FFmpeg



Apa yang Menyebabkan Kesalahan 'Tempoh Masa Lalu Terlalu Besar' di FFmpeg?

Setelah menerima banyak laporan dari beberapa pengguna, kami memutuskan untuk menyiasat masalah ini dan merancang satu set penyelesaian untuk membetulkannya sepenuhnya. Kami juga melihat sebab-sebab yang menyebabkan kesalahan ini dicetuskan dan menyenaraikannya seperti berikut:



  • Input Framerate Hilang: Dalam kebanyakan kes, masalah ini disebabkan kerana framerate input tidak dimasukkan untuk gambar. Ini menghasilkan program dengan anggapan bahawa framerate input adalah 25 fps yang dapat menimbulkan masalah jika tidak demikian.
  • Tetapan Penyegerakan tidak Dilaksanakan: Dengan kebanyakan pengguna, melaksanakan tetapan penyegerakan tertentu menyelesaikan masalahnya. Kadang-kadang, bingkai mungkin tidak diselaraskan dengan betul kerana bingkai tertentu mungkin dijatuhkan dan kesalahan ini mungkin dicetuskan.

Setelah anda memahami asas mengenai masalah ini, kami akan terus mencari jalan keluarnya. Pastikan untuk menerapkannya dalam urutan khusus di mana ia disajikan untuk mengelakkan konflik.

Penyelesaian 1: Menambah Bingkai Input

Sekiranya framerate input video belum ditambahkan, ini mungkin mengakibatkan beberapa bingkai dijatuhkan dan kesalahan tersebut dicetuskan. Oleh itu, dalam langkah ini, kami akan menambahkan bingkai input untuk itu:

  1. Perhatikan konvokesyen yang anda gunakan untuk menukar video, mungkin sedang berlangsung serupa kepada yang berikut
    ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 keluar.mkv
  2. Sekarang secara sederhana Tambah yang kadar bingkai ke konvokesyen yang digunakan seperti berikut
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 keluar.mkv
  3. Periksa untuk melihat apakah masalah itu berlanjutan.

Penyelesaian 2: Menggunakan Bendera Segerak

Menambah bendera Sync dapat membantu menyegerakkan output dan video input sesuai dengan bingkai awal video. Oleh itu, Sekiranya arahan penyegerakan belum ditambahkan, kemungkinan bingkai tidak diselaraskan dengan betul. Dalam langkah ini, kita akan menambahkan arahan penyegerakan



  1. Pada tahap ini, anda mungkin juga menggunakan konvokesyen berikut
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 keluar.mkv
  2. Namun, bukannya ini, menggunakan konvokesyen berikut
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv -async 1 -vsync 1
  3. Perhatikan bahawa kami baru saja menambahkan ' -segerak 1 -vsync1 'Ke konvokesyen dan ini perlu ditambah pada akhir konvokesyen yang anda gunakan.
    Catatan: Percakapan awal anda mungkin berbeza dengan yang digunakan sebagai contoh. Perubahan yang ditambahkan pada konvokesyen, bagaimanapun, tidak boleh berbeza.
2 minit membaca