การบีบอัดไฟล์สูงสุด (สำหรับการถ่ายโอนเว็บ)?


14

ฉันได้เห็นไฟล์ที่ถูกบีบอัดอย่างสูงเช่นไฟล์บีบอัดข้อมูลขนาด 700MB ถึงประมาณ 30-50MB

แต่คุณจะได้ไฟล์บีบอัดเช่นนั้นได้อย่างไร ฉันได้ลองใช้ซอฟต์แวร์อย่าง WinRAR และ 7Zip แต่ไม่เคยประสบความสำเร็จในการบีบอัดข้อมูลสูง

เทคนิค / ซอฟต์แวร์ใดบ้างที่อนุญาตให้คุณบีบอัดไฟล์ได้ดี

(PS ฉันใช้ Windows XP)


เป็นความคิดที่ดี ... แต่คุณจะได้รับไฟล์ดังกล่าวจากไหน?
Robinicks

3
ฉันเห็นไฟล์บันทึกการบีบอัดเซิร์ฟเวอร์ 7zip (ข้อความส่วนใหญ่) ลดลงเหลือประมาณ 1% ของขนาดดั้งเดิม
Umber Ferrule

2
เปิด Notepad พิมพ์ 1 พันล้านครั้ง "A" บันทึกจากนั้นบีบอัด ว้าว! สร้างแอปที่เขียนตัวเลขสุ่ม 1 พันล้าน (จริง) ไปยังไฟล์ บีบอัดที่ ฮะ?
igrimpe

igrimpe: รูปแบบดัชนีอัลกอริทึมการบีบอัดจำนวนมาก หนึ่งพันล้านเอคือหนึ่งพันล้านครั้ง คุณสามารถบีบอัดข้อมูลนั้นเป็น [A] {1, 1000000000} หากคุณมีตัวเลขสุ่มเป็นพันล้านมันเป็นการยากที่จะทำการจับคู่รูปแบบเนื่องจากแต่ละหมายเลขติดต่อกันในชุดย่อยที่กำหนดจะลดความน่าจะเป็นของชุดย่อยที่ตรงกันเป็นทวีคูณ
AaronF

คำตอบ:


11

หากเวลาที่ใช้ในการบีบอัดข้อมูลไม่ใช่ปัญหาคุณสามารถปรับขนาดการบีบอัดให้เหมาะสมโดยใช้เครื่องมือต่าง ๆ เข้าด้วยกัน

บีบอัดข้อมูลหลาย ๆ ครั้งโดยใช้เครื่องมือต่าง ๆ เช่น 7zip, winrar (สำหรับ zip) และ bjwflate

(โปรดทราบว่านี่ไม่ได้หมายถึงการบีบอัดไฟล์ zip ซ้ำไปซ้ำมา แต่สร้างไฟล์ zip ทางเลือกขึ้นมาหลาย ๆ อันโดยใช้เครื่องมือต่าง ๆ )

จากนั้นเรียกใช้defloptในแต่ละไฟล์เก็บถาวรเพื่อลดจำนวนไฟล์เก็บถาวรอีกเล็กน้อย

ในที่สุดให้เรียกใช้zipmixบนคอลเล็กชันคลังข้อมูล เนื่องจากเครื่องมือ zip ที่แตกต่างกันจะดีกว่าในไฟล์ที่แตกต่างกัน 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: ยอดเยี่ยม เพราะฉันสามารถแปลงข้อมูลใด ๆ ให้เป็นข้อความได้เช่นแปลงไบนารีไบนารี่แต่ละตัวเป็นเลขฐานสิบหกสองหลักที่แสดงเป็นข้อความ นั่นจะเพิ่มขนาดของฉันเป็นสองเท่า แต่จากนั้นการประหยัด 90% ของขนาดที่เพิ่มเป็นสองเท่าจะทำให้ประหยัดได้โดยรวม 80% (หรือฉันสามารถใช้ base64 เพื่อเพิ่มประสิทธิภาพบิตในการแปลงข้อความเป็นไบนารีได้) นี่เป็นข่าวดีอย่างน่าประหลาดใจ! :)
TOOGAM

