如果影片需要多次重新編碼,ffmpeg
因為它需要對其進行多次更改,例如裁剪、調整大小、轉換、編譯(連接)、再次轉換等......那麼使用編碼不是最明智的選擇預設,例如ultrafast
在所有重新編碼期間直到最後一次重新編碼,然後使用類似slow
或veryslow
?
slow
這樣做與重新編碼或整個時間完全相同veryslow
,唯一的區別是一個浪費我的時間,另一個有效地利用我的時間。我有這個權利嗎?
或者這樣做會降低品質嗎?
答案1
您錯了。
每一個使用「快速」預設進行編碼的階段將比在慢速預設下運行的相同通道損失更多的品質。每個階段的損失將累積到您的方法與使用較慢預設的完整運行之間存在一些(可能顯著)差異的程度。
該問題被稱為發電損失。當您以較低品質(更快的預設)運行每一代時,您將在每代中丟失更多資料。在最後的慢速階段,檔案大小可能相似,特別是如果您使用基於品質的設置,但這意味著它會更加努力地「忠實」給定的輸入。它實際上正在更加努力地重現早期階段引入的噪音和品質損失。
如果您正在進行多階段轉換,那麼在速度和品質方面,您會更好,從第一階段轉換為未壓縮輸出,對未壓縮視訊進行所有處理,然後進行最終壓縮階段。
否則,您應該嘗試在程式的一次運行中執行盡可能多的視訊轉換步驟。我相信,ffmpeg
可以將裁剪、調整大小和轉換整合為一個步驟,這樣您就只會產生一步損失。
檔案的大小相同或相似幾乎沒有任何意義,您在早期的運行中已經放棄了更多的視覺保真度,並且無法恢復。