我有一個視訊聊天的螢幕錄製,檔案大小很大,因為螢幕錄製本身是以 59.93 fps 完成的。不過,我認為視訊聊天的幀率約為 15-30 fps。另外,這是一次視訊聊天,因此各個幀顯然也被壓縮了。
我不想失去視訊的品質(考慮到這是視訊聊天,它已經有點差了)。但是,我想減小檔案大小。我不太知道如何最好地解決這個問題......我想我的問題可以歸結為:
- 有沒有辦法以某種方式降低視訊的幀速率,使其與視訊聊天的幀速率同步?
- 還有我不知道的其他壓縮選項嗎?
這是 ffmpeg -i 輸出(如果有幫助的話):
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '.\Untitled1.mov':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2015-08-02T20:32:54.000000Z
com.apple.quicktime.make: Apple
com.apple.quicktime.model: MacBookAir4,2
com.apple.quicktime.software: Mac OS X 10.10.4 (14E46)
com.apple.quicktime.creationdate: 2015-08-02T12:46:10-0700
Duration: 00:45:19.57, start: 0.000000, bitrate: 12981 kb/s
Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1438x874, 12974 kb/s, SAR 1:1 DAR 719:437, 59.93 fps, 60 tbr, 6k tbn (default)
Metadata:
creation_time : 2015-08-02T20:32:54.000000Z
handler_name : Core Media Video
vendor_id : [0][0][0][0]
encoder : H.264
答案1
FFMPEG 在使用時簡單地丟棄影片中「不必要的」幀-filter:v fps=n
可以找到詳細的解釋這裡
透過另外將影片從 h264 轉換為 h265,您可以將影片壓縮大約高達 10 倍,而不會出現明顯的品質損失。這意味著,在不考慮降低的幀速率的情況下,100MB 的檔案之後只會佔用 10MB 的空間。
例子:
ffmpeg -i <input> -filter:v fps=30 -c:v libx265 -vtag hvc1 -c:a copy <output>