8

คำตอบก่อนหน้านี้ผิดโดยลำดับความสำคัญ!

อัลกอริทึมการบีบอัดที่ดีที่สุดที่ฉันมีประสบการณ์ส่วนตัวคือpaq8o10t (ดูหน้าzpaqและPDF )

คำแนะนำ: คำสั่งในการบีบอัด files_or_folders จะเป็นเช่น:

paq8o10t -5 archive files_or_folders

ขนาดเก็บเทียบกับเวลาในการบีบอัดและแยก 10 GB (79,431 ไฟล์) ไปยังฮาร์ดไดรฟ์ USB ภายนอกตามค่าเริ่มต้นและการตั้งค่าสูงสุดบนแล็ปท็อป Dell Latitude E6510 (คอร์ i7 i7 M620, 2 + 2 hyperthreads 2.66 GHz, 4 GB, Ubuntu Linux ไวน์ 1.6)  ข้อมูลจากเกณฑ์มาตรฐาน 10 GB (ระบบ 4)

ที่มา: ยูทิลิตี้การสำรองข้อมูลเจอร์นัลที่เพิ่มขึ้นและ Archiver

คุณสามารถค้นหากระจกของรหัสที่มาบนGitHub


อัลกอริธึมการบีบอัดที่ดีกว่าเล็กน้อยและผู้ชนะของHutter Prizeคือ decomp8 (ดูลิงค์ในหน้ารางวัล) อย่างไรก็ตามไม่มีโปรแกรมคอมเพรสเซอร์ที่คุณสามารถใช้งานได้จริง


สำหรับจริงๆไฟล์ขนาดใหญ่lrzipสามารถบรรลุอัตราส่วนการบีบอัดที่มีเพียงแค่ตลก

ตัวอย่างจาก README.benchmarks:


ลองแยกเคอร์เนลต้นไม้หกต้นออกจากกันหนึ่งรุ่นเป็น tarball, linux-2.6.31 to linux-2.6.36 สิ่งเหล่านี้จะแสดงข้อมูลซ้ำซ้อนมากมาย แต่หลายร้อยเมกะไบต์แยกกันซึ่ง lrzip จะดีมากในการบีบอัด เพื่อความเรียบง่ายจะมีการเปรียบเทียบ 7z เท่านั้นเนื่องจากคอมเพรสเซอร์แบบอเนกประสงค์ที่ดีที่สุดในขณะนี้:

สิ่งเหล่านี้เป็นมาตรฐานในการทำงานกับ Intel Core2 ดูอัลคอร์ 2.53Ghz ที่มี 4GB ram โดยใช้ lrzip v0.5.1 โปรดทราบว่ามันกำลังทำงานกับ userspace 32 บิตดังนั้นที่อยู่ 2GB เท่านั้นที่เป็นไปได้ อย่างไรก็ตามเบนช์มาร์กทำงานด้วยตัวเลือก -U เพื่อให้ถือว่าไฟล์ทั้งหมดเป็นหน้าต่างการบีบอัดขนาดใหญ่

Tarball เคอร์เนล 6 ต้นติดต่อกัน

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.

2
@Eric J. ใช่ แต่คำถามไม่ได้ระบุความเร็วในการบีบอัด / คลายการบีบอัด)
Alexander Riccio

3

Squeezechart.comมีการเปรียบเทียบอัตราการบีบอัดต่างๆ แม้ว่าตามที่ระบุไว้โดยคำตอบของ Nifle - คุณไม่น่าจะได้รับอัตราการบีบอัดสูงเช่นนี้สำหรับรูปแบบไบนารี


2

เครื่องมือบีบอัดส่วนใหญ่มีการตั้งค่าเพื่อให้คุณได้อัตราการบีบอัดที่สูงขึ้นโดยลดเวลาการบีบอัด / คลายการบีบอัดและการใช้ RAM ให้ช้าลง

