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

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

Автор: Kosako
Дата сообщения: 22.07.2010 09:01
Такой вопрос... Сжал Alien Swarm до 694Мб. Использовал для этого перекодировку звуков wav>ogg. Во время установки это все, естественно, переводится обратно в wav. И вот проблема. Реплики персонажей в игре не корректно воспроизводятся. Вместо реплик просто какой-то шум не разборчивый. При этом, если запускать звуки из папки, все воспроизводится нормально.
Подобная проблема наблюдается только со стимовскими играми. В L4D2 тоже самое, но там реплики персонажей не заглушены, а просто в начале или в конце проходит щелчек.
Вот в чем может быть причина? Ошибки при перекодировке или что?
Автор: Profrager
Дата сообщения: 22.07.2010 09:44
Kosako
все зависит от того, какой кодер и декодер ogg используешь, так же зависит от исходных wav'ов, может в них еще какая инфа записана, кроме стандартной, а огг при распаковке возвращает только стандартный заголовок. А вообще если wav файлы нормальные, то огг пакует строго по размеру, вплоть до семла и без всяких щелчков. Так же может быть проблема в том, что wav'ы не в pcm формате, а запакованные во что-то, типа adpcm или mp3. Кодер ogg их не может распаковать.
Автор: Kosako
Дата сообщения: 22.07.2010 11:20

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

oggenc и oggdec.

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

Вот это вполне возможно. При перекодировке в огг там писалось, что что-то пропущено.
Автор: ChanVS
Дата сообщения: 22.07.2010 12:16
dumanow
Зачем тебе столько упаковщиков?
Один упаковщик упаковывает одно хорошо другой другое.
Запаковывая все 2-3 упаковщиками трата времени!
Сам Inno Setup не хуже ФриАРКа и 7z запаковывает.

Compression=lzma
Compression=ultra64
Автор: Profrager
Дата сообщения: 22.07.2010 13:40
Kosako

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

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

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


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


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

7-Zipом тарим все в один файл.
Обрабатываем этот файл прекомпом и репом/срепом.
Арком упаковываем полученный результат с максимальным сжатием.
Автор: V2driver
Дата сообщения: 24.07.2010 13:18
А что арком нельзя затарить всё, ну всмысле архив бес сжатия сделать?
Действительно зачем столько мороки?
Автор: LonerDergunov
Дата сообщения: 24.07.2010 23:43

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

можно и арком, но мороки тут никакой. Просто, например, мне удобней именно 7-Zipом (установлен он постоянно, нажал правой кнопкой и сжал) упаковать, а распаковать - фриарком можно.
Автор: ChanVS
Дата сообщения: 26.07.2010 09:38
7-Zipом тарим все в один файл.
Обрабатываем этот файл прекомпом и репом/срепом.
Арком упаковываем полученный результат с максимальным сжатием.

Как помне.
Я в игре COD4 файлы ff распаковываю в pcf и пакую одним Inno Setup.
Precomp хорошо обрабатывает только пакеты (файлы) с картинками.
На сколько я знаю!
А паковать запаковытые файлы, другим паковщикам, трата времени.
Т.к. размер архива не на много уменьшится. (Проверял на 7z и FreeArc)
Inno Setup упаковывает так же как и FreeArc.

Compression=lzma
Compression=ultra64

Добавлено:
Так не кто не поможет написать скрипт?
Файлов pcf перепаковывать в ff с прогресбаром!
Автор: V2driver
Дата сообщения: 26.07.2010 19:19
ChanVS зайдите в тему про инно сетап, и непарьте мозги!
Автор: ChanVS
Дата сообщения: 27.07.2010 09:40
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!!!
В чем причина!

Автор: Profrager
Дата сообщения: 27.07.2010 14:19
ChanVS
ISDone тебе в помощь.
Автор: ChanVS
Дата сообщения: 28.07.2010 12:13
Скачал скрипт 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;
Автор: ChanVS
Дата сообщения: 29.07.2010 14:09
Кто подскажет "//Если путь неполный, то добавляем необходимые строчки"
Каки это строчки?

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-ом. (Трата время на переписывания и распаковку).
Кто-то поможет убрать?
Автор: Shegorat
Дата сообщения: 30.07.2010 06:13
ChanVS

