(phỏng theo ý kiến trên)
Tùy thuộc vào các codec được sử dụng (một số codec không tương thích với một số container), bạn luôn có thể sao chép các luồng ( -codec copy
). Đó là cách tốt nhất để tránh thay đổi chất lượng, vì bạn không mã hóa lại các luồng, chỉ đóng gói lại các luồng trong một thùng chứa khác.
Khi xử lý các tệp âm thanh / video, điều quan trọng cần lưu ý là các container chủ yếu độc lập với các codec được sử dụng. Người ta thường thấy mọi người coi các tệp là "video AVI" hoặc "video MP4", nhưng đó là những thùng chứa và cho chúng tôi biết một chút về việc người chơi có thể phát các luồng không, ngoài các giới hạn kỹ thuật (ví dụ: AVI có thể có vấn đề với h264 và Ogg Vorbis ), bạn có thể sử dụng bất kỳ codec nào.
-same_quant
dường như là một cách để nói với ffmpeg cố gắng đạt được chất lượng tương tự, nhưng ngay khi bạn mã hóa lại video (ít nhất là với các codec bị mất), bạn không có cách nào để có được chất lượng tương tự. Nếu bạn quan tâm đến chất lượng, một nguyên tắc tốt là tránh mã hóa lại các luồng khi có thể.
Vì vậy, để sao chép các luồng bằng ffmpeg, bạn sẽ làm:
ffmpeg -i video.mp4 -codec copy video.avi
( Như @ Peter.O đã đề cập , thứ tự tùy chọn rất quan trọng, vì vậy đó là nơi -codec copy
phải đến. Bạn vẫn có thể giữ -same_quant
, nhưng nó sẽ không có tác dụng gì khi bạn không mã hóa lại các luồng.)
-codec copy
). Đó là cách tốt nhất để tránh thay đổi chất lượng, vì bạn không mã hóa lại các luồng, chỉ đóng gói lại các luồng trong một thùng chứa khác.