Saya telah menggunakan GUI (klik kanan => kompres) untuk mencoba dan kompres .tar yang berisi 3 video total 1,7gb (.H264 MP4s). gzip, lrzip, 7z dll. semua tidak melakukan apa-apa dengan ukuran file dan folder terkompresi juga 1,7 gb.
Saya kemudian mencoba menjalankan lrzip dari baris perintah (kalau-kalau itu masalah gui), dan menggunakan flag -z (kompresi ekstrem), dan ini adalah output saya.
Seperti yang ditunjukkan oleh rasio kompresi, ukuran sebenarnya folder terkompresi lebih besar dari aslinya! Saya tidak tahu mengapa saya tidak beruntung, lrzip khususnya harus efektif menurut ulasan acak yang saya baca dan dokumen resmi (file lebih besar dari 100mb, semakin besar semakin baik) - lihat https: //wiki.archlinux. org / index.php / Lrzip
Mengapa saya tidak bisa mengompres file saya?
Jawaban:
Seperti @pram katakan di atas dalam komentar, video mp4 sudah dikompresi, dan format video lainnya mungkin juga menggunakan kompresi sampai batas tertentu. Oleh karena itu, mencoba mengompresi mereka tidak akan menghasilkan sedikit (jika ada) pengurangan ukuran (ini juga berlaku, setidaknya sebagian, pada gambar dan musik). Dalam hal ini, sepertinya metadata (untuk file terkompresi itu sendiri) mungkin menyebabkan peningkatan. Satu-satunya format kompresi yang mungkin (dan itu adalah kekuatan yang kuat) menghasilkan beberapa pengurangan adalah xz.
Pada catatan lain, jika Anda ingin mengurangi ukuran video-video itu, lihatlah pengkodean ulang video menggunakan sesuatu seperti Handbrake.
sumber
Sungguh, fakta bahwa file sudah dikompres bukan masalah krusial. Ini adalah ini: kompresi secara umum hanya dapat bekerja jika data memiliki semacam redundansi di dalamnya . Itu praktis selalu terjadi untuk file yang tidak terkompresi - namun, itu tidak selalu jelas apa redundansi itu. Algoritma kompresi tujuan umum sebagian besar menargetkan hal-hal yang jelas dalam file teks: banyak kata muncul tidak hanya sekali tetapi banyak kali dalam bentuk yang identik, mungkin frasa kata dapat dikombinasikan, dll. generalisasi ini untuk apa pun dari daftar nomor telepon yang disandikan ASCII lebih dari puisi Cina ke kode mesin biner, tetapi mereka tidak mungkin bekerja untuk semua jenis data. Secara khusus, file media secara konseptualdata analog , dalam representasi digital yang bising. Itu berarti, sebenarnya tidak ada jenis pengalihan-textfile sama sekali: beberapa motif mungkin berulang, tetapi selalu dengan konfigurasi yang sedikit berbeda dari noise sensor. Itu sebabnya semua format gambar / AV terkompresi menggunakan beberapa transformasi yang dipilih secara cerdik sebagai langkah penyandian pertama mereka, biasanya berdasarkan DCT atau wavelet . Transformasi ini secara kasar memindahkan bagian gambar dan bagian suara ke lokasi yang berbeda, sehingga mereka dapat dipisahkan dan dengan kompresi lossy Anda hanya menyimpan informasi yang Anda anggap paling "penting", yang tidak termasuk suara, sedangkan " informasi yang baik "memiliki banyak redundansi. (Itu bukan cara kerjanya, tapi semacamnya.)
Jika kompresor serba guna menggunakan transformasi ini, efeknya akan menjadi kebalikannya: sebagian besar informasi digital sebenarnya akan salah diklasifikasi sebagai beberapa jenis noise, karena tidak memiliki struktur "halus" yang Anda temukan dalam sinyal analog. Dan setelah kompresi video yang hilang jelas tidak ada kelancaran analog atau perulangan digital dapat ditemukan lagi (jika ya, codec akan menggunakan tahap bzip lain atau sesuatu sendiri!)
sumber
Alasan Anda tidak beruntung adalah karena mp4 sudah dikompresi, Anda tidak dapat mengompresnya lebih lanjut. Yang Anda lakukan hanyalah menambahkan informasi header format kompresi ke file.
Karena file sudah dikompresi dan Anda tidak dapat memampatkannya lebih lanjut, ini menghasilkan peningkatan ukuran file karena semua yang Anda lakukan adalah menjaga informasi yang sama dan menambahkan beberapa byte informasi header.
sumber
Ini adalah contoh yang bagus dari prinsip pigeonhole .
Karena file sudah dikompresi (lossy), ada sedikit atau tidak ada pengurangan yang bisa didapat di mana saja, yang berarti bahwa Anda sudah mendapatkan laba bersih nol. Seperti yang disebutkan lainnya, format terkompresi itu sendiri memiliki kerugian tertentu, biasanya diabaikan dalam meta-datanya sendiri. Semua ini datang bersama-sama berarti bahwa mungkin tidak ada pigeonhole tersisa di set file yang sama atau lebih kecil dan dengan demikian data terkompresi Anda jatuh ke dalam set file yang lebih besar.
sumber
Jika Anda ingin mengompres file ini, Anda harus mengurangi kualitasnya.
Tanpa mengetahui berapa lama dan format dan tipe konten apa file-file ini sulit untuk mengetahui apakah file-file ini memiliki ruang untuk menyusut tanpa kehilangan kualitas yang banyak terlihat.
BluRays dengan video 1080p cenderung di atas 25GB sehingga bukan tidak mungkin Anda sudah pada rasio kualitas-ke-ukuran yang optimal untuk H.264.
Anda dapat mencoba menggunakan
ffmpeg
atauavconv
mengonversi file.Anda bisa mulai dengan
ffmpeg -i input_file.mp4 -preset slower -crf 20 -c:a copy output_file.mp4
The
anconv
perintah akan bekerja sama.Tingkatkan
-crf
nilai untuk mengurangi ukuran dan kualitas file, saya tidak merekomendasikan yang lebih tinggi dari 25.Anda dapat mengubah preset ke
slow
ataumedium
untuk meningkatkan kecepatan, tetapi ukuran file Anda akan menderita dibandingkan denganslower
atau bahkanveryslow
(jika Anda sangat sabar!).Pengaturan lebih lanjut dapat ditemukan di sini: http://mewiki.project357.com/wiki/X264_Settings
Saya merekomendasikan untuk menjauh dari sebagian besar karena preset memberikan default waras, dengan
-tune
pengecualian.Coba denoiser jika konten Anda adalah film (
-vf hqdn3d
) Anda dapat meningkatkan kualitas visual dibandingkan dengan menggunakan-crf
nilai tinggi .Perkecil konten Anda
-vf scale=-1:720
untuk 720p dan-vf scale=-1:480
480p untuk meningkatkan kecepatan penyandian dan menjaga kualitas.sumber