it-swarm.asia

Kompresi tertinggi untuk file (untuk transfer web)?

Saya telah melihat beberapa file yang sangat terkompresi, seperti 700MB data yang dikompresi menjadi sekitar 30-50MB.

Tetapi bagaimana Anda mendapatkan file terkompresi seperti itu? Saya telah mencoba menggunakan perangkat lunak seperti WinRAR dan 7Zip tetapi belum pernah mencapai kompresi setinggi itu.

Apa teknik/perangkat lunak yang memungkinkan Anda mengompres file dengan sangat baik?

(P.S. Saya menggunakan Windows XP)

14
rzlines

Jika waktu yang dibutuhkan untuk kompres data tidak menjadi masalah, maka Anda dapat mengoptimalkan ukuran terkompresi dengan menggunakan beberapa alat berbeda secara bersamaan.

Kompres data beberapa kali menggunakan alat yang berbeda seperti 7Zip, winrar (untuk Zip) dan bjwflate.

(Perhatikan bahwa ini tidak berarti memampatkan file Zip berulang-ulang, melainkan membuat sejumlah file Zip alternatif menggunakan alat yang berbeda)

Selanjutnya, jalankan deflopt pada setiap arsip untuk mengurangi masing-masing arsip lebih sedikit.

Terakhir, jalankan zipmix pada koleksi arsip. Karena alat Zip yang berbeda lebih baik pada file yang berbeda, zipmix mengambil versi terkompresi terbaik dari setiap file dari masing-masing arsip dan menghasilkan output yang lebih kecil daripada yang bisa diproduksi secara individual oleh alat Zip mana pun.

Namun Anda harus mencatat bahwa ini tidak dijamin akan menghasilkan sihir apa pun pada file Anda. Jenis data tertentu tidak kompres dengan baik, seperti JPEG dan MP3. File-file ini sudah dikompresi secara internal.

11
izb

Ini sepenuhnya tergantung pada data yang dikompresi.

Kompres teks sangat baik, format biner tidak begitu baik dan data terkompresi (mp3, jpg, mpeg) tidak sama sekali.

Inilah yang bagus Tabel Perbandingan Kompresi dari wikipedia.

12
Nifle

Jawaban sebelumnya salah dengan urutan besarnya!

Algoritma kompresi terbaik yang saya punya pengalaman pribadi adalah paq8o10t (lihat zpaq halaman dan PDF ).

Petunjuk: perintah untuk mengompres files_or_folders akan seperti:

paq8o10t -5 archive files_or_folders

Archive size vs. time to compress and extract 10 GB (79,431 files) to an external USB hard drive at default and maximum settings on a Dell Latitude E6510 laptop (Core i7 M620, 2+2 hyperthreads, 2.66 GHz, 4 GB, Ubuntu Linux, Wine 1.6). Data from 10 GB Benchmark (system 4).

Sumber: tilitas dan Pengarsipan Cadangan Jurnal Tambahan

Anda dapat menemukan mirror dari kode sumber di GitHub .


Algoritma kompresi yang sedikit lebih baik, dan pemenang Hadiah Hutter , adalah decomp8 (lihat tautan di halaman hadiah). Namun, tidak ada program kompresor yang benar-benar dapat Anda gunakan.


Untuk benar-benar file besar lrzip dapat mencapai rasio kompresi yang sederhana lucu .

Contoh dari README.benchmarks:


Mari kita ambil enam pohon kernel satu versi terpisah sebagai tarball, linux-2.6.31 ke linux-2.6.36. Ini akan menunjukkan banyak informasi yang berlebihan, tetapi terpisah ratusan megabyte, yang lrzip akan sangat baik dalam mengompresi. Untuk kesederhanaan, hanya 7z yang akan dibandingkan karena itu adalah kompresor tujuan umum terbaik saat ini:

