¿Cómo comprimir archivos de forma rápida y eficaz?

¿Cómo comprimir archivos de forma rápida y eficaz?

Tengo una carpeta que contiene varios videos que quiero comprimir para poder compartirla con alguien que tenga una conexión a Internet inestable. Lo intenté7z, gzip, alquitrán, lzma, xzy muchos más para compresión, pero solo proporcionan una reducción de tamaño de 20 a 30 MB. Intenté usarlo ffmpegpara comprimir y volver a codificar videos, pero es muy lento.

También intenté comprimir un.Yo asiarchivo, pero los resultados fueron los mismos.

Entiendo que hay muchas cosas relacionadas con la compresión, pero ¿cuál debería ser un enfoque simple para minimizar el tamaño del archivo? Se prefieren las herramientas de línea de comandos de Linux.

Respuesta1

Depende de lo que quieras comprimir.

Si el archivo de vídeo en cuestión ya está en formato comprimido, probablemente no haya nada más que pueda hacer salvo volver a codificarlo a una velocidad de datos más baja (reduciendo la resolución del vídeo o reduciendo la velocidad de kbps del audio). Nuevamente, mencionaste que la recodificación es demasiado lenta, por lo que probablemente no sea una opción.

Los algoritmos de compresión dependen en gran medida de secuencias repetitivas de datos. Un esquema común implica construir un diccionario para acortar secuencias repetitivas.

Por ejemplo, considere la cadena "eabcdabcdabcd".

Eso se puede comprimir estableciendo una regla de diccionario "f = abcd", y luego representando la cadena como "efff".

Consideremos ahora la cadena "abcdefghijkl".

No hay secuencias repetidas, por lo que es imposible comprimir con un enfoque de diccionario.

A los formatos de archivos comprimidos ya se les han eliminado muchas repeticiones; por lo tanto, comprimirlos más probablemente no producirá más beneficios. En algunos casos, comprimir un archivo comprimido puede aumentar su tamaño (un fenómeno bien conocido con el formato ZIP).

Respuesta2

Comprimir imágenes y videos es "más complicado" que comprimir, por ejemplo, archivos de texto porque los métodos de compresión regulares como zip, etc. no le darán un resultado muy bueno, como usted mismo notó (el comentario del usuario1258361 le brinda un poco de información aquí).

Yo sugeriría reducir la resolución, esto es simple y le dará una reducción significativa en el tamaño, pero el lado negativo reducirá la calidad de las imágenes y videos. Existen varias herramientas para reducir la resolución a través de una CLI (interfaz de línea de comando) y esta pregunta se ha formulado muchas veces, por ejemploeste para imagenes. Simplemente inicie una búsqueda y pruébelo; si tiene problemas específicos, puede hacer una (otra) pregunta. Nota: dependiendo de su HW, esto puede no ser muy rápido (pero tampoco lo son los algoritmos de compresión "buenos", cuanto más compresión, más cálculos deben realizarse, en términos sencillos).

Comprimir sin pérdida (significativa) de calidad es más complicado porque elegir el método de compresión depende del contenido de la imagen/vídeo con respecto a sus requisitos de calidad. Deberá volver a codificar sus archivos con un formato de compresión diferente. Hay algunoscompresiones sin pérdidaspero probablemente no le darán resultados suficientes. Que yo sepa, no hay una respuesta general aquí.

PD. Las sugerencias de software están fuera del alcance aquí en superusuario.

información relacionada