Ru-Board.club
← Вернуться в раздел «Программы»

» Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия

Автор: LonerDergunov
Дата сообщения: 11.10.2010 02:53

Цитата:
Я не знаю, юзает ли кто-нибудь brute вообще?

Есть репак Street Fighters 4 - мне тоже очень интересно, сколько суток его обрабатывали -brute
Автор: Profrager
Дата сообщения: 11.10.2010 07:16
LonerDergunov
единожды только его пробовал использовать, но через 5 мин уже нажал ctrl+break. Он хоть дает какие-нибудь стоящие результаты? Или найдет в 1 гиговом файле на 5кб больше zlib потоков)
Автор: Pasha_ZZZ
Дата сообщения: 11.10.2010 08:34
Kosako
Если в -slow 10 часов, то в -brute "неделю, не меньше!" (С)

LonerDergunov
Profrager
Обычно безголовые zlib'ы используют безголовые программисты, коих сейчас все меньше. да и стандартные библиотеки, которыми они пользуются, без доп. шаманства такого не допускают...
Автор: WinDXD
Дата сообщения: 11.10.2010 09:10
Всем привет. Сейчас что используют для лучшего сжатия? Кроме FreeArc и Precomp. Вижу Srep, но не знаю что это. Это что? Как им пользоваться?
Автор: Profrager
Дата сообщения: 11.10.2010 10:20
WinDXD

Цитата:
Вижу Srep, но не знаю что это. Это что? Как им пользоваться?
это то же, что и rep, только super) позволяет найти практически все повторы в очень больших файлах, используя оперативки лишь порядка 5% от размера файла. При распаковке требуется только 16мб. Если командной строкой умеешь пользоваться, то как им пользоваться ты бы и так знал, так что используй Packers Show
Автор: Kosako
Дата сообщения: 11.10.2010 10:22
WinDXD
Что это такое, в шапке написано. А пользоваться либо через консоль, либо PaсkersShow скачай. В дополнительных командах пишешь -l*циферки* (по умолчанию установлено 512). Чем меньше цифра, тем лучше результат. Меньше 128 лучше не ставить.
Автор: WinDXD
Дата сообщения: 11.10.2010 10:30
А в скрипт что-нибудь прописывать нужно?
Автор: V2driver
Дата сообщения: 11.10.2010 15:56

Цитата:
Я не знаю, юзает ли кто-нибудь brute вообще?

Я юзаю.
WinDXD где прописывать?
Автор: WinDXD
Дата сообщения: 11.10.2010 16:23
Так что еще использовать чтобы хорошо жать кроме FreeArc и Precomp?
Автор: BaRS 74
Дата сообщения: 11.10.2010 17:53
Всем доброго времени суток, Возможо вопрос глупый, но разобраться не могу.
использую, для плотного сжатия 7z+precomp+srep и все это запихиваю в Freearc.
Распаковку провожу через inno setup (ISDone).Что бы избежать консольных окошек ( т.к. не знаю как через bat файлы)
Но вылазиет вот такая ошибка


Т.е. freearc проходит норм, а вот уже на стадии распаковки Srep все заканчивается.
Пожалуйста, подскажите в чем проблема.
Заранее спасибо, за ответ!
И вот кусок кода idone
[more]MyError:=true;
if not ISArcExtract ( 0, OveralPct, 50, ExpandConstant('{src}\GameData.bin'), ExpandConstant('{app}\GameData.srp'), false,CallBack, '', '', '') then break;
// if not ISArcExtract ( 0, OveralPct, 0, ExpandConstant('{src}\Music.bin'), ExpandConstant('{app}'), false,CallBack, '', '', '') then break;
if not ISSRepExtract ( 0, OveralPct, 65, ExpandConstant('{app}\White Gold\GameData.srp'), ExpandConstant('{app}Music.pcf'), '', true, CallBack ) then break;
if not ISPrecompExtract( 0, OveralPct, 25, ExpandConstant('{app}\White Gold\Music.pcf'), ExpandConstant('{app}\Music.7z'), true, CallBack ) then break;
if not IS7ZipExtract ( 0, OveralPct, 15, ExpandConstant('{app}\White Gold\Music.7z'), ExpandConstant('{app}'), true, CallBack, '' ) then break;
// if not ShowChangeDiskWindow('Пожалуйста, вставьте диск 2 и дождитесь его инициализации.', ExpandConstant('{src}'),'CODMW2_Disk2.arc' ) then break;
// if not ISArcExtract ( 1, OveralPct, 0, ExpandConstant('{src}\rustext.arc'), ExpandConstant('{app}'), false,CallBack, '', '', '') then break;
// if not ISArcExtract ( 2, OveralPct, 0, ExpandConstant('{src}\engtext.arc'), ExpandConstant('{app}'), false,CallBack, '', '', '') then break;
// if not ISArcExtract ( 3, OveralPct, 0, ExpandConstant('{src}\rusvoice.arc'),ExpandConstant('{app}'), false,CallBack, '', '', '') then break;
// if not ISArcExtract ( 4, OveralPct, 0, ExpandConstant('{src}\engvoice.arc'),ExpandConstant('{app}'), false,CallBack, '', '', '') then break;
MyError:=false;
[/more]
Автор: ReFLeXxe
Дата сообщения: 11.10.2010 18:07

