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

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



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. Не выводит окно установки
2. Что-то никак не хотел принимать скрипт freearc'a
3. Кто в этом разбрается помогите!
Вот сам скрипт:
[Setup]
AppId={{D8CE6228-E1B4-4DD8-B8B2-D89B047A43C4}
AppName=Left 4 Dead 2 The Passing
AppVerName=Left 4 Dead 2 The Passing 2.0.2.6
AppPublisher=Valve
DefaultDirName={pf}\Left 4 Dead 2 The Passing
DefaultGroupName=Left 4 Dead 2 The Passing
OutputBaseFilename=setup
SetupIconFile=C:\Program Files\Left 4 Dead 2\left4dead2.ico
Compression=none
SolidCompression=true
DiskSpanning=true
DiskSliceSize=1457664000
 
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
 
[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
 
[Files]
Source: C:\Program Files\Left 4 Dead 2\Left 4 Dead 2.arc; DestDir: {app}; Flags: ignoreversion
Source: C:\Program Files\Left 4 Dead 2\rev.ini; DestDir: {app}; Flags: ignoreversion
Source: C:\Program Files\Left 4 Dead 2\unarc.dll; DestDir: {app}; Flags: ignoreversion
 
[Icons]
Name: {group}\Left 4 Dead 2 The Passing; Filename: {app}\left4dead2.exe
Name: {commondesktop}\Left 4 Dead 2 The Passing; Filename: {app}\left4dead2.exe; Tasks: desktopicon
 
[Run]
Filename: {app}\left4dead2.exe; Description: {cm:LaunchProgram,Left 4 Dead 2 The Passing}; Flags: nowait postinstall skipifsilent
 
[Registry]
Root: HKCR; SubKey: Applications\left4dead2.exe\shell\open\command; ValueType: string; ValueName: ; ValueData: {app}; Flags: uninsdeletekey
 
  #include "FreeArc.iss"
И еще, как сделать свой скин к инсталлеру? Точнее через какую программу?

Всего записей: 154 | Зарегистр. 16-07-2010 | Отправлено: 19:36 16-07-2010
dumanow

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят мне нужно запустить батник cmd.bat после распаковки и восстановления прекомпа как мне это прописать?

Всего записей: 90 | Зарегистр. 08-04-2010 | Отправлено: 20:56 17-07-2010
ChanVS

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dumanow
 
Можно так!
 
Вариант 1.
[Run]
Filename: {app}\zone\precomp.exe; Parameters: -r ac130.pcf; WorkingDir: {app}\zone\English;
 
Вариант 2.
[Run]
Filename: "{app}\zone\english\precomp.bat"; WorkingDir: "{app}\zone\english";
 
В файле "precomp.bat"  
precomp.exe - r ac130.pcf
 
В папке где *.pcf файлы должныбыть  
precomp.exe
precomp.bat
precomp.dll
packjpg_dll.dll
zlib1.dll
ISDone_Precomp.dll // для скрипта ВАРИАНТ 3
ISDone.dll //для скрипта ВАРИАНТ 3
isprecomp.dll //для скрипта ВАРИАНТ 3
isprecomp2.dll //для скрипта ВАРИАНТ 3
 
Если батник будет в другой папке, то в ней появится ac130.ff.
И прописывать полный пуить надо.
 
Вариан 3.
[Files]
Source: "precomp\*"; DestDir: "{tmp}"; Flags: ignoreversion overwritereadonly \\ папка с перекомпресии  
Source: "Data\*"; DestDir: "{app}"; Flags: overwritereadonly recursesubdirs ignoreversion createallsubdirs sortfilesbyextension; AfterInstall: RecompressPCF  \\ папка с pcf файлами находит само.
 
[Code]
procedure RecompressPCF;
var
  Tmp, Text,
  InputFile, OutputFile: string;
  n, ResultCode: Integer;
begin
  if ExtractFileExt(CurrentFileName)='.pcf' then
  begin
    InputFile:=ExpandConstant(CurrentFileName);
    n:=Length(InputFile);
    while InputFile[n]<>'.' do
      n:=n-1;
    OutputFile:=Copy(InputFile, 1, n-1);
    Text:=WizardForm.StatusLabel.Caption;
    WizardForm.StatusLabel.Caption:='Рекомпрессия извлеченного файла...';
    WizardForm.FileNameLabel.Caption:=OutputFile;
    Tmp:=ExpandConstant('{tmp}\');
    Exec(Tmp+'precomp.exe', '-d -o"'+OutputFile+'".ff "'+InputFile+'"', Tmp, SW_HIDE, ewWaitUntilTerminated, ResultCode);
    DeleteFile(InputFile);
    WizardForm.StatusLabel.Caption:=Text;
  end;
end.
 
Добавлено:
В батнике нуна добавить  
del *.pcf (чтоб удаляла после перекомпресии) и в конце остальные не нужнеые файлы.

Всего записей: 78 | Зарегистр. 02-07-2010 | Отправлено: 10:43 19-07-2010
ChanVS

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так что ни кто не делал! При инсталляции файлы PCF перекомпелируются в FF precomp-ом!
Чтоб шел прогресс?

Всего записей: 78 | Зарегистр. 02-07-2010 | Отправлено: 17:38 21-07-2010
dumanow

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ChanVS спасибо но у меня прекомп восстанавливается нужно чтоб севен зип после рапаковки всего распаковался через рун я простозапаковал так  
1.севен зип
2.прекомп
3.арк
арк и прекомп распоковываются теперь мне нужно чтоб распаковались севен зипы через рун и после всех распаковок

Всего записей: 90 | Зарегистр. 08-04-2010 | Отправлено: 22:03 21-07-2010
AleksanderGaMeR

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как из 6 гб сделать 3-4 гб , при этом архивировать только с 1 гб ОЗУ

Всего записей: 18 | Зарегистр. 10-07-2010 | Отправлено: 01:04 22-07-2010
Kosako



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Такой вопрос... Сжал Alien Swarm до 694Мб. Использовал для этого перекодировку звуков wav>ogg. Во время установки это все, естественно, переводится обратно в wav. И вот проблема. Реплики персонажей в игре не корректно воспроизводятся. Вместо реплик просто какой-то шум не разборчивый. При этом, если запускать звуки из папки, все воспроизводится нормально.  
Подобная проблема наблюдается только со стимовскими играми. В L4D2 тоже самое, но там реплики персонажей не заглушены, а просто в начале или в конце проходит щелчек.
Вот в чем может быть причина? Ошибки при перекодировке или что?

Всего записей: 243 | Зарегистр. 27-11-2009 | Отправлено: 10:01 22-07-2010
Profrager



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kosako
все зависит от того, какой кодер и декодер ogg  используешь, так же зависит от исходных wav'ов, может в них еще какая инфа записана, кроме стандартной, а огг при распаковке возвращает только стандартный заголовок. А вообще если wav файлы нормальные, то огг пакует строго по размеру, вплоть до семла и без всяких щелчков. Так же может быть проблема в том, что wav'ы не в pcm формате, а запакованные во что-то, типа adpcm или mp3. Кодер ogg их не может распаковать.

Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 10:44 22-07-2010
Kosako



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

Цитата:
все зависит от того, какой кодер и декодер ogg  используешь

oggenc и oggdec.  

Цитата:
так же зависит от исходных wav'ов, может в них еще какая инфа записана, кроме стандартной, а огг при распаковке возвращает только стандартный заголовок.

Вот это вполне возможно. При перекодировке в огг там писалось, что что-то пропущено.

Всего записей: 243 | Зарегистр. 27-11-2009 | Отправлено: 12:20 22-07-2010
ChanVS

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dumanow
Зачем тебе столько упаковщиков?
Один упаковщик упаковывает одно хорошо другой другое.
Запаковывая все 2-3 упаковщиками трата времени!
Сам Inno Setup не хуже ФриАРКа и 7z запаковывает.
 
Compression=lzma
Compression=ultra64

Всего записей: 78 | Зарегистр. 02-07-2010 | Отправлено: 13:16 22-07-2010
Profrager



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

Цитата:
oggenc и oggdec
их тьма тьмущая разных версий и от разных авторов со всякими оптимизациями и т.д. Может ты старые версии используешь

Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 14:40 22-07-2010
LonerDergunov



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

Цитата:
Подобная проблема наблюдается только со стимовскими играми.

Нет, не только.
Давненько тоже так пережимал звуки, попадались и нестимовские игры с подобными выкрутасами, названий уже не вспомнить, но были подобные ситуации. Использовал oggenc и oggdec, взятые из какого-то подобного репака (было это давно, интернета еще не было).
 

Цитата:
1.севен зип  
2.прекомп  
3.арк


Цитата:
Зачем тебе столько упаковщиков?

7-Zipом тарим все в один файл.
Обрабатываем этот файл прекомпом и репом/срепом.
Арком упаковываем полученный результат с максимальным сжатием.

Всего записей: 2972 | Зарегистр. 11-07-2007 | Отправлено: 15:22 23-07-2010
V2driver



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А что арком нельзя затарить всё, ну всмысле архив бес сжатия сделать?
Действительно зачем столько мороки?

Всего записей: 462 | Зарегистр. 01-02-2010 | Отправлено: 14:18 24-07-2010
LonerDergunov



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

Цитата:
А что арком нельзя затарить всё, ну всмысле архив бес сжатия сделать?  
Действительно зачем столько мороки?

можно и арком, но мороки тут никакой. Просто, например, мне удобней именно 7-Zipом (установлен он постоянно, нажал правой кнопкой и сжал) упаковать, а распаковать - фриарком можно.

Всего записей: 2972 | Зарегистр. 11-07-2007 | Отправлено: 00:43 25-07-2010
ChanVS

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
7-Zipом тарим все в один файл.  
Обрабатываем этот файл прекомпом и репом/срепом.  
Арком упаковываем полученный результат с максимальным сжатием.
 
Как помне.
Я в игре COD4 файлы ff распаковываю в pcf и пакую одним Inno Setup.
Precomp хорошо обрабатывает только пакеты (файлы) с картинками.
На сколько я знаю!
А паковать запаковытые файлы, другим паковщикам, трата времени.
Т.к. размер архива не на много уменьшится. (Проверял на 7z и FreeArc)
Inno Setup упаковывает так же как и FreeArc.
 
Compression=lzma  
Compression=ultra64
 
Добавлено:
Так не кто не поможет написать скрипт?
Файлов pcf перепаковывать в ff с прогресбаром!

Всего записей: 78 | Зарегистр. 02-07-2010 | Отправлено: 10:38 26-07-2010
V2driver



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ChanVS зайдите в тему про инно сетап, и непарьте мозги!

Всего записей: 462 | Зарегистр. 01-02-2010 | Отправлено: 20:19 26-07-2010
ChanVS

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V2driver
Я тут уже все перелопатил.
Проблема такая.
В игре файлы ff (они не пакуются).При распаковке запаковываются почти в 3 раза,а не в 2.
(Чтоб на диск влезло).
Так сказать.
У меня 2 варианта установки игры.
1) При установке файлы запаковываются в iw_00.iwd (rar-ом и переименовываются).
2) При установке файлы PCF пресуются precomp-ом.
Оба варианта созданы, чтоб занимали меньше места.
Если все файлы не архивированы и их упаковать в инсаллятор. Они занимают 4,5 Гб.
Если упаковывать как они сечас пресованые 5.3 Гб.
Не хочится чтоб при установке как бы зависало окно установи, когда перепаковываются файлы!
ISprecomp сделан с прогрессом, но он для файлов zip.
 
 
 
Добавлено:
vint56
У меня с этим скриптом файл pcf 84 Mb делает ff 3 Kб, а не 45 Мb.
И почему-то не распаковывает arc!!!
В чем причина!
 

Всего записей: 78 | Зарегистр. 02-07-2010 | Отправлено: 10:40 27-07-2010
Profrager



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

Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 15:19 27-07-2010
ChanVS

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скачал скрипт Call_of_Duty_-_World_at_War_FreeArc_isPrecomp.iss не работает!
Убрал музыку и все.
Отказывается находить ARC и PCF!
Но заработал этот isPrecomp 07
 
procedure CurStepChanged(CurStep: TSetupStep);
var
  callback: longword;
begin
  if CurStep = ssPostInstall then
    begin
      ProgressBar.Show;
      ProgressLabel.Show;
      btnCancelRecompress.Caption := WizardForm.CancelButton.Caption;
      btnCancelRecompress.Show;
      callback:=WrapPrecompCallback(@PrecompCallback,1);
      PrecompExtract(ExpandConstant('{tmp}\patch.pcf'), ExpandConstant('{app}'), Callback);
      btnCancelRecompress.Hide;
    end;
end;

Всего записей: 78 | Зарегистр. 02-07-2010 | Отправлено: 13:13 28-07-2010
ChanVS

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто подскажет "//Если путь неполный, то добавляем необходимые строчки"
Каки это строчки?
 
Procedure CheckPrecompFiles(Filename: String);
var
GetFile: String;
begin
If ExtractFileExt(Filename) = '.pcf' then  //Находим файлы
  begin
  if (Pos(AnsiLowercase(ExpandConstant('{app}\')), AnsiLowercase(Filename)) > 0) then
  GetFile:= Filename else                         //Если имеется полный путь, оставляем так
  GetFile:= AddBackslash(DestDir) + Filename;     //Если путь неполный, то добавляем необходимые строчки
  SetIniString('Files', IntToStr(PrecompFiles), GetFile, ExpandConstant('{app}\Files.ini')) //Сохраняем название файла в файл
  PrecompFiles:= PrecompFiles + 1          //Общее количество найденных файлов
  end;
if Filename = '*.ff' then Exit;
end;
 
И еще Скрипт CoD WW FreeArc+isPrecomp у меня закработал, когда заархивировал FreeArc-ом файлы pcf.
Но, я хочу убрать распаковка FreeArc-ом. (Трата время на переписывания и распаковку).
Кто-то поможет убрать?

Всего записей: 78 | Зарегистр. 02-07-2010 | Отправлено: 15:09 29-07-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