如何使用 確定固定檔案大小ffmpeg?

如何使用 確定固定檔案大小ffmpeg?

我有一個長度為 15 秒、大小為 465,195 KB 的視訊檔案。我想將其減少到 46,000 KB 左右。是否有捷徑可尋。我已經嘗試過最大允許比特率

ffmpeg -i input -q:v 0 -b:v 900000k output

我仍然得到一個只有 3,500 KB 的文件

先致謝

答案1

如何使用 確定固定檔案大小ffmpeg

如果您願意使用轉碼x264,您可以按照編碼指南其中給出瞭如何定位特定文件大小的範例。

target bitrate = target filesize / duration

ie     bitrate = 46000           / 15

ie     bitrate = 3067 (kbit / s)

您可能需要其中一些用於音訊;該指南使用 128k 作為粗略預設值,因此您的目標位元率是2939 千比特/秒。然後您可以使用兩次通過編碼規範:

ffmpeg -y -i input -c:v libx264 -preset medium -b:v 2939k -pass 1 -c:a libfdk_aac -b:a 128k -f mp4 /dev/null && \
ffmpeg -i input -c:v libx264 -preset medium -b:v 2939k -pass 2 -c:a libfdk_aac -b:a 128k output.mp4

如果您的目標是特定的輸出檔案大小,且幀與幀之間的輸出品質不太重要,則通常使用此方法。

當然,您可以根據音訊編碼等方面的需要進行調整,但最終您應該得到一個 46000kB 的檔案。

相關內容