Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Пережатиe,рекомпрессия,оптимизация файлов для лучшего сжатия

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152

Открыть новую тему     Написать ответ в эту тему

spider91

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору



Oбсуждаем какими утилитами и каким способом оптимизировать файлы для лучшего сжатия.

 

 
Precomp (по-русски) Прекомпрессор с интерфейсом командной строки. Вы можете использовать его для достижения лучшего сжатия некоторых типов файлов (работает с файлами, сжатыми методами ZLib или Deflate, и GIF-файлами). Precomp пытается произвести распаковку потоков этих файлов, и, если они декомпрессированые при последующей перекомпрессии идентичны бит-в-бит оригинальному потоку, то перекомпрессия не производится.
 
В результате получается .pcf-файл (PCF = PreCompressedFile), который содержит больше декомпрессированных данных, чем оригинальный файл. Обратите внимание, что этот файл больше оригинального, но, если сжать его методом сжатия сильнее, чем Deflate, он сожмётся лучше, чем оригинал (или использовать lprepaq для прекомпрессии и сжатия за один шаг).

пример для командной строки | Важно: Precomp 0.4.1 и выше | пример для Inno Setup
 
Если файл, который дали Precomp'у он смог обработать (разжать), то в результате получится файл большего размера. Если дали файл JPG и т.п., то в результате получится файл меньшего размера.
 
Rep (Встроен в FreeArc) LZ77-препроцессор, позволяющий находить повторяющиеся блоки данных на больших дистанциях (до половины объёма ОЗУ, max 2gb).
 
SRep aka SuperREP LZ77-препроцессор, позволяющий находить повторяющиеся блоки данных на сверхбольших дистанциях (в 10-20 раз больше размера ОЗУ при -l512 и ещё дальше при увеличении -l). В отличии от Rep при распаковке копирует повторяющиеся данные непосредственно из распакованного файла.
 
PackJPG Программа разработанная специально для перепаковки JPEG файлов без потерь (восстановление идёт бит в бит). В среднем уменьшает размер JPEG файлов на 18%.
 
PNGOut и OptiPNG Aлгоритмы для cжатия PNG.
png optimize suite(Win32) Набор консольных компрессоров для PNG с батником, брутфорсит PNGи
 
Tiff Precompression of Tiff files encoded with packbits. It precompresses only the first page of multi-page tiff files yet.
 
DICT (Встроен в FreeArc) Словарный препроцессор для текстовых файлов, заменяющий часто встречающиеся последовательности символов на краткие коды, таблица замены создаётся путём анализа каждого блока данных (по умочанию по 64 мб)
 
Delta (Встроен в FreeArc) Препроцессор (фильтр) увеличивающий сжатие табличных данных в бинарных файлах. Он обнаруживает табличные данные и затем 1) вычитает последовательные значения в каждой колонке, 2) переставляет колонки стараясь максимизировать дальнейшее сжатие
 
MM (Встроен в FreeArc) Простой препроцессор мультимедийных данных, не уменьшающий их размеры, но вычитающий последовательные значения. Используя GRZip или PPMd на его выходных данных, можно добиться сжатия на уровне rar, uharc и sbc. Использует модуль mmdet для определения структуры (кол-во каналов*размер сэмпла) входных данных.
 
Rad Video Tools Программа для сжатия/создания файлов с расширением .bik и .smk. Tак же можно добавлять/удалять звуковые дорожки в этих файлах. пример
 
NVidia nvDXT tool Mощная утилита для сжатия текстур (.dds). пример
 
AMD Compressonator Mощная утилита для сжатия текстур (.dds и не только). Бывший ATI Compress.
 
Xdelta Tool and library for differential compression. Xdelta release version 3 supports VCDIFF encoding and decoding. Supports compressing 64 bit files on Windows, Linux, etc. пример
 
батники для перекомпрессии ZIP-ресурсов игр и офисных (MS Office2007; Oo) файлов Cкрипты осуществляют рекурсивный поиск и распаковку в одноимённые папки zipов для более плотного сжатия FA, а также последующее сжатие содержимого папок в одноимённые файлы. Маски прописывать в скрипте пример
 
XWRT 3.2 Препроцессор/компрессор, заточенный под XML (часто встречаются в играх а также в офисных 2007файлах)
Описание: XWRT is a good XML compressor, actually working with all textual files. It transforms XML to more compressible form and uses zlib (default), LZMA, PPMVC, or lpaq6 as back-end compressor. The program also creates a semi-dynamic dictionary and replaces frequently used words with shorter codes.
пример
 
