Làm thế nào để khắc phục lỗi 'Quá thời gian quá lớn' trong FFmpeg?



Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề

FFmpeg là một chương trình mã nguồn mở và miễn phí được sử dụng để xử lý Video, Âm thanh và các luồng đa phương tiện khác. Chương trình được thiết kế để xử lý việc xử lý các tệp video và âm thanh dựa trên dòng lệnh. Tuy nhiên, gần đây, rất nhiều báo cáo đã được đưa ra về “ Khoảng thời gian trong quá khứ quá lớn ”Lỗi khi mã hóa hoặc giảm tỷ lệ video.



Logo FFmpeg



Nguyên nhân nào gây ra lỗi 'Khoảng thời gian quá lớn' trong FFmpeg?

Sau khi nhận được nhiều báo cáo từ nhiều người dùng, chúng tôi quyết định điều tra vấn đề và đưa ra một loạt giải pháp để khắc phục hoàn toàn vấn đề. Ngoài ra, chúng tôi đã xem xét các lý do mà lỗi này được kích hoạt và liệt kê chúng như sau:



  • Thiếu tốc độ khung hình đầu vào: Trong hầu hết các trường hợp, sự cố là do không nhập được tốc độ khung hình đầu vào cho hình ảnh. Điều này dẫn đến chương trình giả định rằng tốc độ khung hình đầu vào là 25 khung hình / giây, điều này có thể gây ra sự cố nếu không phải vậy.
  • Cài đặt đồng bộ hóa không được triển khai: Với hầu hết người dùng, việc triển khai các cài đặt đồng bộ hóa nhất định đã khắc phục được sự cố. Đôi khi, các khung có thể không được đồng bộ hóa đúng cách do đó một số khung nhất định có thể bị giảm và lỗi này có thể được kích hoạt.

Bây giờ bạn đã hiểu cơ bản về bản chất của vấn đề, chúng ta sẽ chuyển sang các giải pháp. Đảm bảo thực hiện những điều này theo thứ tự cụ thể mà chúng được trình bày để tránh xung đột.

Giải pháp 1: Thêm khung đầu vào

Nếu tốc độ khung hình đầu vào của video chưa được thêm, nó có thể dẫn đến một số khung hình bị giảm và lỗi được kích hoạt. Do đó, trong bước này, chúng tôi sẽ thêm các khung đầu vào cho điều đó:

  1. Quan sát tập hợp mà bạn đã sử dụng để chuyển đổi video, nó có thể bật giống theo sau
    ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 out.mkv
  2. Bây giờ đơn giản thêm vào các tỷ lệ khung hình đối với tập hợp được sử dụng như sau
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  3. Kiểm tra xem sự cố vẫn tiếp diễn.

Giải pháp 2: Sử dụng Cờ đồng bộ

Việc thêm cờ Đồng bộ hóa có thể giúp đồng bộ hóa đầu ra và video đầu vào theo tốc độ khung hình ban đầu của video. Do đó, nếu các lệnh đồng bộ hóa chưa được thêm, có thể các khung không được đồng bộ hóa đúng cách. Trong bước này, chúng tôi sẽ thêm các lệnh đồng bộ



  1. Ở giai đoạn này, có lẽ bạn phải sử dụng sự triệu tập sau
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  2. Tuy nhiên, thay vì điều này, sử dụng sự triệu tập sau
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv -async 1 -vsync 1
  3. Lưu ý rằng chúng tôi vừa thêm “ -async 1 -vsync1 ”Vào chuyển đổi và điều này cần được thêm vào cuối chuyển đổi mà bạn đang sử dụng.
    Ghi chú: Chuyển đổi ban đầu của bạn có thể khác với chuyển đổi được sử dụng làm ví dụ. Tuy nhiên, những thay đổi được thêm vào chuyển đổi không được khác nhau.
2 phút đọc