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

Статус
В этой теме нельзя размещать новые ответы.

MMR

Новичок
please any one help me :


i use freearc file that compressed by srep+precomp the file extracted successful but their is no remaining time please solve it with English language ;
here is the script : http://rghost.net/43782540
 

lorents

Мимокрокодил
Добрый вечер!
Помогите, пожалуйста, разобраться в сжатии GIF. Есть одно изображение, которое сжато очень сильно, и я не могу понять как?

original gif
- 3 044 271
ImageMagic (convert -compress LZW) - 3 590 299 (+18%)
gifsicle -O3 - 4 023 688 (+32%)

Есть и другие изображения такого типа, но это с самой большой разницей.
Возникает вопрос, с помощью какой программы создан GIF?
 

Carlos

Участник
Модератор
Столкнулся с такой проблемой:
Пакую фриарком с параметрами: precs+exe+...............lzma:128mb:max, пакутеся на ура, долго, но очень эффективно.
Но инстал не распаковывает, ссылаясь на то, что не знает параметр precomp042 -t-j
чем может быть вызвана ошибка?
 

vint56

Ветеран
Проверенный
Carlos если ты пытаешся распаковать через исдон ты указал версию precomp "0.42" для распаковки
 

Carlos

Участник
Модератор
vint56 precomp "0.42"по дефолту выбран исданом.
Т.е. как только начинается распаковка, инстал показывает первый файл из архива, но вылазит ошибка с precomp042.

Но в строке из главного скрипта у меня прописано:
#define facompress
#define PrecompInside
#define precomp "0.38"
#define unrar
ну и скрипт исдана дефолтный
 

Mailchik

Старожил
Проверенный
precomp "0.42"по дефолту выбран исданом.
Т.е. как только начинается распаковка, инстал показывает первый файл из архива, но вылазит ошибка с precomp042.
Но в строке из главного скрипта у меня прописано: #define precomp "0.38"
Вам же 0.42 нужен - так пропишите #define precomp "0.42"
 

vint56

Ветеран
Проверенный
Mailchik если сжимать через последнюю версию фриарка все ровно если даже раскомментировать #define precomp "0.42" будет ошибка не известный метод сжатия
я смог распаковать только когда еще добавил arc.ini и то распаковка шла как и время но Процесс бар стоял на месте

Но если делать через Батник то все нормально работает precomp "0.42 и процесс бар идёт нормально
 
Последнее редактирование:

Carlos

Участник
Модератор
Вернусь к своему вопросу: как мне прописать распаковку через батник в исдон?
я смог распаковать только когда еще добавил arc.ini и то распаковка шла как и время но Процесс бар стоял на месте
Но если делать через Батник то все нормально работает precomp "0.42 и процесс бар идёт нормально
Обращаюсь к vint56. тот пример, который вы мне присылали, как его с исдоном совместить?

из справки я понял, что сюда: if not ISExec ( 0, 0, 0, ExpandConstant('{tmp}\Arc.exe'), ExpandConstant('x -o+ "{src}\001.arc" "{app}\"'), ExpandConstant('{tmp}'), '...',false) then break;

Помогите пожалуйста.
 

Snoopak96

Старожил
Carlos,
Код:
        if not ISExec( 0, 0, 0, ExpandConstant('{tmp}\unarc.exe'), ExpandConstant('x -o+ -cfg"{tmp}\arc.ini" -w"{app}" -pPassword  -dp"{app}" "{src}\Data01.dat"'), ExpandConstant('{tmp}'), '...',false) then break;
 

vint56

Ветеран
Проверенный
Carlos пример который я тебе прислал
только в начале скрипта раскаментируй эти строчки
#define PrecompInside
#define SrepInside
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data-A.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data-A.bin'), ExpandConstant('{app}'), '', false, 'пороль', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
Snoopak96 дал тебе пример распаковки архивов если ты будеш использовать своё сжатие вот этим пример его распакует
 

Carlos

Участник
Модератор
Попробую написать так, чтобы было понятно, что я делаю не так. И заодно пару вопросов задам.

Пример от Snoopak96:
Пример оказался именно тем, о чём я говорил. Распаковка идёт на ура с теми параметрами, которые мне нужны. За что ему отдельное спасибо!

НО при распаковке, распаковываются только папки. Причём пустые. ( Допустим в папке "1" есть файл "2" и "3", так вот распаковывается только папка "1" и она пустая (без файлов "2" и "3"). И так со всеми папками.

Как это исправить?
 

Mailchik

Старожил
Проверенный
НО при распаковке, распаковываются только папки. Причём пустые. ( Допустим в папке "1" есть файл "2" и "3", так вот распаковывается только папка "1" и она пустая (без файлов "2" и "3"). И так со всеми папками.
потому, что информация о внешних компрессорах\препроцессорах берется из arc.ini, который должен находиться в темпе и видимо его там нет, или нет информации о нужном компрессоре\препроцессоре.. можно долго гадать, а можно использовать готовые решения - Precomp\Srep Inside или же функции из ISDone'а соответственно для Precomp\Srep.
 

Carlos

Участник
Модератор
Mailchik кое что поменял, возникла другая проблема: та папка, которая распаковывалась пустой теперь распаковывается нормально, а папка, распаковывшаяся нормально - теперь пуста, что нужно теперь поменять????!!!
 

vint56

Ветеран
Проверенный
Carlos ты хоть покажи свой параметр для сжатия только полный а не огрызок чтобы тебе подсказали что тебе не хватает а то что гадать
 

Carlos

Участник
Модератор
Snoopak96, Не мог ли ты расписать, что значат:
-w"{app}" и -dp"{app}" ?
 

Carlos

Участник
Модератор
vint56, параметры сжатия взяты с этого сайта и с руборда


и во всех ошибка precomp.exe -t-j и т.д. (если распаковывать через if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data-A.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;)


Вообщем в результате манипуляций всё стало на свои места. Всё распаковывается как надо. Все файлы на месте!
Но если устанавливать в одну папку, например:
data1.arc в {app}\Game и
data2.arc в {app}\Game то распаковывается только один архив.

если же распаковывать
data1.arc в {app}\Game и
data2.arc в {app}\Game\Bin то распаковывается всё нормально.

Но это может быть не совсем удобным из-за количества файлов
 
Последнее редактирование:

vint56

Ветеран
Проверенный
Carlos вот его используй главное чтобы у тебя было 4 гига если нету то уменьши d200m и не нужно больше тебе не чего
-mprecomp+srep:m3f:a1:l256+lzma:a1:mfbt4:d200m:fb128:mc1000:lc8
#define PrecompInside
#define SrepInside
этот пример без пороля на архив
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data-A.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
этот с паролем и плюс arc.ini
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data-A.bin'), ExpandConstant('{app}'), '', false, 'пороль', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then

А насчет w"{app}" и -dp"{app}" ? прочитай справку
 

Snoopak96

Старожил
Carlos,
Папку так распаковывать:
Код:
        if not ISExec( 0, 0, 0, ExpandConstant('{tmp}\unarc.exe'), ExpandConstant('x -o+ -cfg"{tmp}\arc.ini" -w"{app}" -pPassword -ap"Папка" -dp"{app}" "{src}\Data01.dat"'), ExpandConstant('{tmp}'), '...',false) then break;
-w"{app}" - временные файлы
-ap"Папка" - папка внутри архива
-dp"{app}" - куда распаковывать
 

Carlos

Участник
Модератор
vint56, если использовать то, что вы мне посоветовали, то вылазиют ошибки типа: not an srep compressed files, archive data corrupted
arc.ini наверно не там находится ?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху