파일을위한 최고 압축 (웹 전송 용)?


14

700MB의 데이터를 약 30-50MB로 압축하는 등 일부 매우 압축 된 파일을 보았습니다.

그런 압축 파일을 어떻게 얻습니까? WinRAR 및 7Zip과 같은 소프트웨어를 사용해 보았지만 높은 압축률을 달성하지 못했습니다.

파일을 아주 잘 압축 할 수있게 해주는 기술 / 소프트웨어는 무엇입니까?

(저는 Windows XP를 사용하고 있습니다)


좋은 생각 ...하지만 어쨌든 그런 파일을 어디서 구합니까?
Robinicks

3
나는 원래 크기의 약 1 %까지 7zip 서버 로그 파일 (주로 텍스트)을 압축하는 것을 보았습니다.
Umber Ferrule

2
메모장을 엽니 다. 1 억 번 "A"를 입력하십시오. 저장하고 압축하십시오. 와우! 1 억 (실제) 난수를 파일에 쓰는 앱을 만듭니다. 그것을 압축하십시오. 허?
igrimpe

igrimpe : 많은 압축 알고리즘이 패턴을 색인합니다. 10 억 개의 A는 10 억 배입니다. 이것을 [A] {1, 1000000000}까지 압축 할 수 있습니다. 10 억 개의 난수가있는 경우 주어진 하위 집합의 각 연속 번호는 일치하는 하위 집합의 지수를 기하 급수적으로 감소시키기 때문에 패턴 일치를 수행하는 것이 어려워집니다.
AaronF

답변:


11

데이터를 압축하는 데 걸리는 시간이 문제가되지 않으면 몇 가지 다른 도구를 함께 사용하여 압축 된 크기를 최적화 할 수 있습니다.

7zip, winrar (zip 용) 및 bjwflate와 같은 다른 도구를 사용하여 데이터를 여러 번 압축합니다.

(이것은 zip 파일을 반복해서 압축하는 것이 아니라 다른 도구를 사용하여 여러 개의 다른 zip 파일을 만드는 것을 의미합니다)

다음으로 deflopt 각 아카이브를 조금씩 축소 할 수 있습니다.

마지막으로, 실행 지프 믹스 보관소 컬렉션에. zipmix는 서로 다른 파일에 대해 더 나은 파일을 제공하기 때문에 각 아카이브에서 각 파일의 가장 좋은 압축 버전을 선택하고 모든 zip 도구가 개별적으로 생성 할 수있는 출력보다 작은 출력을 생성합니다.

당신은 당신의 파일에 어떤 종류의 마법을 적용한다고 보장 할 수 없다는 점에주의해야합니다. 특정 유형의 데이터는 JPEG 및 MP3와 같이 단순히 압축되지 않습니다. 이러한 파일은 이미 내부적으로 압축되어 있습니다.


4
JPEG와 MP3는 압축되지 않습니다. 그들은 압축되었지만 압축되지 않았습니다.
KovBal

이것은 엄청난 조언이 아닙니다. 여러 개의 압축 알고리즘을 순차적으로 사용하려고하면 아주 나쁜 생각입니다. 각 알고리즘은 압축 파일 + 오버 헤드를 생성하므로 실제로 여러 번 사용하면 실제로 첨가 압축하려고하는 데이터에 대한 데이터 - 모래에 구멍을 파는 것 같으면 모래가 더 많이 쏟아져 들어갑니다. 최대 압축 설정에서 단일 알고리즘을 사용하는 것이 훨씬 낫습니다.
Tacroy

나는 당신이 오해하고 있다고 생각합니다. 동일한 데이터가 반복적으로 재 압축되지 않습니다. 오히려 아카이브 당보다는 파일 단위로 최상의 단일 알고리즘을 선택하는 것입니다.
izb

6
데이터를 여러 번 압축하십시오. 꽤 오도하는 것입니다.
ta.speot.is

12

이것은 전적으로 압축되는 데이터에 달려 있습니다.

텍스트는 매우 잘 압축되고 바이너리 형식은 좋지 않으며 압축 된 데이터 (mp3, jpg, mpeg)는 전혀 없습니다.

여기에 좋은 것이있다. 압축 비교표 위키 백과에서.


압축은 데이터 유형에 따라 다르다는 것을 알고 있지만 파일을 더 압축하는 데 도움이되는 특정 기술이 있습니까?
rzlines

3
일단 압축하면 측정 할 수 없을만큼 작아집니다. 데이터에 적절한 압축 방법을 선택하기 만하면됩니다.
Nifle

텍스트는 최대 90 %까지 쉽게 압축 할 수 있습니다.
Georg Schölly

@ GeorgSchölly : 훌륭합니다. 모든 데이터를 텍스트로 변환 할 수 있으므로 (예 : 각 이진 바이트를 텍스트로 표시된 두 개의 16 진수로 변환하십시오. 내 크기가 두 배가 되겠지만 이중 크기의 90 %를 절약하면 전체적으로 80 %가 절약됩니다. (또는 바이너리에서 텍스트로 변환하는 데 좀더 효율적인 base64를 사용할 수 있습니다.) 놀라운 소식입니다! :)
TOOGAM

7

이전 답변은 몇 배 잘못되었습니다!

