Videoları sıkıştırmak daha da büyük bir dosya oluşturur


17

Toplam 1,7 gb (.H264 MP4s) içeren 3 video içeren bir .tar'ı denemek ve sıkıştırmak için GUI'yi (sağ tıklama => sıkıştır) kullanıyorum. gzip, lrzip, 7z vb. tüm dosya boyutu hiçbir şey yapmaz ve sıkıştırılmış klasör de 1.7 gb.

Daha sonra komut satırından lrzip çalıştırmayı denedim (bir gui sorunu olması durumunda) ve -z bayrağını (aşırı sıkıştırma) kullandım ve bu benim çıkışımdı.

resim açıklamasını buraya girin

Sıkıştırma oranının gösterdiği gibi, sıkıştırılmış klasörün gerçek boyutu orijinalden daha büyüktür! Neden şansım yok bilmiyorum, özellikle lrzip okuduğum rastgele incelemelere ve resmi belgelere göre etkili olmalıdır (100mb'den büyük dosyalar, daha büyük daha iyi) - bkz. Https: //wiki.archlinux. org / index.php / Lrzip

Dosyalarımı neden sıkıştıramıyorum?


2
Şahsen ben mp4 videoları arşivleme rahatsız olmaz çünkü bu videolar codec tarafından zaten sıkıştırılmış.
Çocuk arabası

FFMpeg gibi video dönüştürücü / kompresör araçlarını kullanarak daha az boyut elde edebilirsiniz .
Jet

pram ve Jet doğrudur. Bu beklenen davranıştır. Zaten iyi sıkıştırılmış bir şeyi sıkıştırmaya çalışmak ters etki yapar. Video dönüştürme araçları kullanırsanız, video kalitesi pahasına yer kazanabilirsiniz (görünen veya değil). Bununla birlikte, sahip olduğunuz en yüksek kalitede en az sıkıştırılmış kopya ile başlayın.
John S Gruber

Yanıtlar:


25

@Pram'ın yorumda yukarıda belirttiği gibi, mp4 videoları zaten sıkıştırılmıştır ve diğer video formatları da muhtemelen bir dereceye kadar sıkıştırma kullanır. Bu nedenle, bunları sıkıştırmaya çalışmak boyutta (varsa) küçük bir azalmaya neden olmaz (bu en azından kısmen resimler ve müzik için de geçerlidir). Bu durumda, meta veri (sıkıştırılmış dosyanın kendisi için) artışa neden olabilir. Bazı azaltımlara neden olabilecek (ve bu güçlü bir güç olabilir) tek sıkıştırma biçimi xz'dir.

Başka bir notta, bu videoların boyutunu azaltmak istiyorsanız, bunun yerine videoları El Freni gibi bir şey kullanarak yeniden kodlamaya bakın.


3
Webm'in genel olarak iyi sıkıştırma oranlarına sahip olduğunu düşünüyorum. MP4'ten çok daha küçük.
Seth

@Seth aslında MP4 (AVC aka h.264 veya daha yeni ve daha iyi h.265 aka HEVC codec'i) aynı kalitede (veya aynı dosya boyutunda daha iyi kalitede) daha küçük dosyalar verir.
David Balažic

@ DavidBalažic, portakallar hakkında konuşmaya çalışırken elma ve elmaları burada karşılaştırıyoruz. mp4 ve webm'nin her ikisi de kapsayıcıdır, sıkıştırma ile ilgisi yoktur. H.264 ve h.265'in mp4 kaplarında yaygın olarak kullanılan codec bileşenleri olduğu konusunda haklısınız, ancak h.265'i webm ile karşılaştıramazsınız . h.264, webm kaplarında yaygın olarak kullanılan vp8 codec bileşeni ile karşılaştırılabilir, tıpkı h.265, tipik olarak webm tarafından da dahil edilen vp9 codec bileşeni ile karşılaştırılabilir olduğu gibi. tl; dr: mp4'te h.265 ve webm'de vp9 kullanın, kabaca aynı kalite / verimlilik elde edersiniz.
forresthopkinsa

13

Gerçekten, dosyaların zaten sıkıştırılmış olması önemli bir sorun değildir. Bu: genel olarak sıkıştırma, yalnızca verilerin içinde bir çeşit fazlalık varsa işe yarayabilir . Sıkıştırılmamış dosyalar için bu her zaman geçerlidir - ancak, artıklığın ne olduğu açık değildir . Genel amaçlı sıkıştırma algoritmaları çoğunlukla metin dosyalarında belirgin olan şeyleri hedefler: birçok kelime sadece bir kez değil aynı formda bolca ortaya çıkar, belki de kelime cümleleri birleştirilebilir, vb. ASCII kodlu telefon numarası listelerinden Çin şiiri üzerinden ikili makine koduna kadar her şeye genelleme yapmak, ancak muhtemelen analog veriler için çalışamazlar herhangi bir veri . Özellikle, medya dosyaları kavramsal olarak, gürültülü bir dijital gösterimde. Bu, gerçekten de herhangi bir metin dosyası-reduncancy türü olmadığı anlamına gelir: bazı motifler yineleniyor olabilir, ancak her zaman biraz farklı sensör gürültüsü yapılandırması ile. Bu nedenle, tüm sıkıştırılmış görüntü / AV formatları, normalde DCT veya dalgacıklara dayanan ilk kodlama adımı olarak akıllıca seçilmiş bir dönüşüm kullanır . Kabaca söylenen bu dönüşümler, resim bölümlerini ve gürültü bölümlerini farklı konumlara taşır, böylece iyi bir şekilde ayrılabilirler ve kayıplı sıkıştırma ile yalnızca gürültüyü içermeyen en önemli olduğunu düşündüğünüz bilgileri tutarken, " iyi bilgi "çok fazla yedekliliğe sahiptir. (Bu gerçekten böyle değil, bir çeşit.)

Genel amaçlı kompresörler bu dönüşümleri kullansaydı, etki tam tersi olurdu: çoğu dijital bilgi aslında bir tür gürültü olarak yanlış sınıflandırılır, çünkü analog sinyallerde bulduğunuz "pürüzsüz" yapıdan yoksundur. Kayıp video sıkıştırmasından sonra artık ne analog pürüzsüzlük ne de dijital rekürrens bulunamıyor (eğer öyleyse, kodekler başka bir bzip aşaması veya başka bir şey kullanacaktı!)


12

Şansınızın olmamasının nedeni, mp4'ün zaten sıkıştırılmış olmasıdır, daha fazla sıkıştıramazsınız. Tek yaptığınız dosyaya sıkıştırma formatının başlık bilgisini eklemek.

Dosyalar zaten sıkıştırılmış olduğundan ve bunları daha fazla sıkıştıramayacağınızdan, yaptığınız tek şey aynı bilgileri tutmak ve birkaç bayt daha fazla başlık bilgisi eklemek olduğundan dosya boyutunda bir artışa neden olur.


5

Bu, güvercin deliği prensibinin güzel bir örneğidir .

Dosya zaten (kayıplı) sıkıştırılmış olduğundan, hiçbir yerde olması gereken çok az veya hiç azalma yoktur, yani zaten sıfır net kazanç elde edersiniz. Diğerlerinin de belirttiği gibi, sıkıştırılmış biçimin kendi meta verilerinde belirli, genellikle ihmal edilebilir bir kayıp vardır. Bütün bunlar bir araya gelir, muhtemelen eşit veya daha küçük dosyalar kümesinde hiç güvercin deliği kalmaz ve bu nedenle sıkıştırılmış verileriniz daha büyük dosyalar kümesine düşer.


4
Üzgünüm, ama bu söz konusu prensibin yanlış uygulanmasıdır. Aynı mantığı sıfırlarla dolu 1,7 GB'lık bir dosyaya uygulayabilir ve yanlış bir yanıt alabilirsiniz. Güvercin deliği prensibi genellikle herhangi bir dosyanın gerçekten sıkıştırılamaz olduğunu kanıtlamak için değil, sıkıştırılamayan dosyaların varlığını kanıtlamak için kullanılır . (Kolmogorov karmaşıklık işlevi hesaplanabilir bir işlev olmadığından ikincisi hesaplanamaz).
nneonneo

1
@nneonneo O zaman bağlantılı Wikipedia makalesini düzeltmekten çekinmeyin. Sıkıştırılamayan dosyaların varlığı doğrudan onu takip eder ve daha sonra sıkıştırma meta verilerini eklersiniz ve aniden orijinalinden daha büyük bir dosyanız olur. Ben de tam olarak bunu söyledim. Belirli bir algoritmanın belirli bir uygulaması altında dosyanın daha fazla sıkıştırılamayacağının kanıtı , çıktının daha küçük olmamasıdır. Tabii ki, meta verilerin sıkıştırma kazancından daha büyük olması da mümkündür, ancak bunu kullanıcı odaklı anlamda sıkıştırılmış olarak tanımladığımdan emin değilim.
Livius

@Livius wikipedia makalesi doğrudur: herhangi bir kayıpsız sıkıştırma algoritması için sıkıştırılamaz dosyaların varlığını kanıtlamak için pigeonhole prensibini kullanır . Ancak herhangi bir dosyanın sıkıştırılamazlığını sadece güvercin deliği prensibinden çıkaramazsınız.
David Richerby

@DavidRicherby Evet, ancak belirli bir algoritmanın belirli bir uygulamasıyla dosyanın sıkıştırılmamış olması, sıkıştırılabilir olmadığının kanıtıdır. Sıkıştırılamayan dosyaların varlığı için başka nedenler olmadıkça, sıkıştırma başarısızlığı PP'den kaynaklanır. Olası başka bir neden, belirli bir algoritmanın boyutunu küçültmenin bir yolunu görmemesidir, bu da yine "algoritmanın varsayımları altında bir durum gibi görünüyor, aynı bilgilere sahip daha küçük bir dosya yok; bu gibi durumlar mutlaka var PP yüzünden ".
Livius

Daha kesin olarak, PP, algoritmayı, görüntüsü daha küçük dosyaların boşluğunda olmayan girdilere sahip olmaya zorlar. Belirli bir dosyanın o alana sığmayan görüntüsüne yol açan her karar, PP ve zorladığı uzlaşmanın yönlendirdiği bir düzeydedir (sıkıştırma algoritmasının akılcı bir tanımını varsayarak). Ardından, görüntüsü daha küçük olmayan herhangi bir dosya, PP'nin sıkıştırılabilir olduğu dışlanan kümeye aittir. Belirli bir dosyanın sıkıştırılabilir olmadığının kanıtı sıkıştırılmamasıdır; geniş anlamda, sıkıştırılamazlık her zaman PP ve uzlaşmasının bir sonucudur.
Livius

4

Bu dosyaları sıkıştırmak istiyorsanız, kaliteyi düşürmeniz .

Ne kadar süre ve hangi biçim ve içerik türü bilmeden bu dosyaların görünür kalite kaybı olmadan küçültmek için yer var olmadığını söylemek zor.

1080p video içeren BluRays 25GB ve üstüdür, bu nedenle H.264 için zaten optimum kalite / boyut oranına sahip olmanız pek olası değildir.

Dosyaları dönüştürmek için ffmpegveya avconvdüğmesini kullanmayı deneyebilirsiniz .

İle başlayabilirsin ffmpeg -i input_file.mp4 -preset slower -crf 20 -c:a copy output_file.mp4

anconvKomut aynı işlevi görecektir.

  • Artırmak -crfDosya boyutunu ve kalitesini azaltmak değeri 25'ten daha yüksek bir değer önermiyorum.

  • Ön ayarı olarak slowveya mediumhızı artırmak için değiştirebilirsiniz , ancak dosya boyutunuz ( slowerhatta veryslowçok sabırlıysanız!)

  • Daha fazla ayar burada bulunabilir: http://mewiki.project357.com/wiki/X264_Settings

  • Presets -tuneistisna olmak, aklı başında varsayılan sağlamak gibi en uzak kalıyorum öneririz .

  • İçeriğiniz film ( -vf hqdn3d) ise bir denoiser kullanmayı deneyin, yüksek bir -crfdeğer kullanmaya kıyasla görsel kaliteyi artırabilirsiniz .

  • Kodlama hızını artırmak ve kaliteyi korumak için içeriğinizi -vf scale=-1:720720p ve -vf scale=-1:480480p için ölçeklendirin .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.