Bir MP4 neden oynatılmaz ve kapsayıcı gerçekte nedir
Oynatılmayan bir MP4 nadiren bozuktur. Uzantı yalnızca kapsayıcının, yani akışları ve zaman damgalarını tutan sargının adıdır. Çözülmesi gereken şey içerideki kodektir ve aynı .mp4 dosyası, on yıllık bir telefonda oynayan H.264'ü de, iki yıllık bir televizyonun eline yüzüne bulaştıramayacağı AV1'i de taşıyabilir. Bir MP4'ün oynayıp diğerinin oynamamasının nedeni budur.
Her video dosyası için iki soru geçerlidir: hangi kutunun içinde ve resim nasıl sıkıştırılmış. Kutuyu değiştirmek genellikle bedavadır; sıkıştırmayı değiştirmek asla değildir.
Kapsayıcı kutudur, kodek resimdir
| Kapsayıcı | Video kodekleri | Ses | Destek |
|---|---|---|---|
| MP4 | H.264, H.265, kısmen AV1 | AAC, MP3 | Her yerde |
| WebM | VP8, VP9, AV1 | Opus, Vorbis | Yalnızca tarayıcılar |
| MKV | Neredeyse her şey | AC-3, DTS, her şey | Masaüstü oynatıcılar, tarayıcılar değil |
| MOV | H.264, H.265, ProRes | AAC, PCM | Apple, kurgu |
| AVI | DivX, Xvid, MJPEG | MP3, PCM | Eski Windows |
Hoşgörülü olan MKV'dir; arşiv için iyi, dağıtım için kötüdür: geçerli bir MKV, hiçbir tarayıcının açmayacağı bir bileşimi taşıyabilir. MOV ile MP4 yapılarının çoğunu paylaşır, dolayısıyla ikisi arasında geçiş çoğu zaman yalnızca dizinin yeniden yazılmasıdır. Dosyanın içine bakın:
input.mp4
Stream #0:0 Video h264 (High) 1920x1080 30 fps 4200 kb/s
Stream #0:1 Audio aac (LC) 48000 Hz stereo 128 kb/s
Önemli olan "Video" sözcüğünden sonra geleni. "mp4" sözcüğü size neredeyse hiçbir şey söylemez.
Hangi kodek nerede oynar
| Kodek | Eşit kalite için gereken bit | Lisanslama | Destek |
|---|---|---|---|
| H.264 (AVC) | Temel alınan, buna %100 diyelim | Havuz, neredeyse her yerde lisanslı | Evrensel |
| H.265 (HEVC) | %50 ila %65 | Rakip havuzlar, pahalı, çözümsüz | Apple'da var, tarayıcılarda dağınık |
| VP9 | H.265'e benzer | Telifsiz | Chrome, Firefox, Edge, Android |
| AV1 | %30 ila %50 | Telifsiz | Güncel tarayıcılar, yeni donanımlar |
H.265 teknik olarak güçlü, ticari olarak sıkıntılıdır, bu yüzden destek teknik çizgilerden çok üretici çizgilerine göre ayrışır. AV1 en iyi sıkıştıran kodektir ve bazen bir büyüklük mertebesi kadar daha yavaş kodlar, dolayısıyla bir kez kodlanıp çok kez izlenen videoya uygundur. Kitlesi bilinmeyen bir iş içinse cevap hâlâ MP4 içinde H.264'tür ve Compress Video da bunu hedefler.
Bit hızı, çözünürlük ve kare hızı
Bit hızı, saniyede üretilen bit sayısıdır ve dosya boyutunu tek başına belirler: süreyle çarpın, dosyayı bulursunuz.
1920 x 1080 x 30 fps x 3 bytes = about 186 MB per second raw
delivered at 4 Mb/s = about 0.5 MB per second
Çözünürlüğü ikiye katlamak piksel sayısını dörde katlar ama gereken bit sayısını katlamaz, çünkü daha büyük bir karede komşu pikseller birbirine daha çok benzer ve daha iyi sıkışır. İki ila üç katını bekleyin; bu yüzden genişlik ile yüksekliği yarıya indirmek bir dosyayı küçültmenin en ucuz yollarından biridir: bu Resize Video'nun işidir, Crop Video ise pikselleri düpedüz atar. Kare hızı daha yumuşak davranır; 30'dan 60'a çıkmak %100 değil %20 ila %40 ekler, Change Video Speed ise bunun yerine zaman çizelgesini kısaltır.
Hızı denetlemenin üç yolu vardır:
- Sabit bit hızı baştan sona tek bir hızı korur: durağan planlar bit israf eder, hızlı hareket dağılır. Sıkı bir tavanı olan bağlantılara uygundur.
- Hedefli değişken bit hızı ortalamayı tutturur ve sahnelerin birbirinden ödünç almasına izin verir. Boyut öngörülebilirdir, bu yüzden çıktının bir sınıra sığması gerektiğinde kullanın.
- Sabit kalite, genellikle bir CRF değeri, kaliteyi sabitler ve bit hızının gerektiği yere gitmesine izin verir. Boyut öngörülemez, kalite tutarlıdır ve akış yerine izlenmek üzere hazırlanan her şeyde varsayılandır.
H.264 için CRF ölçeği 0 ile 51 arasındadır ve düşük olan daha iyidir: 18 kaynaktan neredeyse ayırt edilemez, 23 makul bir varsayılandır, 28'i geçince hareket dağılır. Ölçek kodekler arasında ortak değildir.
Anahtar kareler ve bir kırpmanın neden bazen bedava olduğu
I karesi, yani anahtar kare, kendi başına çözülen eksiksiz bir resimdir. P karesi yalnızca daha önceki bir kareye göre değişeni saklar. B karesi hem önceki hem sonraki bir kareden tahmin yürütür; en iyi sıkıştıran budur ve kod çözücülerin bazen kareleri gösterimden önce bekletmesinin nedeni de budur.
Bir anahtar kare ile ona bağlı kareler birlikte bir resim grubu oluşturur ve web kodlayıcıları bunlardan yaklaşık iki saniyede bir yerleştirir. Grubun ortasından kesin, hayatta kalan kareler artık dosyada olmayan bir resme atıfta bulunur; kırpmanın iki kipi olmasının nedeni budur. Akışları kopyalamak anında ve kayıpsızdır ama yalnızca bir anahtar kareye denk gelir, dolayısıyla başlangıç grup uzunluğu kadar kayabilir; yeniden kodlamak anahtar kareyi istediğiniz yere koyar, karşılığında zaman ve kalite ister. Trim Video ikisini de sunar; tam karenin önemi yoksa kopyalayın.
Yeniden kodlamanın kaliteye mal olmasının nedeni, her kayıplı geçişin modelin en az görünür saydığı şeyi atmasıdır. Yeniden kodlayın, ikinci geçiş birinci geçişin bozulmalarını gerçek ayrıntı sanar, onları korur ve üstüne kendininkileri ekler; böylece hata kuşaklar boyunca birikir. Yalnızca kapsayıcı değişiyorsa akışları kopyalayın; yalnızca ses gidiyorsa resmi kopyalayın, Mute Video da bunu yapar. Rotate Video pikselleri döndürmek yerine bir döndürme bayrağı ayarlayabilir, gerçi bunu yok sayan oynatıcılar özgün yönü gösterir. Piksellerin değişmesi gerektiğinde her şeyi tek bir geçişte değiştirin.
Ses parçası işin diğer yarısıdır
Ses, kendi kodeki, örnekleme hızı ve kanal düzeni olan ayrı bir akıştır ve bir dosyanın oynatılmamasının yaygın nedenlerinden biridir. H.264 resmini gönül rahatlığıyla çözen bir tarayıcı, AC-3 ya da DTS çevresel sesi çözemeyebilir; geriye sessizlik ya da dosyanın tamamının reddedilmesi kalır. MKV içindeki disk kopyaları sürekli böyle takılır.
Örnekleme hızı, dalga biçiminin ne sıklıkta ölçüldüğüdür: CD'den gelen 44100 Hz, video standardı olan 48000 Hz. Dağıtım için güvenli seçim 48000 Hz stereo AAC'dir; konuşma için 128 kb/s, müzik için 192 kb/s dolayında. Extract Audio bir parçayı MP3, WAV, AAC ya da Opus olarak dışarı çıkarır.
Videoyu GIF'e çevirmek
GIF, 1987'den kalma, üzerine animasyon eklenmiş, gerçek bir hareket dengelemesi olmayan bir durağan görüntü biçimidir. Her kare büyük ölçüde kendi başına sıkıştırılır, dolayısıyla beş saniye birkaç megabaytı bulabilirken aynı klip sessiz bir MP4 olarak birkaç yüz kilobayttır. Kare başına 256 renkle sınırlıdır, saydamlığı tek bittir ve sesi yoktur.
Kalitenin kazanıldığı ya da kaybedildiği yer renk sınırıdır. Genel geçer sabit bir palet geçişleri bantlar ve ağır bir titremeyi zorunlu kılar; bu gürültü de rastgeleye yakın olduğu için kötü sıkışır ve dosyayı şişirir. Paleti kliplerin kendisinden kurup kareleri sonra ona eşlemek daha iyi bir görüntü ve çoğu zaman daha küçük bir dosya verir; Video to GIF bu geçişi yapar. GIF'leri kısa ve dar tutun: iki ya da üç saniye, 480 ila 640 piksel genişlik, saniyede 10 ila 15 kare. Hedef video kabul ediyorsa sessize alınmış bir MP4 gönderin.
Web için işe yarayan ayarlar
- Sadece oynaması gereken her şey için MP4 içinde H.264 ve AAC ses.
- CRF 23 dolayında; ince metinli ekran kayıtlarında 20'ye kadar iner, arka plan görüntülerinde 26'ya kadar çıkar.
- Sıkıştırdıktan sonra değil, sıkıştırmadan önce gösterileceği genişliğe küçültün.
- faststart özelliğini açın ki dizin başa gelsin ve oynatma indirme bitmeden başlasın.
Buradaki her şey kendi makinenizde, tarayıcıda çalışır, dolayısıyla hiçbir şey yüklenmez ve sınır bir sunucu kotası değil bellektir. Uzun bir 4K dosyanın çözme arabellekleri bir sekmeyi tüketebilir, o yüzden önce kırpın, sonra boyutlandırın.