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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
zzzombie89

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vo1T, из Packers Show 3.0. если вас не затруднит, не могли бы вы включить в свою версию прекомпа параметр восстановления архива как и в оригинале?

Всего записей: 15 | Зарегистр. 19-04-2010 | Отправлено: 20:50 19-04-2010
Vo1T



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zzzombie89, какой параметр???
DLL (востанавливатель pcf в любой файл) работает БЕЗ параметров ...  
А специальный упаковщик (рекомпресор из любого файла в pcf) для данной DLL есть с параметром -slow (по умолчанию в архиве) и с параметрами -c9 -m9 -slow (отдельно на сайте)
Добавлено:
Упаковщик с параметрами [-c9 -m9 -slow]

Всего записей: 312 | Зарегистр. 20-08-2008 | Отправлено: 20:54 19-04-2010 | Исправлено: Vo1T, 21:02 19-04-2010
zzzombie89

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vo1T, можно ваш скрипт отдельно от FreeArc секций? тот, который из FreeArc+Precomp.
 
уважаемый, не могли бы вы написать isprecomp.exe в котором бы была функция восстановления архива *pcf и можно бы было запускать через секцию run. если вас не затруднит конечно. был бы очень вам признателен

Всего записей: 15 | Зарегистр. 19-04-2010 | Отправлено: 21:02 19-04-2010
Vo1T



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мой самый простой скрипт распаковки С ПОКАЗОМ ПРОЦЕНТОВ РАСПАКОВКИ PRECOMP-ФАЙЛОВ В INNO с небольшими поправками  
PS Спасибо за наблюдательность ruslan666815
FreeArc+ISPrecomp Делал Shegorat
 
 

Цитата:
Vo1T:
Скрипт взят из этого архива? http://isprecomp.googlecode.com/files/ISPrecomp-0.7.zip
Пробовал разные файлы вплоть до ZIP архивов?
Возможно виноват сам precomp, либо innocallback.dll
Пришли файл с которым у тебя не отправляется callback возможно дело в нём
 
Shegorat:
Да, скрипт взят из этого архива. Ты не понял callback ни на одном файле не работает.  

 

Цитата:
ruslan666815:
такая проблема с Isprecomp...
написал скрипт сделал установщик файлы загнал в архив
потом загнал все это в образ монтирую образ все доходит до precomp пару сек и установщик тупо вырубается...
запускал setup прям с жесткого диска
установщик норм ставит ....
замеил что рядом с ним создаются .dat файлы  
как сделать чтобы эти dat файлы создавались денить в temp например  
 
Vo1T:
используй SetCurrentDirectoryA скрипт ниже
 
ruslan666815:
спасибо огромное!!))  

 
Кому верить ... решать именно Вам

Всего записей: 312 | Зарегистр. 20-08-2008 | Отправлено: 21:05 19-04-2010 | Исправлено: Vo1T, 21:22 19-04-2010
zzzombie89

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vo1T, но как ваш прекомпилятор заставить восстанавливать архив через секцию run???
оригинальный то нормально работает через run, но с теми же параметрами -c9 -m9 -slow хуже разжимает (на практике проверено), поэтому я вас попросил добавить функцию восстановления в сам exe файл а не dll'кой, так как нужно именно в секции run
 
пробовал этот скрипт, но дело в том, что у меня сначала через секцию run идёт распаковка фриарк архивов, потом восстановление архивов srep, далее вот секция code и в конце батник, через который идёт распаковка фриарк архивов. но у вас в скрипте *pcf файлы должны лежать рядом с устанощиком. как это обойти. пробовал *pcf "пустышки" рядом ставить. не катит. что не так делаю?

Всего записей: 15 | Зарегистр. 19-04-2010 | Отправлено: 21:18 19-04-2010
Vo1T



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zzzombie89, выход один - вместо  

Цитата:
#ifndef precomp
    // к сожалению, этот код иногда сбоит на очень больших архивах, созданных с использованием внешних упаковщиков
    if position > 0 then Remaining:= trunc((GetTickCount - StartInstall) * Abs((max - position)/position)) else
#endif

Используй пример из этой DLL + скажем опредениеие по расширению распакованного файла ... данный скрипт никто не  
 
и я выше писал про FreeARC + ISPrecomp

Цитата:
Нужен скрипт? - он тут
А чуть ниже описан способ решения проблемы возникающий с ним  

Скрипт не тестил ... так что я даже не в курсе рабочий ли он - но автор вроде доволен

Всего записей: 312 | Зарегистр. 20-08-2008 | Отправлено: 21:25 19-04-2010 | Исправлено: Vo1T, 21:29 19-04-2010
zzzombie89

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vo1T, посмотрите пожалуйста, за основу взял "Ваш самый простой скрипт распаковки", но распаковки *pcf не происходит. http://rghost.ru/1420356
 
