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

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



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

Цитата:
А с Precomp у меня на всех файлах размер выходит такой же как на входе, или даже меньше.  
 Хотя должен быть больше, параметры:  
 precomp -c- -t-j "file"  

Используй параметр -slow .

Всего записей: 16 | Зарегистр. 05-05-2011 | Отправлено: 17:40 03-10-2011
Begun999



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый вечер!
Как упаковать фриарком файлы в папке с игрой и оставить один, что бы фриарк распаковал файлы в эту же папку?

Всего записей: 89 | Зарегистр. 22-03-2011 | Отправлено: 23:36 05-10-2011
V2driver



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Begun999
http://rghost.ru/24399331
В это поле можно пропиcать прям с названием: im_robot.mkv

----------
Переехал на krinkels.org

Всего записей: 462 | Зарегистр. 01-02-2010 | Отправлено: 05:38 06-10-2011 | Исправлено: V2driver, 05:41 06-10-2011
Begun999



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V2driver
Спасибо!!!
Я так понял, что я должен указать не сжимаемый файл?

Всего записей: 89 | Зарегистр. 22-03-2011 | Отправлено: 18:16 06-10-2011
V2driver



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Begun999
Ну что хотите то и указывайте, я не совсем понимаю, что Вы хотите сделать?

Всего записей: 462 | Зарегистр. 01-02-2010 | Отправлено: 05:07 07-10-2011
Begun999



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V2driver
Объясню конкретней на примере.
У меня установлена игра - папка "Новый хит". В этой папке находятся файлы игры и ещё 5 папок - 1, 2, 3, 4, 5. Мне нужно сжать несколько файлов фриарком в папке 3, и что бы он при распаковке создал папку 3 и сжатые в ней файлы.
Спасибо!

Всего записей: 89 | Зарегистр. 22-03-2011 | Отправлено: 19:47 07-10-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Begun999
указывай фриарку то что хочешь упаковать, файлы через пробел пропиши (если их немного)
или создай файл-лист

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 11:43 09-10-2011
Begun999



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

Цитата:
kalpak


Цитата:
файлы через пробел пропиши (если их немного)
или создай файл-лист

Если не трудно, опиши как или скрин.
Спасибо!!!

Всего записей: 89 | Зарегистр. 22-03-2011 | Отправлено: 14:47 09-10-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Begun999
ка сжать несколько файлов?
arc a -m<method> archive-file file1 file2 *.ext
а вообще все подробно написано в документации FreeArc

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 01:36 10-10-2011
Begun999



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kalpak
Огромное СПАСИБО!!!

Всего записей: 89 | Зарегистр. 22-03-2011 | Отправлено: 19:48 10-10-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а есть ли пример использования функций InjectFile InjectFiles в файле tools.dll
где можно найти инфу про эту утилиту ?
я так понял эти функции вставляют файлы в файлы pak точно а вот в еще какие не знаю

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 20:09 11-10-2011
Edison007007



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

Цитата:
tools.dll

и что это за библиотека, здесь нет телепатов, Окей?

Всего записей: 376 | Зарегистр. 23-01-2011 | Отправлено: 20:46 11-10-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Edison007007
в не менее в двух репаках втречается файл tools.dll (как именно эта библиотека называется не знаю, никакого описания нет в файле, только по таблицу экспорта можно понять что делает отдаленно)
вот там то и используется InjectFile
в случае с Portal 2 там вроде файлы pak модифицировались
а в случае Rage я не понял что (кажется page файлы, но наверное это тоже что то вроде pak файлов
движок то ID-шный)
 
думал может кто встречал ее и /или пользовался

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 21:41 11-10-2011
R3Pa4eK



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Edison007007
Это dll'ка дедушки
 
Добавлено:
kalpak
От Profrager'a

Цитата:
 