Цитата:
Кто подскажет "//Если путь неполный, то добавляем необходимые строчки"
Каки это строчки?

При распаковке arc архивов берется путь распаковки текущего архива и добавляется к пути файла который сейчас распаковывается т.к путь файла неполный, пример "main\iw_00.iwd". При распаковке из Inno Setup сразу берется полный путь файла.

Цитата:
И еще Скрипт CoD WW FreeArc+isPrecomp у меня закработал, когда заархивировал FreeArc-ом файлы pcf.

Естественно. Cкрипт FreeArcExtract+ISPrecomp я писал, и isprecomp связывал с FreeArc'ом, потому что им чаще пользуются чем обычным сжатием инно. Вообще должна быть где-то новая версия FreeArcExtract+ISPrecomp я кому-то ее давал.

Цитата:
Но, я хочу убрать распаковка FreeArc-ом. (Трата время на переписывания и распаковку).
Кто-то поможет убрать?

А смысл? FreeArc чаще всего лучше пакует чем инно, скорее всего ты не умеешь им пользоваться. Но если уж сильно хочется, то кидай скрипт в тему Inno Setup и кто-нибудь тебе поможет. Только не надоедай там слишком частыми постами с этой просьбой.
Автор: ChanVS
Дата сообщения: 02.08.2010 09:25
Shegorat
Спасибо за помощь. Хороший скрипт.
Еще один вопрос.
Я запаковывал 3 файла с pcf (архив FreeArc ненаходил)
Запаковал все pcf где-то 74, то нашел и все ок. Это проверка архива?
И еще. У меня репак Cod MW и там только precomp, гно без прогреса.
Я хотел добавить pcf и прогресс.
Спасибо еще раз буду строить!

Добавлено:
Да забыл.
FreeArc хорош не спорю им паковал.
Я просто подогнал упаковку всех файлов в размер 4,5 Гб для болванки.
И мне сжатие сильное в данный момент не нужно. Дело в скорости установки!
Автор: rp0Mk0cTb
Дата сообщения: 02.08.2010 20:04
научите пользоваться rep'ом, а то я совсем с ним не в лодах
Автор: ChanVS
Дата сообщения: 05.08.2010 10:26
rp0Mk0cTb
скачай прогу с перепаковщики и ты поймешь, что они присуют.
http://krinkelsinc.googlecode.com/files/Packers%20Show%202.3.exe
Автор: LonerDergunov
Дата сообщения: 05.08.2010 17:27
Ээх, что-то подзабылось, давно не паковал.
Напомните, пожалуйста - влияет ли на качество работы в precompe и srepe объем оперативной памяти?

На одной машине 6 Гб, на второй - 2 Гб. Хотелось часть упаковки сделать на двухгиговой, а окончательно упаковать Freearcom уже на шестигиговой. Повлияет ли это на размер или precomp и srep на шестигиговой могут выдать лучший результат?
Автор: Bulat_Ziganshin
Дата сообщения: 05.08.2010 18:25
precomp использует всего 10 мб


Код: SuperREP 1.5: lz77 preprocessor that consumes only 2-3% of filesize for compression
May 11, 2010 homepage: http://freearc.org/research/SREP.aspx