Ini adalah benchmark yang dilakukan pada Intel Core2 2.53GHz dual core dengan ram 4GB menggunakan lrzip v0.5.1. Perhatikan bahwa itu berjalan dengan userspace 32 bit sehingga hanya pengalamatan 2GB yang memungkinkan. Namun benchmark dijalankan dengan opsi -U yang memungkinkan seluruh file diperlakukan sebagai satu jendela kompresi besar.

Tarball dari 6 pohon kernel berturut-turut.

Compression    Size                 Percentage      Compress    Decompress
None           2373713920           100             [n/a]       [n/a]
7z             344088002            14.5            17m26s      1m22s
lrzip          104874109            4.4             11m37s      56s
lrzip -l       223130711            9.4             05m21s      1m01s
lrzip -U       73356070             3.1             08m53s      43s
lrzip -Ul      158851141            6.7             04m31s      35s
lrzip -Uz      62614573             2.6             24m42s      25m30s
8
Alexander Riccio

Squeezechart.com berisi perbandingan berbagai tingkat kompresi. Meskipun, seperti yang dinyatakan oleh jawaban Nifle - Anda tidak mungkin mendapatkan tingkat kompresi yang tinggi untuk format biner.

3
idan315

Sebagian besar alat kompresi memiliki pengaturan untuk memungkinkan Anda mencapai tingkat kompresi yang lebih tinggi dengan kompromi waktu kompresi/dekompresi yang lebih lambat dan lebih banyak penggunaan RAM.

Untuk 7-Zip, cari "Tambahkan ke Kotak Dialog Arsip" di bantuan bawaan untuk detail lebih lanjut.

2
Tom Robinson

Anda dapat mencoba 7Zip dengan pengaturan ultra berikut:

7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on big_file.mysql.7z big_file.mysql
2
kenorb

Cukup periksa Ringkasan dari beberapa tes benchmark kompresi file yang memiliki daftar kompresi terbaik yang terdiri dari benchmark kompresi lengkap.

30 teratas

enter image description here

Performa terbaik (berdasarkan kompresi) dalam tes ini adalah PAQ8 dan WinRK (PWCM). Mereka dapat mengompres testset 300+ Mb menjadi di bawah 62 Mb (pengurangan 80% ukuran) tetapi membutuhkan minimal 8,5 jam untuk menyelesaikan tes. Program nomor satu (PAQ8P) memakan waktu hampir 12 jam dan nomor empat (PAQAR) bahkan 17 jam untuk menyelesaikan tes. WinRK, program dengan kompresi terbaik ke-2 (79,7%) membutuhkan waktu sekitar 8,5 jam. Tidak mengherankan semua program yang disebutkan menggunakan mesin PAQ (-seperti) untuk kompresi. Jika Anda memiliki file dengan gambar yang disematkan (mis. File Word DOC) menggunakan PAQ8, ia akan mengenali mereka dan secara terpisah mengompresnya, meningkatkan kompresi secara signifikan. Semua program yang disebutkan (kecuali WinRK) tidak dikenai biaya.

2
LifeH2O

Taruhan terbaik Anda di sini tampaknya coba-coba. Coba semua teknik kompresi yang tersedia di setiap file dan pilih yang terbaik untuk diletakkan di situs web Anda. Untungnya komputer melakukan hal semacam ini dengan cukup cepat dan tidak bosan. Anda bisa menulis skrip sederhana untuk mengotomatiskan proses sehingga akan "relatif tidak menyakitkan".

Hanya saja, jangan berharap keajaiban - 700 mb hingga 30 mb tidak sering terjadi. Log file seperti yang disebutkan di atas - ya. "File rata-rata Anda" - tidak mungkin.

1
hotei

Nanozip tampaknya memiliki kompresi tertinggi bersama dengan FreeArc. Tetapi ini belum dalam versi final. Ada seberapa bagus kompresi yang dicapai Nanozip . Ini memiliki kompresi yang sangat tinggi dan tidak memerlukan banyak waktu, periksa Ringkasan dari beberapa tes benchmark kompresi file , tetapi FreeArc lebih cepat.

0
user712092