Примечание для всех участников

Перед тем, как задать вопрос: Первый вариант: загрузите "версию для печати" (ссылка справа вверху, над номерами страниц) и попробуйте поискать средствами браузера (ctrl+F).
Большинство типовых задач уже решались, причем неоднократно!

Всего записей: 605 | Зарегистр. 02-02-2009 | Отправлено: 15:02 24-04-2009 | Исправлено: Maz, 14:53 06-09-2021
data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Просто потрясающий архиватор https://github.com/flanglet/kanzi-cpp
 
Компилировать придётся самостоятельно.
 
Добавлено:
Или с CI скачивать.

----------
Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
Кекс. Антибиотики. Ламбада.

Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 12:02 16-11-2019
cuneiform

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сайт известного спеца по прекомпрессорам и SREP'ам
 
http://schnaader.info/precomp.php#d
 
Вот здесь он советует юзать следующий порядок работы:
 
https://encode.su/threads/1392-I-need-help-with-choosing-a-good-precompressor
 
Precompression (Precomp)
Deduplication (SREP)
Compression (7-Zip/Freearc...)

Всего записей: 1902 | Зарегистр. 27-04-2006 | Отправлено: 20:25 23-12-2020
Nikolai2004



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
помогите, пожалуйста, пережать дистрибутив матлаба
https://rutracker.org/forum/viewtopic.php?t=3747700
 
он состоит из кучи zip-архивов, внутри которых лежат ещё архивы с расширнием zip, но уже как zip неоткрываемые.
 
попытка в лоб сжать это FreeArc с Precomp ни к чему не приводит.
 
пример файла (6 мегабайт)
http://sendfile.su/1593725

Всего записей: 1514 | Зарегистр. 07-01-2004 | Отправлено: 20:27 30-01-2021
insorg



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нашёл вот такую дичь, которой сейчас стало модно делать репаки игр
https://krinkels.org/resources/lolz.264/

