SuperComprimir mas que con 7zip ultra

por PCSencilla , en miércoles, abril 10, 2013


Con este tutorial, les voy a mostrar como comprimir mas allá de 7zip ultra, pero en realidad, mas alla de lo que cualquier programa de compresión podría por si solo.

Para lograr este objetivo usaremos 2 programas (ademas del compresor a tu elección).

Estos programas son SREP y PRECOMP.

¿Que hacen estos programas?

Son totalmente diferentes y hacen cosas totalmente paralelas asi que preguntemos por separado.

¿Que hace SREP?

SREP es un eliminador de redundancias. Es capaz de eliminar redundancias en archivos hasta 20 veces mas grandes que la memoria ram disponible del sistema.

¿Que significa esto?

Significa que si hay informacion repetida dentro de un archivo, luego de usar el srep la informacion repetida se guarda una sola vez.

Dependiendo de la cantidad de informacion repetida (y cuantas veces esta repetida) el tamaño del archivo luego pasarle el SREP puede llegar a ser dramáticamente menor.

(nota: muchos compresores ya hacen esto de por si, como 7zip y winrar, el tema es que no son tan eficientes como srep, no solo no son tan eficientes, sino que son MUY inferiores al hacer esta eliminacion de informacion redundante)

Entonces aplicar SREP a nuestra compresión, antes del winrar o 7zip, nos permite conseguir un archivo mas chico al final, ya que la informacion repetida en el archivo, se guarda una sola vez.

Pero este no es el unico truco que tenemos. Tambien tenemos a PRECOMP.

¿Que hace PRECOMP?
PRECOMP es por PRECOMPressor, en español PRECOMPresor.

Precomprimir es hacer algun proceso que aumente la compresion (sea de winrar, 7zip o lo que sea) que hagamos despues.

Este programa, PRECOMP, lo hace descomprimiendo informacion ya comprimida dentro del archivo.

Es un prinicipio basico de la compresion, que informacion comprimida, ya no se puede comprimir.
Pueden probarlo. Comprimian algo ya sea con winrar o 7zip con la maxima compresion. Luego compriman ese algo con la menor compresion y el archivo que obtengan comprimanlo con la maxima compresion. Comparen el tamaño del archivo comprimido con la maxima compresion de una, y el otro que lo comprimieron con la menor compresion primero.
El primero sera siempre mas chico que el segundo.

PRECOMP busca evitar eso.
Ejemplos de archivos que llevan informacion comprimida hay muchos, un ejemplo son los pdf.
Pasarle el PRECOMP a un pdf antes de comprimirlo nos permitira mayor compresion al sacar la baja compresion que tienen por defecto y puediendo pasarle por ejemplo un 7zip ultra despues de eso.

Notese que los archivos que devuelve precomp son practicamente siempre mas grandes que el archivo de entrada.

(nota: que precomp no pueda descomprimir un archivo no significa que no este comprimido, precomp soporta ciertos formatos y algoritmos de compresion pero tiene sus limites. si sabes que un archivo esta comprimido pero precomp no te devuelve un archivo mas grande, puedes investigar sobre su formato y posiblemente descomprimirlo con otra herramienta)

Vamos a la practica ¿como uso PRECOMP y SREP para aumentar la compresion de mis archivos?
Primero que nada, como con cualquier programa, tenes que tenerlo, asi que aqui van links para bajarlos.

La pagina del srep es:

http://freearc.org/research/SREP.aspx

La pagina del precomp es:

http://schnaader.info/precomp.php

Aca les dejo la ultima version de los 2 programas a la fecha de este post:

http://www.mediafire.com/download.php?f28gbuwc8xajm3q

si quieren asegurarse de tener la ultima version, en especial si leen este post mucho despues del momento en el que lo posteo, les recomiendo ir a sus paginas y bajarse la ultima version.

Ahora que tenemos los programas, ya podemos usarlos.

Ambos programas funcionan desde linea de comandos.

Imaginen que lo que queremos comprimir es el Just Cause 2 (es lo que tengo a mano para mostrarles)


Como ven, para mostrarles y luego para comparar con el resultado de esta guia, ahi puse el Just Cause 2 de 3 maneras.

En un ZIP sin compresion donde se ve que el juego pesa aproximadamente 4gb, en un rar con maxima compresion que pesa 2.93gb y en un 7zip con ultra compresion que pesa 2.81gb.

Como el PRECOMP y el SREP necesitan como entrada un unico archivo, el ZIP sin compresion del juego es lo que vamos a usar.
Siempre que lo que quieran comprimir sea de mas de un archivo, van a querer ponerlo en un zip sin compresion como yo hize en este caso (lo hacen facilmente con el winrar, le dan “añadir a archivo” y seleccionan ZIP y Sin Compresion), para pasarle el PRECOMP y el SREP a todo junto, hacerlo con todo junto da potencialmente mayor compresion que hacercelo a cada archivo por separado.

Lo siguiente que hacemos es pegar el srep.exe y precomp.exe en la carpeta donde tenemos el ZIP.