FreeARC + ISPrecomp не годится для меня

Всего записей: 15 | Зарегистр. 19-04-2010 | Отправлено: 21:36 19-04-2010
Vo1T



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

Цитата:
Source: D:\77777\packjpg_dll.dll; DestDir: {app}
Source: D:\77777\precomp.dll; DestDir: {app}
Source: D:\77777\zlib1.dll; DestDir: {app}
Source: D:\77777\isprecomp.dll; DestDir: {app}

ПОЧЕМУ app ??? сможешь объяснить ... получишь пряник
я точно указывал куда распаковывать  

Цитата:
Source: isprecomp.dll; DestDir: {tmp}; Flags: dontcopy
Source:st packjpg_dll.dll; DestDir: {sys}; Flags: deleteafterinstall
Source: precomp.dll; DestDir: {sys}; Flags: deleteafterinstall
Source: zlib1.dll; DeDir: {sys}; Flags: deleteafterinstall

isprecomp.dll в tmp
packjpg_dll.dll и precomp.dll и zlib1.dll в sys именно так как это делает скрипт FreeARC

Всего записей: 312 | Зарегистр. 20-08-2008 | Отправлено: 21:43 19-04-2010
zzzombie89

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vo1T, исправил, но результат тот же. после того, как srep восстановил архив, установка завершается.
 
Добавлено:
вроде разобрался, теперь финальный вопрос так сказать на миллион, как сделать так, чтобы секция run запускалась в конце, не прибегая к флагу postinstall

Всего записей: 15 | Зарегистр. 19-04-2010 | Отправлено: 22:01 19-04-2010
alex2605



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
перед распаковкой pcf-файлов вылезает вот такая ошибка:

почему так и как ее справить?  
вот скрипт:
http://multi-up.com/259337
 
ЗЫ пробовал не один скрипт, в т.ч. и простой freearc+isprecomp

Всего записей: 54 | Зарегистр. 24-03-2010 | Отправлено: 16:54 20-04-2010 | Исправлено: alex2605, 17:03 20-04-2010
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alex2605чем ты делаеш pcf файлы для этого скрипта нужен только isprecomp простой precomp поидет

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 17:08 20-04-2010
alex2605



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56
т.е. нужно пользоваться только isprecomp?
вот сделал только что pcf из СoDWaWmp.exe
батник:

Код:
isprecomp_packer.exe D:\Games\CoDWaWmp.exe D:\

и все равно перед восстановлением pcf вылезает ошибка??
 
и еще вопрос, после обработки файла isprecomp(например СoDWaWmp.exe) pcf-файл должен весить больше, чем оригинал, но pcf-файл весит столько же, сколько и оригинал. но некоторые файлы после компиляции весят больше чем оригинал. это так и должно быть(т.е. не все файлы поддаются распаковки) или это в какой-то баг?

Всего записей: 54 | Зарегистр. 24-03-2010 | Отправлено: 17:37 20-04-2010
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alex2605 скачай Packers Show  
pcf-файл должен весить больше да

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 17:48 20-04-2010
alex2605



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56
пользуюсь как раз Packers Show 3.0, файлы становятся таким же размером.  
чет не получается никак

Всего записей: 54 | Зарегистр. 24-03-2010 | Отправлено: 20:23 20-04-2010
vint56



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

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 20:32 20-04-2010
alex2605



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56
CoD WaW. так же и на остальных тоже.
Пробовал ради примера компилировать файлы как достать соседа, из 3х файлов скопилировался только один, т.е. размер стал больше, а на остальных 2х - размер остался таким же

Всего записей: 54 | Зарегистр. 24-03-2010 | Отправлено: 20:46 20-04-2010
vint56



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

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 21:03 20-04-2010
Vo1T



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alex2605, а размер файла какой ... случаем не больше 2 гб
 
PS C СoD проблемы у многих ... не только с WaW но и с четверкой
и да ... ISPrecomp лишь обёртка для функций precomp.dll понятные для Inno Setup

Всего записей: 312 | Зарегистр. 20-08-2008 | Отправлено: 21:04 20-04-2010 | Исправлено: Vo1T, 21:07 20-04-2010
vint56



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

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 21:10 20-04-2010
Vo1T



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ещё месяц назад нашел способ юзать обычный precomp для отображения процентов в самом Inno Setup, версию думаю всё же брать 0.38 из за меньших жалоб на не корректную работу.
Пока что моя работа мешает экспериментам  
Может быть когда нибудь сделаю

Всего записей: 312 | Зарегистр. 20-08-2008 | Отправлено: 21:11 20-04-2010 | Исправлено: Vo1T, 22:09 20-04-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 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