透過丟棄幀而不重新編碼來減小大小

透過丟棄幀而不重新編碼來減小大小

我想透過丟幀和加速來顯著減小檔案大小。

以下工作,但僅在重新編碼時:

  • 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關聯
  • 縮小影片尺寸以獲得較小的解析度。
  • 如果影片不包含快速動作場景,請降低幀速率。
  • 提高壓縮率。
  • 降低色彩深度。

相關內容