FFmpeg:在轉換過程中保持品質

FFmpeg:在轉換過程中保持品質

可能的重複:
將 AVI 轉換為 MP4 並保持相同的質量

我想將大量的 wmv、mpg 和 avi 檔案(具有不同的音訊和視訊編碼)轉換為具有同等品質的 mp4/x264/aac。我用以下命令做了一些測試:

ffmpeg.exe -i "test.avi" -c:v libx264 -c:a libvo_aacenc "test.mp4"

(如您所見,我省略了指定音訊和視訊的位元率和品質的選項)

使用此命令,FFmpeg 會自動保留視訊尺寸,但我仍然不確定當省略位元率等內容時它如何處理它們?在將視訊轉換為不同的格式和編解碼器的同時保持視訊品質的最佳方法是什麼?

我使用的是 64 位元 Windows 7 和 ffmpeg-20121230-git-518239c-win64-shared

答案1

FFmpeg-crf預設將該選項設為 23。

嘗試:

ffmpeg.exe -i "test.avi" -c:v libx264 -crf 20 -c:a aac -strict -2 "test.mp4"

病例報告表選項設定編碼品質。位元率將根據需要而變化,以在整個影片中提供一致的品質。 51 是最差的,0 是最好的-無損。

我傾向於將所有編碼設為 20,這恰好是 Handbrake 的預設值,我對品質很滿意。我建議嘗試使用該值來找到您可以接受的品質等級。

您可能想要使用-ss-t選項來建立簡短的測試編碼。-ss是開始時間和-t持續時間——均以秒為單位。您可能不需要對整個影片進行編碼來確定可接受的內容。

若要建立從影片 1 分鐘開始的 1 分鐘剪輯:

ffmpeg.exe -i "test.avi" -c:v libx264 -crf 20  -c:a aac -strict -2 -ss 60 -t 60 "test.mp4"

相關內容