개인적인 경험이있는 최상의 압축 알고리즘은 다음과 같습니다. paq8o10t (만나다 zpaq 페이지 PDF ).

힌트 : files_or_folders를 압축하는 명령은 다음과 같습니다.

paq8o10t -5 archive files_or_folders

Archive size vs. time to compress and extract 10 GB (79,431 files) to an external USB hard drive at default and maximum settings on a Dell Latitude E6510 laptop (Core i7 M620, 2+2 hyperthreads, 2.66 GHz, 4 GB, Ubuntu Linux, Wine 1.6). Data from 10 GB Benchmark (system 4).

출처: 증분 저널링 백업 유틸리티 및 아카이버

소스 코드의 미러를 볼 수 있습니다. GitHub .


약간 더 나은 압축 알고리즘 및 허터 상 , decomp8입니다 (상품 페이지의 링크 참조). 그러나 실제로 사용할 수있는 압축 프로그램이 없습니다.


에 대한 정말 대용량 파일 lrzip 간단히 압축률을 얻을 수 있습니다. 코믹한 .

README.benchmarks의 예 :


6 개의 커널 트리를 하나의 버전으로 나누어 타르 볼 (tarball)   linux-2.6.31에서 linux-2.6.36으로. 이것들은 많은 중복을 보여줄 것입니다.   정보,하지만 수백 메가 바이트 떨어져, lrzip은 매우   압축하는 것이 좋다. 단순화를 위해, 이후 7z 만 비교할 것입니다.   그것은 지금까지 최고의 범용 압축기입니다.

이 벤치 마크는 2.53Ghz 듀얼 코어 Intel Core2에서   lrzip v0.5.1을 사용하는 4GB 램. 32 비트로 실행 중임을 참고하십시오.   userspace 그래서 2GB 주소 지정 만 가능했습니다. 그러나 벤치 마크   -U 옵션을 사용하여 실행하면 전체 파일을 다음과 같이 처리 할 수 ​​있습니다.   하나의 큰 압축 창.

6 개의 연속적인 커널 트리의 Tarball.

Compression    Size                 Percentage      Compress    Decompress
None           2373713920           100             [n/a]       [n/a]
7z             344088002            14.5            17m26s      1m22s
lrzip          104874109            4.4             11m37s      56s
lrzip -l       223130711            9.4             05m21s      1m01s
lrzip -U       73356070             3.1             08m53s      43s
lrzip -Ul      158851141            6.7             04m31s      35s
lrzip -Uz      62614573             2.6             24m42s      25m30s

최대 압축 비율을 제공하기 위해 최적화되었지만 경쟁자보다 훨씬 느립니다.
Eric J.

1
@ Eric J. 예. 그러나 질문은 압축 / 압축 해제의 속도를 지정하지 않았습니다.)
Alexander Riccio

3

Squeezechart.com 다양한 압축률의 비교를 포함합니다. Nifle의 답변에 따르면, 바이너리 형식에 대해 높은 압축률을 얻지는 않습니다.


2

대부분의 압축 도구에는 느린 압축 / 압축 해제 시간과 더 많은 RAM 사용량을 절충하면서 높은 압축률을 얻을 수있는 설정이 있습니다.

7-Zip의 경우, 자세한 내용은 내장 도움말에서 "Add to Archive 대화 상자"를 검색하십시오.


2

다음 울트라 설정으로 7zip을 시도 할 수 있습니다.

7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on big_file.mysql.7z big_file.mysql

2

그냥 여러 파일 압축 벤치 마크 테스트 요약 어느 것이 최상의 압축 목록 완전한 압축 벤치 마크로 구성됩니다.

상위 30 위

enter image description here

이 테스트에서 최고 성능 (압축 기준)은 PAQ8 및 WinRK (PWCM)입니다. 그들은 300Mb 테스트 세트를 62Mb (80 % 크기 축소) 이하로 압축 할 수 있지만 테스트를 완료하는 데 최소 8,5 시간이 걸릴 수 있습니다. 숫자 1 프로그램 (PAQ8P)은 테스트를 완료하는 데 약 12 ​​시간과 4 시간 (PAQAR)의 시간이 소요됩니다. WinRK, 2 차 압축률이 가장 높은 프로그램 (79.7 %)은 약 8,5 시간이 걸립니다. 당연히 언급 된 모든 프로그램은 압축을 위해 PAQ (유사) 엔진을 사용합니다. 이미지가 포함 된 파일 (예 : Word DOC 파일)에 PAQ8을 사용하면 파일을 인식하고 별도로 압축하여 압축률을 크게 높입니다. 언급 된 모든 프로그램 (WinRK 제외)은 무료입니다.


1

여기에 최선의 방법은 시행 착오 인 것 같습니다. 각 파일에 대해 사용 가능한 모든 압축 기술을 시험해보고 웹 사이트에 올릴 수있는 최상의 것을 선택하십시오. 다행히도 컴퓨터는 이런 종류의 작업을 매우 빠르게 처리하며 지루하지 않습니다. 프로세스를 자동화하는 간단한 스크립트를 작성하여 "비교적 고통스럽지 않게"작성할 수 있습니다.

기적을 기대하지 마십시오. 700MB에서 30MB로 떨어지는 것은 그렇게 자주 발생하지 않습니다. 위에서 언급 한대로 로그 파일 - 예. "평범한 파일"- 절대로.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.