FFmpeg / avidemux: sửa các khung B được đóng gói


12

Tôi đang chuyển mã một số video mpeg4 cũ của mình (trong các thùng chứa avi) sang h.264 bằng FFmpeg. Về cơ bản

ffmpeg -i input.avi -c:v libx264 [x264 settings] -c:a libfdk_aac [aac settings] output.mp4

Khi làm như vậy, mpeg4đưa ra cảnh báo sau

Video sử dụng một cách không chuẩn và lãng phí để lưu trữ khung B ('khung B được đóng gói'). Cân nhắc sử dụng một công cụ như VirtualDub hoặc avidemux để sửa nó.

Tôi biết tôi vẫn có thể chuyển mã thành công, nhưng từ cảnh báo tôi không rõ liệu chất lượng của video h.264 có bị ảnh hưởng hay không .

Vì thế,

  • Vì tôi chỉ quan tâm đến chất lượng (và kích thước, tôi muốn giảm thiểu kích thước cho các thiết bị di động của mình, đó là lý do tại sao tôi cũng sử dụng veryslowcài đặt sẵn) của video đầu ra h.264, tôi có nên quan tâm đến B- đóng gói không khung hình?

  • Nếu tôi cần, làm cách nào để khắc phục chúng bằng avidemux? (Tôi đã thử lướt qua hướng dẫn.)

Câu trả lời:


15

Khung B là loại khung được sử dụng trong nén video để thể hiện các khung của video. Khung B có thể sử dụng thông tin từ cả khung trước và tương lai để thể hiện từng khung hình video.

Các video được mã hóa DivX cũ hơn thường sử dụng một phương pháp xấu xí được gọi là dòng bit được đóng gói , đặt một số khung hình video vào một đoạn AVI duy nhất. Dòng bit được đóng gói không phải là chuẩn MPEG-4, sử dụng nhiều dung lượng hơn, cần nhiều năng lượng CPU hơn để mã hóa / giải mã và (quan trọng nhất) có thể gây ra sự cố nếu được sao chép vào loại thùng chứa khác. Đây là lý do chính cho cảnh báo.

Vì bạn đang mã hóa lại video thay vì chỉ sao chép nó, bạn sẽ ổn thôi. Nếu bạn muốn giữ video gốc, nhưng sao chép nó vào một loại thùng chứa khác (giả sử MP4 hoặc MKV), tốt nhất bạn nên giải nén các khung hình B trước bằng bộ lọc FFmpeg mpeg4_unpack_bframes.

Bạn có thể giải nén các khung B bằng một cái gì đó đơn giản như

ffmpeg -i INPUT.avi -codec copy -bsf:v mpeg4_unpack_bframes OUTPUT.avi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.