Ahora algo que aprendi hace poco y facilita la vida: mantengan apretado SHIFT (la tecla que esta abajo de bloq mayus) y hagan click derecho en el fondo blanco de la carpeta y les aparecera una opcion que no aparece a menos que mantengan apretado SHIFT la cual es “Abrir ventana de comandos aqui”


Entonces ponen eso y les salta la ventana de comandos con la carpeta esta seleccionada.
Ahora que estamos aqui vamos a aplicar PRECOMP primero (luego aplicaremos SREP)
(nota: es recomendable pasar PRECOMP antes de SREP siempre)
Para pasarle el precomp a nuestro archivo escribimos:
precomp -cn -intense “[nombredelarchivo.extension]”
donde claramente no escriben [nombredelarchivo.extension] sino el nombre completo del archivo con su extension (nunca sobra aclarar)

En este caso:
precomp -cn -intense “Just Cause 2.zip”
Y damos enter y esperamos, dependiendo del tamaño del archivo puede tardar mucho, horas posiblemente.

(aqui ven que di enter y el precomp empezo a trabajar, tambien ven que se generan unos archivos temporales extraños en la carpeta... simplemente ignorenlos, y esperen que el precomp haga su magia)


Como aqui ven, precomp termino y me devolvio “Just Cause 2.pcf” que pesa 7.10GB comparado con nuestro ZIP sin comprimir que pesaba 3.95GB, claramente esto significa que PRECOMP descomprimio datos del archivo, y ahora podremos aplicarle una mejor compresion como por ejemplo 7zip ultra, lo que nos dara mayor compresion.

(nota: Si el archivo que precomp devuelve pesa lo mismo (o muy parecido) al de entrada, quiere decir que no ganan nada con el pcf.
Pueden borrarlo en este caso y seguir la guia aplicandole SREP al archivo original. Yo voy a seguir con mi “just cause 2.pcf” porque efectivamente me va a permitir mayor compresion.)

Ahora aplicaremos SREP a nuestro archivo, en la misma ventana de comandos, escribiendo:
srep -m3f -a1 ”[nombredelarchivo.extension]”
donde claramente no escriben [nombredelarchivo.extension] sino el nombre completo del archivo con su extension (nunca sobra aclarar)

En este caso:
srep -m3f -a1 “Just Cause 2.pcf”


(escribi lo que les dije y puse enter, como ven, SREP empieza a trabajar en el archivo, ahora hay que esperar, igual esto generalmente no tarda mucho)


o escriben (si solo les sirvio precomp):

precomp -r “[nombredelarchivooriginal].pcf”
del “[nombredelarchivooriginal].pcf”
del “precomp.exe”
del “setup.cmd”

o sino (si solo les sirvio srep):

srep “[nombredelarchivooriginal].srep”
del “[nombredelarchivooriginal].srep”
del “srep.exe”
del ”descomprimir.cmd”

Donde [nombredelarchivooriginal] blablabla ya lo saben a esta altura.

Y salvan el archivo. A mi me quedo en este caso:

srep “Just Cause 2.pcf.srep”
del “Just Cause 2.pcf.srep”
del “srep.exe”
precomp -r “Just Cause 2.pcf”
del “Just Cause 2.pcf”
del “precomp.exe”
del ”descomprimir.cmd”

Esto hace que para sacarle el srep y el precomp al archivo que estamos comprimiendo, sea tan simple como darle doble click al “descomprimir.cmd” y esperar.
Entonces alguien lo unico que tendra que hacer es descomprimir el rar o 7z que creemos y hacer doble click en “descomprimir.cmd” y reconseguira el archivo original que estamos comprimiendo.

Ahora que tenemos eso listo, ya podemos comprimir.
Comprimimos con el mejor compresor que tengamos y comprimimos los archivos del SREP el PRECOMP, el descomprimir.cmd y nuestro archivo.srep o nuestro archivo.pcf o nuestro archivo.pcf.srep dependiendo de que fue lo que nos sirvio.




(aca ven como meti a comprimir con maxima compresion en Winrar, para hacerlo con 7zip o similares, es muy parecido, asi que no lo voy a mostrar, si bien lo voy a hacer)

Finalmente, luego que termino de comprimir todo, veamos cuanto sirvieron el srep y el precomp:


-El Just Cause 2 sin comprimir 3.95GB
-El Just Cause 2 rar maxima compresion 2.93GB
-El Just Cause 2 7zip ultra 2.81GB
-El Just Cause 2 precomp+srep+winrar maxima compresion 1.15GB
-El Just Cause 2 precomp+srep+7zip ultra 1.06GB

Como pueden ver, usar precomp y srep, en este caso, nos permitio conseguir un archivo de casi 1/3 del tamaño que conseguimos si no los usamos.
Esta es realmente una supercompresion.

Recuerden, no siempre aplicar precomp y/o srep les permite una mayor compresion, pero cuando lo hace, vale la pena.
SuperComprimir mas que con 7zip ultra
Sobre el articulo
SuperComprimir mas que con 7zip ultra - escrito por PCSencilla , publicado el miércoles, abril 10, 2013, categorizado en tutoriales

0 Comments