gzip、bzip2、zip:非常に低い圧縮率

gzip、bzip2、zip:非常に低い圧縮率

一部のムービーファイル(.MPG)を(ftp経由で)リモートコンピュータに転送する必要があります。まず圧縮して送ろうとします。ただし、すべての圧縮ユーティリティ(gzip、bzip2、およびzip)は圧縮率が非常に低いです。たとえば、

ravbholua@ravbholua-Aspire-5315:~/Desktop/MAIL/SNEHAMILAN$ gzip -l MOV04042.MPG.gz
         compressed        uncompressed  ratio uncompressed_name
           61949207            66970629   7.5% MOV04042.MPG
ravbholua@ravbholua-Aspire-5315:~/Desktop/MAIL/SNEHAMILAN$

ここからわかるように、圧縮が少ない。 bzip2とzipの場合も同様です。 400MBの映画ファイルを大幅に圧縮してからFTP経由で転送できるように、より良い圧縮ユーティリティを提案してください。私がすることは、まずすべてのムービーファイルをtarで圧縮し、次にリモートシステムのftpで圧縮することです。

答え1

ほとんどの映画形式/エンコード(画像形式を含む)はすでに圧縮されています。 bzip2圧縮アーカイブを圧縮したい場合と同様に(またはその逆)、2番目の圧縮レイヤーを追加して圧縮することはできません。

これらのファイルをさらに圧縮できるロスレス圧縮アルゴリズムはありません。実際に少し圧縮されたファイルを取得することもできます。大きい場合によっては、オリジナルよりも優れています。

メディアファイルをさらに圧縮するための最良の方法は、より効率的なエンコーダを使用してオーディオとビデオを再圧縮することです。.mpgたとえば、拡張機能は現在MPEG-2を使用していることを示唆しているので、次のように切り替えることができます。H.264またはVP8/ウェブM。既存のエンコーダのパラメータを変更して小さなファイルを取得することも、小さいファイルを使用する代わりにいくつかの品質を犠牲にすることもできます。単一のファイル転送で節約するよりも再エンコードするのに多くのCPU時間がかかることがありますが、これらのファイルを複数回転送する場合はそれほど価値があるかもしれません。

答え2

ほとんどのロスレス圧縮(gzip、bzip2、zipに使用されるアルゴリズムなど)は、ファイルから長く繰り返されるバイトシーケンスを削除することによって機能します。人為的な例として、ファイルに100個の空白を持つ複数のインスタンスがあるとします。ファイルの圧縮バージョンは、100個の空白を表す非常に短いコードを生成し、これらのインスタンスをこれに置き換えることができます。

問題は、これが機能するためにファイルに大きな反復バイトシーケンスが必要であることです。ほとんどの一般的なファイルは大丈夫です。これが圧縮が一般的にうまく機能する理由ですが、圧縮されたファイルは通常そうではありません(圧縮のポイント)。これが二重圧縮が一般的にうまく機能しない理由です。ファイルを一度圧縮した後、圧縮可能にしたほとんどのコンテンツが削除されました。興味深いことに、圧縮で実際に作成できるファイルを作成することが可能です。大きいしかし、実用的な観点から見ると、これらのファイルは頻繁に表示されません。

損失圧縮は実際にはそれほど変わらない。最も簡単な意味では、ファイルをよりよく圧縮するために何らかの方法でファイルを変更しますが、ユーザーが気づかないように試みます。オーディオ圧縮ではこれを次のように呼びます。心理音響学アルゴリズムは人間の脳が検出できない方法でオーディオを変更するものなので、ビデオ圧縮に似た単語があるようですが、それが何なのかはわかりません。とにかく、ファイルをより圧縮しやすくするトリックを実行した後は、一般的な方法で圧縮します。ただし、これは損失のある圧縮ファイルにロスレスアルゴリズムがないことを意味します。

だからあなたに幸運がないのか怖いです。 @WarrenYoungの回答は、元のビデオにアクセスできる場合は機能しますが、これらの.mpgファイルしかない場合は、再エンコードするときに注意する必要があります。ファイルやその他の項目は破損しませんが、結果は破損します。のように見えないかもしれません。元のファイルから始めることをお勧めします。異なる損失アルゴリズムはさまざまな種類のデータを削除しますが、そうすると効果が加​​算され目立つようになります。再エンコードが完了したら、ファイルがまだ正常であることを確認する必要があります。

答え3

より効率的な圧縮形式を使用できます(例:ZPAQエンドウ豆またはKGB、ウィキペディアを参照PAQ記事)、しかし処理時間がかかります。

Mattが指摘したように、(すでに圧縮された)映画をさらに圧縮するかどうかは疑問です。

関連情報