Widziałem kilka wysoce skompresowanych plików, na przykład 700 MB danych skompresowanych do około 30-50 MB.
Ale jak uzyskać takie skompresowane pliki? Próbowałem używać programów takich jak WinRAR i 7Zip, ale nigdy nie osiągnąłem tak wysokiej kompresji.
Jakie techniki / oprogramowanie pozwalają na tak dobrą kompresję plików?
(PS Używam Windows XP)
compression
rzlines
źródło
źródło
Odpowiedzi:
Jeśli czas kompresji danych nie stanowi problemu, możesz zoptymalizować skompresowany rozmiar, używając kilku różnych narzędzi razem.
Kilka razy kompresuj dane za pomocą różnych narzędzi, takich jak 7zip, winrar (dla zip) i bjwflate.
(Należy pamiętać, że nie oznacza to wielokrotnego kompresowania pliku zip, ale raczej tworzenie wielu alternatywnych plików zip za pomocą różnych narzędzi)
Następnie uruchom deflopt na każdym archiwum, aby nieco zmniejszyć każde archiwum.
Na koniec uruchom zipmix na kolekcji archiwów. Ponieważ różne narzędzia zip są lepsze dla różnych plików, zipmix wybiera najlepszą skompresowaną wersję każdego pliku z każdego archiwum i generuje wynik, który jest mniejszy niż jakiekolwiek, które którekolwiek z narzędzi zip mogłoby wytworzyć indywidualnie.
Należy jednak pamiętać, że nie ma gwarancji działania jakiejkolwiek magii na twoje pliki. Niektóre typy danych po prostu nie kompresują się zbyt dobrze, jak JPEG i MP3. Te pliki są już wewnętrznie skompresowane.
źródło
Zależy to całkowicie od kompresji danych.
Tekst bardzo dobrze kompresuje, formaty binarne nie tak dobrze, a skompresowane dane (mp3, jpg, mpeg) wcale nie.
Oto dobra tabela porównawcza kompresji z wikipedii.
źródło
Poprzednie odpowiedzi są błędne o rząd wielkości!
Najlepszy algorytm kompresji, z jakim mam osobiste doświadczenia, to paq8o10t (patrz strona zpaq i PDF ).
Wskazówka: polecenie kompresji plików_lub_folderów wyglądałoby następująco:
Źródło: Incremental Journaling Backup Utility and Archiver
Możesz znaleźć kopię lustrzaną kodu źródłowego na GitHub .
Nieco lepszym algorytmem kompresji i zdobywcą nagrody Huttera jest decomp8 (patrz link na stronie z nagrodami). Jednak nie ma żadnego programu do kompresji, którego można by użyć.
W przypadku naprawdę dużych plików lrzip może osiągnąć współczynniki kompresji po prostu komiczne .
Przykład z README.benchmarks:
źródło
Squeezechart.com zawiera porównania różnych współczynników kompresji. Chociaż, jak stwierdzono w odpowiedzi Nifle'a, jest mało prawdopodobne, aby uzyskać tak wysokie stopnie kompresji dla formatów binarnych.
źródło
Większość narzędzi do kompresji ma ustawienia umożliwiające osiągnięcie wyższego stopnia kompresji przy kompromisie wolniejszych czasów kompresji / dekompresji i większego zużycia pamięci RAM.
W przypadku 7-Zip wyszukaj „Okno dialogowe Dodaj do archiwum” we wbudowanej pomocy, aby uzyskać więcej szczegółów.
źródło
Możesz wypróbować 7zip z następującymi ultra ustawieniami:
źródło
Wystarczy sprawdzić Podsumowanie testów testowych kompresji wielu plików, które mają najlepszą listę kompresji, która składa się na pełny test kompresji.
Top 30
źródło
Twój najlepszy zakład tutaj wydaje się być metodą prób i błędów. Wypróbuj wszystkie dostępne techniki kompresji dla każdego pliku i wybierz najlepsze, które możesz umieścić na swojej stronie. Na szczęście komputery robią takie rzeczy dość szybko i nie nudzą się. Możesz napisać prosty skrypt automatyzujący proces, aby był on „względnie bezbolesny”.
Tylko nie oczekuj cudów - 700 mb do 30 mb po prostu nie zdarza się tak często. Pliki dziennika, jak wspomniano powyżej - tak. „Twój średni plik” - nie ma mowy.
źródło
Nanozip wydaje się mieć najwyższą kompresję razem z FreeArc. Ale nie jest jeszcze w ostatecznej wersji. Jest to, jak dobra kompresja osiąga Nanozip . Ma bardzo wysoką kompresję i nie zajmuje dużo czasu, sprawdź Podsumowanie testów porównawczych kompresji wielu plików , ale FreeArc jest szybszy.
źródło