PSX Planet: SONY PlayStation Community

PSX Planet: SONY PlayStation Community (https://psxplanet.ru/forum/index.php)
-   Tech Support - Техническая поддержка (https://psxplanet.ru/forum/forumdisplay.php?f=8)
-   -   Альтернативный метод упаковки образов в 7-Zip (https://psxplanet.ru/forum/showthread.php?t=36796)

Aniskin 01.05.2020 09:06

Альтернативный метод упаковки образов в 7-Zip
 
Возможно, кому-либо пригодится или понравиться еще один эффективный способ упаковки образов дисков. Он основан на использовании сторонних плагинов для известного архиватора 7-Zip. Речь идет о плагине Iso7z. Плагин расширяет функциональность программы 7-Zip и позволяет открывать различные образы дисков как архивы и дополнительно содержит в себе специальный фильтр RawSplitter, заточенный конкретно под упаковку сырых образов дисков (поддерживается упаковка образоа в форматах CCD/IMG, CDI, CUE/BIN, GDI, MDS/MDF, NRG).

Принцип действия фильтра аналогичен принципу действия известной утилиты ECM – при упаковке удаляется служебная информация, которая может быть восстановлена при распаковке. За счет этого удаления можно сэкономить немало дискового пространства. Также фильтр разделяет на отдельные потоки дорожки с данными и аудиодорожки, что позволяет упаковывать эти потоки с оптимальными для них настройками сжатия.

Примеры:

Диск:
Размер: 299 373 194
Размер с новым методом упаковки: 223 477 207

Диск:
Размер: 403 107 901
Размер с новым методом упаковки: 312 856 400

Диск:
Размер: 379 361 177 + 380 540 643
Размер с новым методом упаковки: 321 602 872 + 322 550 662

Единственный видимый мною минус используемого метода – данный архив может быть распакован программой 7-Zip только при условии того, что в нее установлен плагин Iso7z. Также архив может быть распакован любой программой, поддерживающей установку сторонних плагинов для 7-Zip, например, FAR или Total Commander.

Как создавать такие архивы.

Использование нового фильтра чуть-чуть сложнее обычной упаковки в 7-Zip. Это связано с тем, что использование фильтра требует полноценного анализа упаковываемых файлов. И поэтому помимо установки плагина Iso7z требуется установка дополнительного плагина Smart7z. Именно Smart7z занимается анализом упаковываемых файлов. Т.е. для упаковки нужно установить два плагина: Iso7z и Smart7z (напомню, что для распаковки нужен только Iso7z).

Установка плагинов достаточно тривиальна. В папке, в которую установлена программа 7-Zip, необходимо создать папку Formats. После чего в созданную папку необходимо скопировать сами плагины (32 или 64 битные версии в зависимости от разрядности программы 7-Zip). Также нужно заменить файл Smart7z.ini следующим содержимым:

Код:

::SET %LZMA% LZMA:x9:mt2:d128M
::SET %LZMA2% LZMA:x9:mt1:d128M
::SET %PPMD% LZMA:x9:mt2:d128M
 
:Default: m0=LZMA:x9:d128m:mt1 s=4g
 
:RawSplitter-Audio: m0=RawSplitter m1=LZMA:x9:d128m:mt1 m2=Delta:4 m3=LZMA:x9:d128m:lc1:lp2:mt1 m4=LZMA:x9:d32m:fb273 mb0s0:1 mb0s1:2 mb2s0:3 mb0s2:4 s=4g
 
:RawSplitter: m0=RawSplitter m1=LZMA:x9:d128m:mt1 m2=LZMA:x9:d32m:fb273 mb0s0:1 mb0s2:2 s=4g
 
:sorting:

После этого можно попробовать упаковать образ диска новым способом. Для этого нужно выбрать файл или файлы с образом дисков и вызвать окно упаковки. Но вместо привычного формата 7z нужно выбирать формат Smart7z.

После нажатия на OK управление будет передано плагину Smart7z, который совместно с фильтром RawSplitter проанализирует упаковываемые файлы, выберет нужные кодеки (в соответствии с настройками файла Smart7z.ini) и создаст более компактный 7z файл. После упаковки не забудьте протестировать архив.

Важно! При упаковке образов, имеющих индексный файл (CCD/IMG, CUE/BIN, GDI, MDS/MDF) нужно упаковывать не только сами файлы образов, но и индексные файлы, что бы RawSplitter смог их проанализировать.

Если у кого-то есть вопросы – с удовольствием отвечу.

shamalama 01.05.2020 10:26

Ответ: Альтернативный метод упаковки образов в 7-Zip
 
Цитата:

Сообщение от Aniskin (Сообщение 262353)
данный архив может быть распакован программой 7-Zip только при условии того, что в нее установлен плагин Iso7z

- корень зла, который убивает все возможные плюсы. Это ещё один неюзерфрендли бесполезный костыль. Так мало способов архивации предлагаемых программой 7-Zip, которая и так у всех, что предполагаете "озаботить" простого человека +ещё одной лишней головной болью..

Aniskin 01.05.2020 11:10

Re: Ответ: Альтернативный метод упаковки образов в 7-Zip
 
Цитата:

Сообщение от shamalama (Сообщение 262354)
неюзерфрендли бесполезный костыль.

А что понимается под словом "неюзерфрендли" в контексте предложенного метода? Упаковка требует одиночной настройки окружения, в дальнейшем упаковка производится аналогично упаковке обычным способом, разница лишь в выборе метода упаковки в диалоге упаковки. Распаковка также требует лишь разовой настройки, после чего распаковка ничем не отличается от обычного извлечения файлов из архива.


Цитата:

Сообщение от shamalama (Сообщение 262354)
Так мало способов архивации предлагаемых программой 7-Zip, которая и так у всех, что предполагаете "озаботить" простого человека +ещё одной лишней головной болью..

Честно говоря, не понял фразы.



Я уже начинаю встречать в сети сборки 7-zip, в которые уже встроены Iso7z и другие мои плагины. Типа такой. Встречал сборки Total Commander, в который также уже встроены мои плагины. Потихоньку ареал их обитания расширяется.


В целом я абсолютно не настаиваю на использовании своего плагина. Если разница в 50-150 Мб не существенна, то заморачиваться действительно не стоит. С другой стороны, если 50-150 Мб не существенны, то зачем вообще паковать в 7z или rar и требовать от пользователя установки дополнительного ПО для его распаковки, в то время как есть zip формат, который поддерживается Windows из коробки и его поддержка есть практически в каждом утюге. Но если эта разница существенна, то установить один раз плагин на мой взгляд не является головной болью.

shamalama 01.05.2020 13:18

Ответ: Альтернативный метод упаковки образов в 7-Zip
 
имхо, всяческие "сборки" - зло.

сам факт того, что предлагается использовать "сборку" - это уже не юзерфрендли. Юзерфрендли - это когда тебе предлагается такой контент, который ты распаковываешь уже имеющимся у тебя инструментом, автоматически, не запариваясь поиском и установкой доп приблуд.

Aniskin 01.05.2020 13:26

Re: Ответ: Альтернативный метод упаковки образов в 7-Zip
 
Цитата:

Сообщение от shamalama (Сообщение 262370)
имхо, всяческие "сборки" - зло.

Я не говорил, что сборки есть чистое добро. Я констатировал факт того, что плагин потихоньку распространяется.

Цитата:

Сообщение от shamalama (Сообщение 262370)
Юзерфрендли - это когда тебе предлагается такой контент, который ты распаковываешь уже имеющимся у тебя инструментом, автоматически, не запариваясь поиском и установкой доп приблуд.

Я посмотрел и увидел, что все раздачи запакованы в 7z или rar. И мой вопрос - зачем вообще паковать в 7z или rar и требовать от пользователя установки дополнительного ПО для его распаковки, в то время как есть zip формат, который поддерживается Windows из коробки и его поддержка есть практически в каждом утюге.

shamalama 01.05.2020 13:51

Ответ: Re: Ответ: Альтернативный метод упаковки образов в 7-Zip
 
Aniskin, полностью поддерживаю, zip - очень удобный формат. В сети встречается всё больше ресурсов с архивами этого формата. Мне нравится то, что кроме изначальной поддержки виндой он ведёт правильный баланс между уровнем сжатия, размером архива, и временем сжатия/разжатия.
Просто есть образы, что очень хорошо жмутся(где мало графики и видео) - и вот их-то архивировать просто необходимо, чтобы не было мучительно больно из-за хранения пустоты. И zip в этом отношении подходит вообще идеально.

SILENT_P 01.05.2020 13:54

Re: Альтернативный метод упаковки образов в 7-Zip
 
Способ интересный для личного хранения. Для выкладывания на скачивание - не годится. У людей на этом сайте обычно проблемы возникает еще с распаковкой многотомных архивов это их полностью в тупик ставит. А тут еще необычный плагин-архиватор будет нужен не обьяснишь как его поставить.

как оказалось не все старые версии 7зип и винрар вообще совместимы с версиями 2020 года. На своих раздачах понял это. т.е. проблем и так достаточно

Aniskin 01.05.2020 14:06

Re: Альтернативный метод упаковки образов в 7-Zip
 
SILENT_P, если сервисы, на которые происходит выкладывание архивов, позволяют смотреть статистику скачиваний, то вы можете провести простой полевой эксперимент. Сделать два варианта архивов - классический и прогрессивный. Разумеется, для последнего указать, что требуется установка плагина. И через некоторое время посмотреть, что больше качают.


Но повторюсь, я не агитирую за обязательное использование плагина. Мне было интересно его реализовать, он и без упаковки достаточно функционален, в том числе может распаковывать и ECM диски. Я сообщил вашему комьюнити о наличии альтернативы, а уж использовать или игнорировать - личное дело каждого.

botik 01.05.2020 20:28

Ответ: Альтернативный метод упаковки образов в 7-Zip
 
Чтобы увеличить сжатие образа диска PSX в среднем на 15% достаточно в каждый сектор области кодов Рида-Соломона (0x818-0x930) прописать нули за исключением звуковых секторов и муз треков.На работоспособность образа диска не влияет.Прогу на python3 написал.Работает с BIN образами без треков.Мышкой зажать образ и перекинуть на <py> файл


Часовой пояс GMT +3, время: 16:54.

Перевод: zCarot
Права | Copyright ©
© PSX Planet Community 2003-2024