Usage: SREP [options] infile outfile
infile/outfile may be denoted as "-" that means stdin/stdout
Options are:
-m1: check matches by SHA1 digest (compression memory = 6-7% of filesize)
-m2: check matches by rereading old data (compression memory = 2-3% of filesize)
-d: decompression (requires only 16 mb of memory besides of OS I/O buffers)
-delete: delete source file after successful (de)compression
-index=FILENAME: read/write index of compressed data into separate file
-l: minimum LZ match length, default 512
-s: print stats
Автор: lorents
Дата сообщения: 09.08.2010 10:56
Добрый день!
Помогите разобраться со следующими вопросами:
1. когда я обрабатываю файлы через Precomp или Rep (SRep) или Xdelta, получаю под каждый свой файл новый файл, можно получить один файл в который входят все файлы;
2. влияет ли степень сжатия на оперативную память при распаковке файлов, при условии что файлы были запакованы через Precomp;
3. Rep (SRep) используют определенное кол-во оперативное памяти при распаковке или как-то по другому;
4. Почему на сегодняшний день нет смысла использовать Xdelta (в FAQ написано что "на сегодня для таких случаев есть srep", выходит нет смысла использовать Xdelta);
5. влияет ли степень сжатия на оперативную память при распаковке файлов, при условии что файлы были запакованы через Xdelta;
6. можно ли превзойти/сравниться с NOSSO по степени сжатия, но при этом скорость и количество оперативной памяти при распаковке должны быть такие же или близки к NOSSO.
Автор: V2driver
Дата сообщения: 09.08.2010 11:03
lorents по поводу Xdelta, иногда без неё необойтсь!
Есть места где где реп, среп ничем непомогут.. а Xdelta спасает!
Автор: Profrager
Дата сообщения: 09.08.2010 15:19
lorents
1. Чтобы все файлы были в одном обычно применяют упаковку без сжатия в любой упаковщик, а потом уж обрабатывают прекомпом или срепом.
2. Если ты только про прекомп, то он при распаковке кушает всего несколько Мб оперативки.
3. Srep при распаковке требует чуть больше 16Мб оперативки, Rep - столько же, сколько задано было при сжатии.
4. Xdelta теперь только для патчей, среп довольно таки хорошо справляется с любыми совпадениями на любом расстоянии.
5. на счет XDelta не проверял, но думается, что для него требуется фиксированный небольшой объем оперативки.
6. впервые слышу о NOSSO
Автор: ndch
Дата сообщения: 09.08.2010 15:29
Обновился MP3packer - http://omion.dyndns.org/mp3packer/mp3packer-1.21.rar
Автор: lorents
Дата сообщения: 09.08.2010 16:09
Profrager
спасибо, что разъяснил мне интересующие моменты.


Цитата:
6. впервые слышу о NOSSO

Самый наглядный пример NOSSO это Adobe Reader например версии 9.3 (рекомендую скачать)
При запуске, идет распаковка фалов, куда помню. Я просто привык распаковывать Adobe Reader через FeadExtractor

А вот самое интересное
http://nanoflooder.narod.ru/acrord9.xls

V2driver
я кстати с этим и столкнулся

И еще один вопрос, ни кто не знает чем упакован Nero Multimedia Suite 10.0.13100 Trial?
Автор: egor23
Дата сообщения: 09.08.2010 18:18
lorents

Цитата:
И еще один вопрос, ни кто не знает чем упакован Nero Multimedia Suite 10.0.13100 Trial?

1. Препроцессор, что за препроцессор используется незнаю, вроде просто убираются одинаковае файлы.
2. После препроцессора дожимают LZMA:27
Автор: lorents
Дата сообщения: 09.08.2010 18:27
egor23
есть идея, что это InstallAware Setup Squeezer for InstallShield

Цитата:
2. После препроцессора дожимают LZMA:27

а что такое 27?
Автор: Pasha_ZZZ
Дата сообщения: 09.08.2010 18:33

Цитата:
а что такое 27?
Размер словаря - 128 МБ
Автор: lorents
Дата сообщения: 09.08.2010 18:45
Pasha_ZZZ

Цитата:
Размер словаря - 128 МБ

понял, спасибо

egor23 это точно InstallAware Setup Squeezer for InstallShield, спасибо Pasha_ZZZ
Автор: lorents
Дата сообщения: 10.08.2010 09:20
По-моему способ который взял Nero Multimedia Suite не много извращенский, все-таки распаковывать файл 2,66 гига многовато (правда потом он удаляет temp.htar - 1,06 гига, хотя за это спасибо). И мы получаем 1,6 гига в темр, и все он там и остается, и после установки Nero не удаляется автоматически.

И еще вернемся к NOSSO, есть идеи как его переплюнуть?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100

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


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