Цитата:
lolz - компрессор, созданный на основе адаптивного rans, подходящий для любых данных, но наилучшие результаты показывает на структурированных данных. Сделаны специальные модели для dxt текстур и raw графики (в отдаленном будущем, возможно, и для raw аудио появится). Имеется возможность сжимать и разжимать многопоточно.
В lolz имеется довольно много опций, но некоторая часть из них уже не работает из-за отсутствия необходимости в них, однако они пока не убраны из кодека. Опции по умолчанию в большинстве случаев оптимальны.
Краткое описание опций:
Опции детекта данных:
-dt[0..1] - включает/выключает детект pos_ctx/dxt/raw. никаких заголовков, все детектится на основе анализа статистики данных. По умолчанию: -dt1;
-dtp[0..1] - включает/выключает передачу последующим блокам в детекте статистику от предыдущих блоков. По умолчанию: -dtp1;
-dtb[0..1] - включает/выключает перебор всех вариантов вне зависимости от эвристик. По умолчанию: dtb0;
-dto[0..1] - включает/выключает детект лучшего позиционного o1 контекста. По умолчанию: -dto1;
-dtm[0..1] - включает/выключает детект мультимедиа raw графики. По умолчанию: -dtm1;
-dtw[0..1] - включает/выключает детект ширины для raw графики и dxt текстур;
-dtd[0..1] - включает/выключает детект dxt текстур;​
Опции многопотока:
-mtt[0..1] - при многопоточной обработке указывает используемый режим работы. При 0 размер словаря должен быть как минимум в 2 раза больше размера блока. В этом режиме данные для каждого потока будут загружаться чередуясь размером в блок. В этом режиме в большинстве случаев можно добиться лучшего сжатия, чем во втором, однако для распаковки потребуется такое число потоков, как и при сжатии. При 1 каждый блок сжимается отдельно, без зависимостей от соседних данных, соответственно сжатие тут получается обычно хуже, чем в первом режиме, но количество потоков на распаковку можно указывать любое. Именно для этого режима применяются опции из cls.ini MaxThreadsUsage и MaxMemoryUsage. По умолчанию: -mtt0;
-mt[1..16] - задает число потоков для обработки. При -mt1 и -mtt0 получается обычное последовательное сжатие без потерь в сжатии на разделение потока на блоки. По умолчанию: -mt1;
-mtb[2..512] - задает размер блока в Мб. При -mt1 -mtt0 так же играет значение, но минимальное. И больше - не значит лучше. Обычно для -mtt0 оптимальное значение порядка 32-64мб, соответственно размер словаря должен быть более, чем в 2 раза больше. Для режима mtt1 размер словаря должен быть не более размера блока;​
Основные опции:
-d[16..2032] - размер словаря в Мб. По умолчанию: -d64;
-tt[1..256] - количество рассматриваемых путей в оптимальном парсере. Очень сильно влияет на скорость и степень сжатия, но не на распаковку. Не стоит задавать больше 16, уверяю, оно того не стоит. По умолчанию: -tt4;
-oh[8..14] - задает максимальное количество байт, которое оптимальный парсер обработает за раз (2^X). По умолчанию: -oh12;
-os[0..-oh] - задает минимальное количетсво байт, которое парсер обработает за раз (2^X). По умолчанию: -os8;
-fba[0..4096] - задает размер минимального совпадения, при котором парсер не станет сильно утруждаться в расчетах. Прилично ускоряется сжатие (раза в 2) с небольшой потерей сжатия. При 0 эти упрощения отключаются. По умолчанию: -fba256;
-fbb[0..4096] - ЭТА ОПЦИЯ НА ДАННЫЙ МОМЕНТ НЕ РАБОТАЕТ. Задавала еще большие упрощения;
-al[0..1] - включает/выключает просчет цены литерала даже при rep0 совпадении. По умолчанию: -al1;
-x[0..2] - включает медленные режимы работы парсера с просчетом (почти) всех длин найденного матча, а так же вариантов match+lit+rep0match. Очень медленно и беспощадно. А выгода очень небольшая. Проще -tt добавить; По умолчанию: -x0;​
Опции поиска совпадений (matchfinder):
-rt[0..2] - ЭТА ОПЦИЯ НА ДАННЫЙ МОМЕНТ НЕ РАБОТАЕТ. Задавала тип matchfinder'а - lz, rolz либо гибридный режим, однако rolz не оправдал ожиданий и все изменения я проводил без его учета его, поэтому он сейчас не работает; По умолчанию: -rt0;
-mc[2..1023] - Задает максимальное количество обходов бинарного дерева совпадений, после которого совпадения для данного положения больше не ищутся; По умолчанию: -mc128;​
Опции моделей:
-cm[0..1] - включает/выключает простой context mixer в некоторых критических местах, который смешивает по паре моделей в каждом месте. При включении улучшает сжатие, но замедляется распаковка. По умолчанию: -cm1;
-bc[0..8] - задает уровень влияния предыдущего байта на миксер; По умолчанию: -bc4;
-lm[0..4] - ЭТА ОПЦИЯ НА ДАННЫЙ МОМЕНТ НЕ РАБОТАЕТ. Задавала тип "элементарного" литерала. Сложные высоко-порядковые модели с cm показали себя не очень, поэтому их забросил, так же как и rolz. По умолчанию: -lm0;
-blo[0..8] - задает степень влияния предыдущего байта на кодирование верхней части литерала. По умолчанию: -blo8;
-bll[0..8] - задает степень влияния предыдущего байта на кодирование нижней части литерала. По умолчанию: -bll8;
-blr[0..8] - задает степень влияния rep0lit байта на кодирование верхней части литерала. По умолчанию: -blr4;
-bm[0..8] - задает степень влияния rep0lit байта на кодирование флага типа совпадения. По умолчанию: -bm4;
-pc[0..4] - задает позиционный контекст для всех операций кодирования. Автоматически игнорируется при включенном детекте. По умолчанию: -pc2;
-dmXY (X[0..3], Y[0..4]) - задает модель для кодирования пар цветов (X) и пар альфа-канала(Y). При максимальном значении каждого параметра используется адаптивное переключение между моделями, при чем скорость распаковки уменьшается, но и сжатие в большинстве случаев лучше. По умолчанию: -dm34;
-gmXY (X[0..2], Y[0..1]) - X - задает модель для кодирования raw графики. при максимальном значении включается адаптивное переключение между моделями. Однако в данном случае редко когда можно увидеть выигрыш у адаптивного режима. В основном лидирует 0 режим, но его распаковка в 2 раза медленнее 1го режима. Y - включает обновление статистики моделей когда они не использовались (например было длинное совпадение). Для X0 и X1 обычно дает небольшой выигрыш в сжатии, но скорость падает раза в 2(все зависит от данных). В общем самым оптимальным является -gm00, он же - и режим по умолчанию;