вот заставил ты меня найти его репак и порыться в его косточках, вместо того чтобы чем-то полезным заняться.
В общем нашел я у себя репак деда Darksiders - Wrath of War. Там юзается все основное - arc, srep, precomp, xdelta3 (все кроме unarc.dll являются ехе файлами).
Нашлась библиотечка Tools.dll. Действительно она самописная - либо он сам ее писал, либо ему ее помогли написать. Из множества ее функций в данном репаке использовались только
TaskBarCtlInit, TaskBarCtlRelease, TaskBarCtlSetProgressValue.
Соответственно первые 2 запускаются при старте и в конце работы библиотеки. При чем при старте создается какой-то OLE объект. ХЗ, не стал возиться. TaskBarCtlSetProgressValue юзается примерно раз в секунду и служит для обновления положения указателя на прогрессбаре. Вызывается он из скрипта и служит просто для указания текущего положения прогресса. Видимо этот прогрессбар какой-то необычный, раз нельзя было progressbar.position:=... сделать. Максимальное значение у него было выставлено числом 1645(0x66d).
 
алгоритм примерно такой:
arc->srep->(arc(rep)->precomp)
На каждую смену типа распаковки завершается предыдущий и создается новый поток, что говорит о создании таймера отдельного потока для контроля (а может виртуальная машина Inno так код генерит).
Итак, через unarc.dll распаковывается основной 6гб архив, контроль прогресса тут понятно - через скрипт работы с FreeArc'ом (оригинальный или правленный - не важно). Далее запускается консольный среп и пускается поток, который постоянно фиксирует длину выходного файла, получаемого srep.exe и в определенный промежуток времени посылает в эту tools.dll через TaskBarCtlSetProgressValue текущее положение. Далее комплексно распаковывается арк архив с чередующимся извлечением данных из арк архива и распаковкой только что извлеченных pcf файлов, при этом прогресс изменяет свое значение только при извлечении данных из arc файла, а во время работы прекомпа - состояние покоя
Дальше там всякие видео и ехе распаковывались, но это уже обычные arc'и. На работу xdelta3 не получилось посмотреть, т.к. выбрал руссую озвучку, а delta требуется только для eng.
 
Так что весь плавный прогресс у деда - результат светлой головы и хорошо написанного и отлаженного скрипта  
 

Всего записей: 963 | Зарегистр. 15-01-2011 | Отправлено: 22:42 11-10-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нет
я точно знаю что в репаке portal 2 вызывается injectfile
потому как сначала распаковывается pak файл
а потом в него что то добавляется
 
вот  тут видно

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 23:12 11-10-2011 | Исправлено: kalpak, 23:25 14-10-2011
ALExey1995



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

Цитата:
что то добавляется  

 

Цитата:
xdelta3


Всего записей: 212 | Зарегистр. 07-11-2010 | Отправлено: 01:57 16-10-2011
kalpak

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

Код:
 [938] PUSHTYPE 10(S32) // 2  
  [943] ASSIGN Base[2], [20]  
  [958] PUSHTYPE 16(UnicodeString) // 3  
  [963] ASSIGN Base[3], ['{app}\portal2\pak01_008.vpk']  
  [1005] CALL 508 (INJECT)

 
в ходе установки
с одного архива распаковывается vpk-файл, а с другого папка с названием таким же как файл плюс .fls
внутри файлы .tak, которые перекодируются (распаковываются) в wav
и потом вставляется в соотв. vpk

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 11:27 16-10-2011
LinkOFF27

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем добрый вечер.У меня такая проблема:
Есть игровой архив, и я не могу его нормально сжать.Весит сам архив 5.09 Gb, а получившийся - 4.66Gb.Сжимал я FreeArc'ом с параметром -mx -ld512m.Чем мне можно сжать этот файл?

Всего записей: 15 | Зарегистр. 21-10-2011 | Отправлено: 22:30 21-10-2011
KillTimer



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

Цитата:
Чем мне можно сжать этот файл?

FreeArc'ом  
Что за архив, от какой игры? Может есть смысл пройтись precomp'ом, rep'ом/srep'ом.

Всего записей: 144 | Зарегистр. 13-05-2009 | Отправлено: 22:37 21-10-2011
LinkOFF27

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

Цитата:
FreeArc'ом

Так я и FreeArc'ом и сжимал.

Цитата:
Может есть смысл пройтись precomp'ом, rep'ом/srep'ом.

а ты мне не подскажешь параметры для srep'a или precomp'a?(Вообще я постоянно жму FreeArc'om и не увлекался ими)

Всего записей: 15 | Зарегистр. 21-10-2011 | Отправлено: 22:40 21-10-2011 | Исправлено: LinkOFF27, 22:43 21-10-2011
Открыть новую тему     Написать ответ в эту тему

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