如何快速有效率地壓縮檔案?

如何快速有效率地壓縮檔案?

我有一個文件夾,其中包含我想要壓縮的各種視頻,以便我可以與互聯網連接不穩定的人共享。我試過7z、gzip、tar、lzma、xz,以及更多用於壓縮的方法,但它們只能減少 20-30mb 的大小。我嘗試使用ffmpeg壓縮和重新編碼視頻,但它真的很慢。

我也嘗試過壓縮.iso文件,但結果是一樣的。

我知道壓縮涉及很多內容,但是最小化文件大小的簡單方法應該是什麼? Linux 命令列工具是首選。

答案1

這取決於您要壓縮的內容。

如果相關視訊檔案已經採用壓縮格式,那麼除了以較低的資料速率重新編碼(降低視訊解析度或降低音訊 kbps 速率)之外,您可能無能為力。您再次提到重新編碼太慢,因此可能不是一個選擇。

壓縮演算法嚴重依賴資料中的重複序列。一種常見的方案涉及建立字典來縮短重複序列。

例如,考慮字串“eabcdabcdabcd”。

可以透過設定字典規則“f = abcd”來壓縮,然後將字串表示為“efff”。

現在考慮字串“abcdefghijkl”。

沒有重複的序列,因此不可能用字典方法進行壓縮。

壓縮檔案格式已經消除了很多重複;因此,進一步壓縮它們可能不會產生進一步的好處。在某些情況下,壓縮壓縮檔案可能會增加其大小(這是 ZIP 格式中眾所周知的現象)。

答案2

壓縮圖像和視訊比壓縮文字檔案“更複雜”,因為像zip 等常規壓縮方法不會為您帶來很好的結果,正如您自己注意到的那樣(user1258361 的評論在這裡為您提供了一些見解)。

我建議降低分辨率,這很簡單,並且會顯著減小尺寸,但缺點是會降低圖片和影片的品質。有多種工具可以透過 CLI(命令列介面)降低分辨率,這個問題已被問過很多次,例如這個用於圖像。只需開始搜尋並嘗試一下,如果您遇到特定問題,您可以提出(另一個)問題。注意:根據您的硬件,這可能不是很快(但也不是“好的”壓縮演算法,壓縮越大,需要進行的計算就越多 - 用外行人的話來說)。

在不(顯著)品質損失的情況下進行壓縮更加複雜,因為選擇壓縮方法取決於影像/影片的內容以及您對品質的要求。您將需要使用不同的壓縮格式重新編碼檔案。有幾個無損壓縮但它們可能不會給你足夠的結果。據我所知,這裡沒有一般性的答案。

附言。軟體建議超出了超級用戶的範圍。

相關內容