Только скачать доступа нет чтоб потестить.
Есть у кого?

Всего записей: 2232 | Зарегистр. 04-11-2010 | Отправлено: 18:35 29-04-2021
kraeved



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
insorg
Нашёл … lolz … которой стало модно делать репаки игр. Есть у кого?

Да, сохраните и распакуйте.

Всего записей: 838 | Зарегистр. 01-03-2003 | Отправлено: 12:14 14-05-2021 | Исправлено: kraeved, 01:30 16-05-2021
insorg



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вытащил, спасибо.
Теперь осталось это потестировать.

Всего записей: 2232 | Зарегистр. 04-11-2010 | Отправлено: 13:22 15-05-2021
Shaleo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем Доброго дня!
Я новичек, поэтому не смог сам решить проблему. Если кто нибудь уже решил данную проблему на форуме, ткните пожалуйста носом.
Вопрос такой. Есть ли возможность корректно встроить в FreeArc 0.67, новую версию precomp 0.47,
чтобы она работала втесте со старой версией precomp 0.42 ?
Если тупо заменить precomp042.exe файлом precomp 0.47, переименовав его в precomp042.exe, и немного
поправить параметры в arc.ini, то вроде бы precomp 0.47 работает. Но перестают распаковываться *.arc
файлы упакованные ранее, с использованием precomp 0.42.
Могут ли precomp-ы разных версий существовать вместе, не конфликтуя? Если да, то что нужно поправить
а arc.ini, чтобы все работало?

Всего записей: 34 | Зарегистр. 30-07-2008 | Отправлено: 14:44 06-09-2021
uShell

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
пережать дистрибутив матлаба

Судя по всему, модули матлаба зашифрованы, поэтому и не сжимаются. Спросите в ветке по взлому или в ветке по матлабу, снимал ли кто-нибудь это шифрование.
 
Добавлено:

Цитата:
Могут ли precomp-ы разных версий существовать вместе, не конфликтуя?

А как Вы узнаете, какая версия precomp была использована для конкретного архива? Если выбор будет осуществляться вручную, так проще сделать две отдельных папки с FreeArc, в каждой из которых будет свой precomp.

Всего записей: 516 | Зарегистр. 12-06-2019 | Отправлено: 15:57 06-09-2021 | Исправлено: uShell, 16:06 06-09-2021
Shaleo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А почему тогда в arc.ini указаны несколько версий precomp? Складывалось ощущение, что они могут работать вместе. Или автор Freearc что-то не доделал, а настройки остались?

Всего записей: 34 | Зарегистр. 30-07-2008 | Отправлено: 18:39 06-09-2021
VitaminP



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shaleo

Цитата:
Если тупо заменить precomp042.exe файлом precomp 0.47, переименовав его в precomp042.exe

Переименование файлов не прокатит, так как эти версии несовместимы.

Всего записей: 286 | Зарегистр. 28-08-2013 | Отправлено: 18:57 06-09-2021
uShell

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
в arc.ini указаны несколько версий precomp

Какую укажете, такая и будет вызываться. Попробуйте для разнообразия не сам precomp переименовывать, а в arc.ini заменить имя - должен подцепить эту версию. Проблема, как и Вы сами заметили, и выше сказали, - в несовместимости версий. FreeArc не может определить сам, какая из них нужна, так что для каждой придётся делать свой arc.ini. А насчёт двух папок с FreeArc я погорячился - достаточно использовать опцию -cfg.

Всего записей: 516 | Зарегистр. 12-06-2019 | Отправлено: 22:42 06-09-2021
Shaleo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как тогда производить вызов FreeArc из меню?
Наверное Precomp047 просто нужно дописать к остальным Precomp-ам в arc.ini,
и вызвать как precomp047:cn:intense.

Всего записей: 34 | Зарегистр. 30-07-2008 | Отправлено: 11:55 12-09-2021
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152

Компьютерный форум Ru.Board » Компьютеры » Программы » Пережатиe,рекомпрессия,оптимизация файлов для лучшего сжатия


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru

Рейтинг.ru