2016-04-30 161 views
0

我有一個120MB的視頻。我需要將其大小減小到20 MB而不更改其質量。是否有任何直接ffmpeg命令可以運行?如何使用ffmpeg以MB爲單位縮小視頻大小?

我知道命令,以減少特定時間間隔內的視頻大小和resolution.Is有什麼辦法ffmpeg可以減少MB的大小?

+1

'我需要在不改變其質量的情況下將其大小縮小至20 MB。當你發現如何做到這一點,一定要申請專利,你將成爲一個百萬富翁:) –

+0

這是非常標籤,而不是真的在這裏的主題。請在將來更多關注標籤。謝謝! –

回答

3

我需要在不改變質量的情況下縮小其大小[...]。

這通常是不可能的。

我有一個120MB的視頻。我需要將其大小減小到20 MB

歡迎使用視頻編碼(和音頻編碼)。告訴我們關於輸入文件的一些信息。運行:

ffprobe input 

這將告訴我們該文件當前如何編碼。然後,讓我們對它進行重新編碼。首先,我假設你不想改變分辨率/幀率,所以我們會保持相同。其次,我們選擇一個視頻編解碼器/編碼器。根據ffmpeg二進制文件中內置的選項,典型選項是H.264(x264),VP9(libvpx)或HEVC(x265)。

編碼視頻有多種方式(CRF 2遍,VBR 2遍),那麼您選擇哪一種?既然你想要一個特定大小的視頻,你想要VBR(如果你想讓它具有特定的質量而不關心大小,那麼它就是CRF)。你如何計算比特率? ffprobe告訴你的視頻(以秒爲單位)的持續時間和目標比特率的計算公式爲:

target_rate_bits_per_second = target_size_bytes * 8/duration_seconds 

然後使用這個比特率,因爲在我剛剛鏈接到每個可變比特率命令-b:v期權價值。

假設你也有音頻,在視頻和音頻流之間分配可用比特,以便總比特率總和爲20MB。還假設一點容器開銷。 [/編輯]

相關問題