
我想透過丟幀和加速來顯著減小檔案大小。
以下工作,但僅在重新編碼時:
ffmpeg -r 1000 -i input.mp4 -r 30 -y output.mp4
ffmpeg -itsscale .01 -i input.mp4 -r 30 -y output.mp4
添加-c copy
會破壞它們。
-r 1000
方法絕對不執行任何操作。-itsscale
產生加速影片但不會減小檔案大小...所有畫面是否仍隱藏在檔案中?
有沒有辦法在不重新編碼的情況下丟幀並減小檔案大小?
答案1
您不能只是丟棄幀並獲得工作視頻,因為某些幀取決於它們之前的幀。這是許多編解碼器/格式中用於減小檔案大小的最佳化。
因此,如果您想減小影片的大小,您絕對需要重新編碼。
更好的解決方案請參閱帖子 如何使用 ffmpeg 減小影片大小?
這篇高票貼文的答案列出了各種解決方案:
- 使用 H.265 視訊格式,該格式要好得多,因為它可以在相同品質下壓縮更多內容。
- 使用
-crf 28
(關聯 - 縮小影片尺寸以獲得較小的解析度。
- 如果影片不包含快速動作場景,請降低幀速率。
- 提高壓縮率。
- 降低色彩深度。