สำหรับ 7-Zip ให้ค้นหา "เพิ่มลงในกล่องโต้ตอบไดอะล็อกบ็อกซ์" ในวิธีใช้เพื่อดูรายละเอียดเพิ่มเติม


2

คุณอาจลอง 7zip ด้วยการตั้งค่าพิเศษต่อไปนี้:

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

2

เพียงตรวจสอบสรุปการทดสอบเกณฑ์มาตรฐานการบีบอัดไฟล์หลายไฟล์ซึ่งมีรายการการบีบอัดที่ดีที่สุดซึ่งประกอบด้วยเกณฑ์การบีบอัดข้อมูลแบบสมบูรณ์

30 อันดับสูงสุด

ป้อนคำอธิบายรูปภาพที่นี่

นักแสดงยอดนิยม (ขึ้นอยู่กับการบีบอัด) ในการทดสอบนี้คือ PAQ8 และ WinRK (PWCM) พวกเขาสามารถบีบอัดชุดทดสอบ 300+ Mb ให้ต่ำกว่า 62 Mb (ลดขนาด 80%) แต่ใช้เวลาอย่างน้อย 8,5 ชั่วโมงเพื่อให้การทดสอบเสร็จสิ้น โปรแกรมหมายเลขหนึ่ง (PAQ8P) ใช้เวลาเกือบ 12 ชั่วโมงและหมายเลขสี่ (PAQAR) แม้แต่ 17 ชั่วโมงเพื่อให้การทดสอบเสร็จสมบูรณ์ WinRK โปรแกรมที่มีการบีบอัดที่ดีที่สุดอันดับสอง (79.7%) ใช้เวลาประมาณ 8,5 ชั่วโมง ไม่น่าแปลกใจที่โปรแกรมที่กล่าวถึงทั้งหมดใช้ประโยชน์จากโปรแกรม PAQ (เหมือน) สำหรับการบีบอัด หากคุณมีไฟล์ที่มีรูปภาพที่ฝังอยู่ (เช่นไฟล์ Word DOC) ใช้ PAQ8 มันจะรู้จักไฟล์เหล่านั้นและทำการบีบอัดไฟล์เหล่านั้นแยกต่างหาก โปรแกรมทั้งหมดที่กล่าวถึง (ยกเว้น WinRK) นั้นฟรี


1

ทางออกที่ดีที่สุดของคุณที่นี่น่าจะเป็นการลองผิดลองถูก ลองใช้เทคนิคการบีบอัดข้อมูลที่มีอยู่ของคุณในแต่ละไฟล์และเลือกสิ่งที่ดีที่สุดที่จะใส่ในเว็บไซต์ของคุณ โชคดีที่คอมพิวเตอร์ทำสิ่งนี้ค่อนข้างเร็วและไม่เบื่อ คุณสามารถเขียนสคริปต์ง่าย ๆ เพื่อทำให้กระบวนการทำงานโดยอัตโนมัติดังนั้นจึงเป็น "ความเจ็บปวด"

อย่าคาดหวังปาฏิหาริย์ - 700 mb ลงไปที่ 30 mb เพียง แต่ไม่เกิดขึ้นบ่อยครั้ง ล็อกไฟล์ดังกล่าวข้างต้น - ใช่ "ไฟล์เฉลี่ยของคุณ" - ไม่มีทาง


0

ดูเหมือนว่าNanozipจะมีการบีบอัดข้อมูลสูงสุดพร้อมกับ FreeArc แต่มันยังไม่เป็นเวอร์ชั่นสุดท้าย มีการบีบอัดวิธีที่ดีที่ประสบความสำเร็จใน Nanozip มีการบีบอัดสูงมากและใช้เวลาไม่นานตรวจสอบสรุปการทดสอบเกณฑ์มาตรฐานการบีบอัดไฟล์หลาย ๆ ไฟล์แต่ FreeArc เร็วกว่า

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.