Video
如何使用 ffmpeg 減小影片的大小?
如何
ffmpeg
通過降低質量來減小影片的大小(自然而然,因為我需要它在沒有太多可用空間的移動設備上執行)?我忘了提到當影片可以使用字幕(*.srt 或 *.sub)時,我也想轉換它們以適應轉換後的影片文件的參數。
2020 年更新:這個答案寫於 2009 年。自 2013 年以來,一種比 H.264 好得多的影片格式被廣泛使用,即 H.265(更好的是它在相同質量下壓縮更多,或在相同尺寸下提供更高質量) . 要使用它,請將 libx264 編解碼器替換為 libx265,並通過增加 CRF 值來進一步推動壓縮桿——例如增加 4 或 6,因為 H.265 的合理範圍可能是 24 到 30。請注意,較低的CRF 值對應於更高的比特率,從而產生更高質量的影片。
ffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4
要查看使用較舊的 H.264 格式應用的此技術,請參閱此答案,為方便起見,在下面引用:
通過將目標大小(以位為單位)除以影片長度(以秒為單位)來計算所需的比特率。例如,對於 1 GB(1 GB字節,即 8 GB比特)和 10 000 秒影片(2 小時 46 分 40 秒)的目標大小,使用 800 000 比特/秒(800 kbit/s)的比特率:
ffmpeg -i input.mp4 -b 800k output.mp4
可能值得考慮的其他選項是設置Constant Rate Factor,這會降低平均比特率,但保留更好的質量。在 18 到 24 之間改變 CRF - 越低,比特率越高。
ffmpeg -i input.mp4 -vcodec libx264 -crf 20 output.mp4