![透過丟棄幀而不重新編碼來減小大小](https://rvso.com/image/1665745/%E9%80%8F%E9%81%8E%E4%B8%9F%E6%A3%84%E5%B9%80%E8%80%8C%E4%B8%8D%E9%87%8D%E6%96%B0%E7%B7%A8%E7%A2%BC%E4%BE%86%E6%B8%9B%E5%B0%8F%E5%A4%A7%E5%B0%8F.png)
我想透過丟幀和加速來顯著減小檔案大小。
以下工作,但僅在重新編碼時:
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
(關聯 - 縮小影片尺寸以獲得較小的解析度。
- 如果影片不包含快速動作場景,請降低幀速率。
- 提高壓縮率。
- 降低色彩深度。