Цитата:
Цитата:-brute

это жестоко)

да так то оно так)) Но когда обрабатывал прекомпом файлы получались в 3 раза больше. И сжимаются лучше чем -slow.И вообще -slow толком ничего и не дал. с -slow repack выходил на 2.3Gb а так 1.8


Добавлено:

Цитата:
Всем доброго времени суток, Возможо вопрос глупый, но разобраться не могу.
использую, для плотного сжатия 7z+precomp+srep и все это запихиваю в Freearc.
Распаковку провожу через inno setup (ISDone).Что бы избежать консольных окошек ( т.к. не знаю как через bat файлы)
Но вылазиет вот такая ошибка


Т.е. freearc проходит норм, а вот уже на стадии распаковки Srep все заканчивается.
Пожалуйста, подскажите в чем проблема.
Заранее спасибо, за ответ!
И вот кусок кода idone
Подробнее... [?]

if not ISArcExtract ( 0, OveralPct, 50, ExpandConstant('{src}\GameData.bin'), ExpandConstant('{app}\GameData.srp'), false,CallBack, '', '', '') then break;

ExpandConstant('{app}\GameData.srp'), - это ваша папка для распаковки а не файл; должно быть так
вся первая строчка;

if not ISArcExtract ( 0, OveralPct, 50, ExpandConstant('{src}\GameData.bin'), ExpandConstant('{app}\'), false,CallBack, '', '', '') then break;
Автор: BaRS 74
Дата сообщения: 11.10.2010 18:26
Спасибо, попробую

Добавлено:
ReFLeXxe
Спасибо, все получилось.
Только вот проблемка, при распаковке и восстановлении файлов в оригинал, прогресс бары как бы уходит за граници! Не подскажите, как бороться ? На солько я знаю, надо расставить корректно проценты, что бы в сумме было 100? Так ли это ?
Автор: Profrager
Дата сообщения: 11.10.2010 19:23
BaRS 74
в readme же это прописано. А у тебя сумма 155% получилась. Подгоняй под 100 и все будет ок.
Автор: ReFLeXxe
Дата сообщения: 11.10.2010 19:25

Цитата:
Не подскажите, как бороться ? На солько я знаю, надо расставить корректно проценты, что бы в сумме было 100? Так ли это ?

надо раскоментировать строчку #define records, если не поможет по образцу самому раставить проценты
Автор: BaRS 74
Дата сообщения: 11.10.2010 19:31
ReFLeXxe
Спасибо. Мыслил в ту сторону.
Автор: manuchu
Дата сообщения: 12.10.2010 16:08
Скажите, как можно добиться максимального сжатия??
Какой связкой?? Вот например:
Есть репак Готики 4 от a1chem1st (просто беру в пример), как там сжать до 3,85?????
Я вырезал повторяющиеся ролики и пробовал связку:
7z->Rep->Srep->Arc
И размер получился 5гб
Пробовал обработать прекомпом файлы .pak без толку
Вообще интересует, какая связка самая эффективная? И в какой последовательности лучше использовать прекомп, среп, реп и т.д.
Заранее спасибо
Автор: tabak96
Дата сообщения: 12.10.2010 16:24
всем привет.я прогнал через прекомп дарксайдерс(папку media ,без видео(7.13 гб)) у меня получилось 13.8 гб,теперь думаю через srep.с какими параметрами у srep можно добиться наилучшего сжатия?
Автор: manuchu
Дата сообщения: 12.10.2010 17:47
Ну народ, не ужели ни кто не может подсказать?
Автор: egor23
Дата сообщения: 12.10.2010 19:49
manuchu

Цитата:
Пробовал обработать прекомпом файлы .pak без толку

прекомп используется
precomp+rep+lzma
Video\ и Speech0.pak лежат не упакованные
data1.bin - Data.pcf 2,652,557,073
data2.bin - Data1.pcf 2,378,680,294
Автор: Shegorat
Дата сообщения: 13.10.2010 08:05
tabak96
Для большинства данных оптимальное значение -l512 или -l256. Меньшие значения -l конечно уменьшат размер данных, но тут нужно смотреть какой размер будет после дожатия данных алгоритмом lzma


Добавлено:
manuchu

Цитата:
Вообще интересует, какая связка самая эффективная? И в какой последовательности лучше использовать прекомп, среп, реп и т.д.

Универсальных цепочек сжатия не существует. Для каждого типа данных нужно подбирать свой алгоритм сжатия.

Цитата:
Я вырезал повторяющиеся ролики и пробовал связку:
7z->Rep->Srep->Arc

Попробуй лучше связку
7z-Srep->Rep->Arc
Так srep сначала найдет больше повторов, а rep+lzma потом дожмет файлы.
А вообще поэкспериментируй с различными алгоритмами сжатия.
Автор: Profrager
Дата сообщения: 13.10.2010 09:03

Цитата:
7z-Srep->Rep->Arc
Так srep сначала найдет больше повторов, а rep+lzma потом дожмет файлы.
Если и юзать rep, то только перед srep'ом для уменьшения количества информации для обработки им. А так то вообще для сжатия srep'ом с -m3 rep и не нужен.
Автор: Shegorat
Дата сообщения: 13.10.2010 09:17
Profrager

Цитата:
Если и юзать rep, то только перед srep'ом для уменьшения количества информации для обработки им. А так то вообще для сжатия srep'ом с -m3 rep и не нужен.

Если использовать связку rep+srep в итоге размер файла может молучится больше чем при связке srep+rep. Но если использовать srep с параметром -m3 то тут уже rep не требуется, с этим я согласен.
Автор: Profrager
Дата сообщения: 13.10.2010 09:41
Shegorat
ну я особо не тестил, только на данных мафии второй, там размер немного меньше становился. В общем srep -m3 по-любому рулит) Вот бы еще Булат сделал что-то типа держания самых частых совпадений в оперативке в рамках заданного размера, например 512мб.Возможно даже заданного еще в момент упаковки, чтобы так сильно винт не кромсался при декомпрессии.
Автор: WinDXD
Дата сообщения: 13.10.2010 21:12
Превратил прекомпом файл в .pcf файл, потом srep под 512 и получился файл название.pcf.srp. А как при установке превратить из srp в .pcf??? И лучше жать srep под 512 или 128?
Автор: Spate
Дата сообщения: 14.10.2010 04:21
WinDXD

Цитата:
Превратил прекомпом файл в .pcf файл, потом srep под 512 и получился файл название.pcf.srp. А как при установке превратить из srp в .pcf?


Код: srep -d название.pcf.srp название.pcf
Автор: WinDXD
Дата сообщения: 14.10.2010 10:10
А в скрипте как прописать srep -d название.pcf.srp название.pcf?
Автор: Shegorat
Дата сообщения: 14.10.2010 15:08
WinDXD

Цитата:
А в скрипте как прописать srep -d название.pcf.srp название.pcf?

Вообще это не совсем в эту ветку. Но если через srep.exe то

Код: Exec(ExpandConstant('{tmp}\srep.exe'), '-d '+ExpandConstant('{app}\MyFile.pcf.srp')+' '+ExpandConstant('{app}\MyFile.pcf'), ExpandConstant('{tmp}'), SW_SHOW, ewWaitUntilTermianted, ResCode)
Автор: WinDXD
Дата сообщения: 14.10.2010 15:48
Спасибо! Это в [code] прописать?
Автор: manuchu
Дата сообщения: 16.10.2010 11:11
Подскажите, есть ли смысл использовать rep в такой связке?
Rep->Srep->7z (ультра)
или проще юзать:
7z (без сжатия)->Srep->7z (ультра)
????
Заранее спасибо
Автор: Shegorat
Дата сообщения: 16.10.2010 11:24

Цитата:
Подскажите, есть ли смысл использовать rep в такой связке?
Rep->Srep->7z (ультра)
или проще юзать:
7z (без сжатия)->Srep->7z (ультра)
????

Если srep последней версии то использую команду -m3 и Rep не потребуется, если нет, то Rep потребуется

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100

Предыдущая тема: Надстройки IE8


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.