2013-07-22 22 views
7

Nếu tôi nhập tệp để sử dụng với ffmpeg nhưng không chỉ định bất kỳ điều gì về codec của bất kỳ luồng nào, ffmpeg sẽ làm gì? Là hành động mặc định để chỉ sao chép các codec? Hay ffmpeg sẽ mã hóa tệp đầu vào bằng một số codec mặc định?Mặc định ffmpeg codec khi không có gì được chỉ định

Hai lệnh sau có giống nhau không? Hoặc sẽ mã hóa lại và mất tuổi?

ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4 

ffmpeg -i input.mkv output.mp4 

Trả lời

7

Nếu tôi nhập khẩu một tập tin để sử dụng với ffmpeg nhưng không chỉ định bất cứ điều gì về các codec của bất kỳ của các dòng suối, sẽ ffmpeg làm bất cứ điều gì?

ffmpeg sẽ mã hóa lại từng luồng trong đầu vào bằng cách sử dụng bộ mã hóa mặc định. Các bộ mã hóa được sử dụng sẽ phụ thuộc vào cách bạn cấu hình ffmpeg. Ví dụ: nếu có sẵn libx264 sẽ là bộ mã hóa mặc định cho đầu ra mp4, nhưng nếu không thì mpeg4 sẽ được sử dụng. Theo mặc định ffmpeg sẽ chỉ mã hóa lại một luồng của từng loại và sẽ bỏ qua phần còn lại (xem stream selection).

Trong hai lệnh của bạn, lệnh đầu tiên sẽ sử dụng stream copy mode cho video và âm thanh. Lệnh thứ hai của bạn sẽ mã hóa lại.

+0

Điều gì sẽ xảy ra nếu tôi nhập tệp mp4 đã có luồng video h.264? Nó sẽ cố gắng mã hóa nó một lần nữa, không thay đổi bất cứ điều gì nhưng phải mất một thời gian dài không? Hoặc nó sẽ nhận ra rằng nó đã là codec mặc định và chỉ cần sao chép nó? – Sam

+0

@Sam 'ffmpeg' sẽ luôn mã hóa lại trừ khi bạn nói cách khác. – LordNeckbeard

+0

Nếu nó mã hóa lại với cùng một codec (ví dụ: h.264-> h.264) sẽ có bất kỳ tổn thất chất lượng nào không? Nó sẽ nhanh hơn việc chuyển từ codec khác sang h.264? Tôi nghi ngờ có bất kỳ điểm trong việc này nhưng tôi quan tâm anyway ... – Sam

1

Để khám phá các codec mặc định (cả âm thanh và video) được sử dụng bởi lệnh thứ hai, trên máy tính của bạn:

  • Run lệnh thứ hai, có lẽ với -t 5 để nó kết thúc nhanh hơn (mã hóa chỉ có 5 giây).

  • Chạy ffprobe output.mp4. Quét đầu ra cho "Video" và "Âm thanh" để xem codec nào đã được sử dụng. Ví dụ, cài đặt Ubuntu 12 của tôi sử dụng h264 và aac.

Các vấn đề liên quan