H.264, MPEG-4 ve diğerleri...

Videolarla içli dışlıysanız, hangi codec'in (çözücü) kime, ne sunabildiğini bilmenizde yarar var...

H.264, MPEG-4 ve diğerleri...

Anıl Öğütveren

Mobil cihazlar hızlandıkça TV izleme alışkanlıklarımız da 20 yıl öncesine göre çok değişti ve evrim geçirdi. Raflarımızı dolduran DVD'lerimiz, masa üstünde duran NAS (Network-attached storage) disklerin içine girdiler ve raflardan yok olmaya başladılar. Şimdilik bu evrimin ortalarındayız denebilir.

Bu durumun en güzel kanıtı tabii ki codec'ler (çözücü). Eğer son 10 yılda dijital video ile uzaktan da olsa ilgiliyseniz, video performansının encoding (kodlama) veya decoding (çözme) işlemlerinden kaynaklandığını bilirsiniz. Önemli olan videoyu oluşturmak için gereken işlem gücüyle, onu çözmek için gereken işlem gücünün dengelenmesidir.

Codec seçimi dikkat ve özen ister. Bu yüzden yüksek çözünürlük için sırf amaca yönelik codec kullanmak en iyisidir. Bu aynı zamanda diğer cihazlar için de geçerlidir. En iyi sonuçları 3G, network veya kablosuz tabletler olsun, o medya için yaratılmış en iyi codec'lerle elde edersiniz.

Yazımızda, bu karmaşayı çözmeniz için gereken yazılımları ve uygulamaları sunuyoruz. İlerleyen sayfalarda, çeşitli medya ortamları için gereken codec seçeneklerini bulabilirsiniz.

Yüksek çözünürlük için en iyi codec

Yüksek çözünürlük için en iyi codec

Konuya girmeden önce videoyu kaydetmek için gereken codec ile diğer her şey için kullandığımız container (konteynır) arasındaki farkı anlamamız gerekir. Çünkü bu ikisi kullanıcı tarafından genelde karıştırılıyor.

Yüksek çözünürlük için konteynıra örnek olarak popüler Matroska'yı verebiliriz. Matroska, Microsoft'un ASF ya da Apple'ın Quicktime dosya biçimine benzer bir açık kaynak kodlu içerik biçimi geliştirme projesidir. MKV dosya uzantısı Matroska'dan gelir. Aslında Matroska'nın kendisi bir codec değildir çünkü kodlayıcı ve codec özelliklerine sahip değildir. Sadece MKV uyumlu dosyaların yerlerini kaydeder ve bunları bir sonraki kullanımda hemen bulur.

Bu dosyalar MKV (konteynır) uyumlu birçok değişik video, ses veya altyazı dosyaları olabilir. Bu yüzden de konteynır ile kullanabileceğimiz çözücü sayısı çoktur. MKV dosyaları ile genellikle H.264, MPEG-4 ve VP3 tercih edilir. Bu üç codec de aynı teknolojiyi kullanırlar. Buna rağmen VP3 diğerlerine göre biraz geride kalmış durumdadır.

Yüksek çözünürlük için tavsiyemiz H.264 olacaktır. Bu codec genelde x.264 olarak gösterilir. Bit oranı ve çözünürlük de önemlidir. Örneğin 1080 p değerindeki görüntü 720 p içeren görüntüye göre 2,25 kat daha fazla piksel içerir ve bit oranı arttıkça cihaz üzerinde çözmesi de zorlaşır. Kaba bir yaklaşımla 2 saatlik bir HD film için 8-12 GB arasında yer ayrılmasını tavsiye ederiz. Eğer kalitesi artırılacak ise bu 12 GB dan fazla da olabilir.

Ses codec'i seçimi de AV kurulum kapasitenize bağlıdır. Bizim tercihimiz ses codec'lerine dokunmamaktır. Onları "Pass-through" olarak bırakmak en iyisi. DTS ve AC3 gerçek zamanlı ses veri akışları MKV'ye iletilebilir ve MKV konteynırı, kendi içinde bunların tam kopyalarını yapar. Böylece bu yeni ses kopyaları da mobil cihazda orijinali gibi çalışır.

Medya veri akışı için en iyi codec

Medya veri akışı için en iyi codec

H.264 yüksek kaliteli medya veri akışı için en çok kullanılan codec'lerden biri. Böyle olmasının sebeplerinden biri de YouTube ve Vimeo gibi video portalların bu çözücüyü destekliyor olması. Bu yüzden H.264 ün yüksek kaliteli homojen video sunmasına şaşmamak gerek.

H.264 normal gerçek zamanlı veri akışı için de gayet iyi bir seçim. Buna karşın yüksek kaliteye ihtiyaç duymuyor, sadece videoyu MOV veya MP4 tipine çeviriyor iseniz, MPEG-4'ün daha iyi performans sağladığını ve daha iyi bir seçim olduğunu söylememiz doğru olur.

MPEG-4 ile H.264 arasındaki ilişki biraz karışık. Her ikisi de DVD'lerdeki codec'ler gibi MPEG-4 özelliklerini içeriyorlar. Bu da demek oluyor ki bu codec'ler, işlemci gücü eksikliğinde ortaya daha iyi sonuç çıkarıyorlar.

H.264 için olduğu gibi MPEG-4 için de birçok konteynır tipi mevcut. Bunlara örnek olarak AVI, MOV ve RAW transport veri akışı olan TS'yi gösterebiliriz. Hangisini seçeceğiniz genelde cihazınızın hangi formatı desteklediğine bağlı.

Güvenilir tek ücretsiz araç ise MPEG-4 uyumlu dosyalar yaratabileceğimiz FFMPEG uygulamasıdır . Buna rağmen bu aracın birçok pahalı sonradan eklenen özellikleri vardır ve bu neredeyse paralı çözümlere denk gelir.

Medya veri akışı için en iyi codec - II

Medya veri akışı için en iyi codec - II

Kodlamada karşılaşılan en önemli problem kullanılan cihazdan önce bant genişliğidir. Kablosuz N ağınız üzerinden gerçek zamanlı video seyretmek isteyebilirsiniz fakat vaat edilen ağ hızı buna genellikle izin vermez.

Uzaklık, gürültü, diğer kullanıcılar ve donanım sorunları yüzünden kablosuz N teknolojisi 108 Mbps veri akışı olarak verdiği sözü nadiren tutabiliyor. Aynı sorun geniş bant problemlerinden de kaynaklanıyor. Mesela NAS diskinizden büyük boyutlu bir video yüklemek istediğinizde veya NAS'a ağ üzerinden video kaydetmek istediğinizde genelde 2 MBps gibi bir limitle karşılaşıyorsunuz. Bu da sizin geniş bant ağınızın size verdiği hız sınırından kaynaklanıyor.

Bu da demek oluyor ki yapılacak en iyi iş, çözünürlük bant genişliği ve kalite arasında bir ortak noktaya varmak . Ayrıca videonun yanında ses dosyalarının da sıkıştırılması gerekiyor. Bundaki codec seçimi cihazın verdiği deste bağlı ama en genel seçim kesinlikle MP3'ün kullanılması.

iOS için en iyi codec

iOS için en iyi codec

Apple cihazları kısıtlı bant genişliğini en iyi şekilde kullanarak en iyi kaliteyi vermeye yönelik dizayn edilmişleridir. Eğer iPad'iniz için bir video kodluyorsanız (encoding) öncelikle orijinal videoyu 1.024 x768 çözünürlüğüne çevirmek doğru olacaktır.

Hangi platformu kullanacağınızı bildiğiniz için ona göre kodlama yaparsınız. Bunların dışında hesaba katmanız gereken başka şeyler de olabilir. Örneğin cihazındaki videoyu daha büyük bir ekrana bağlamak istiyorsanız işler değişir. iPad'inizi TV ye bağlayıp 720 p çıkış aldığınızı düşünürsek, bu büyük ekrandaki çözünürlüğü de etkileyecektir. Ayrıca Apple'ın mobil cihazları pil süresini koruyarak en iyi video kalitesini de sunar. Yani pil süresi / video kalitesi oranını en iyi şekilde dengelerler.

Apple'ın sunduğu bu avantajlardan yaralanmak için video dosyalarımızın da onun desteklediği keskin çözücü(codec) kurallarına uygun olması gerekir. Aslında bu çözücü seçimini basite indirger çünkü kullanacağımız çözücü önceden bellidir. iOS için en iyi sonucu H.264 çözücü kullanan MOV konteynırı verir. En iyi kare/sn oranı seçimi olarak, FFMPEG kullanıyorsanız 30000/1,001 oranı olan, 29.97fps (NTSC) mantıklı olacaktır. Bununla beraber ses çözücüsü olarak da bit/sn oranı 160kbps olan AAC çözücüsünü kullanılmalıdır.

Android için en iyi codec

Android için en iyi codec

Android işletim sistemi kullanan cihazlar rakibleri Apple'daki gibi keskin standartlara sahip değiller. Android cihazlara, içinde birçok video dosyası için çözüm bulunduran medya oynatıcı uygulamaları yüklenebilir. Bunların performans ve kapasiteleri cihazdan cihaza farklılık gösterir.

Birçok Android cihaz Flash ve hatta DivX dosyalarını destekler çünkü donanım hızlandırıcılar daha fazla ve tek bir codec'e bağlı değildirler. Buna rağmen az da olsa H.264 ve MPEG-4'e dayalı olarak Google'ın bazı standartları vardır. Google H.264 codec'ini 500kbps oranı ile, AAC-LC ses codec'ini ise 128kbps oranı ile kullanılmasını tavsiye eder.

Video çözünürlüğü yüklenecek cihazınkiyle aynı olmalıdır. Konteynır olarak MP4, 3GP ve hatta TS kullanılabilir. Şimdilerde Google'ın WebM adında kendi konteynır ve çözücü kombinasyonu var. WebM denemeye değer bir konteynır çünkü içindeki VP8 adındaki codec H.264'e oldukça yakın ve donanımı kullanmayı iyi beceriyor. Motorola'nın akıllı telefon tarafını da Google geliştirdiği için bu telefonlarda WebM kullanılacak olması normal karşılanmalı.

Son olarak: Sesi ayarlamak...

Son olarak: Sesi ayarlamak...

Video kodlama üzerinde fazlaca durduk ama bazen ses kodlayıcı daha önemli olabiliyor. İnternetten video izlerken çözünürlük ve format giriş seviyesine göre ayarlanabilir fakat bu ses için bu kadar esnek değildir. Etraftaki çevreleyici ses kanallarını olan bir sesi sadece stereo kullanan cihazımızda dinlemeye çalışırsak hiçbir şey duyamayız. Az sayıdaki medya oynatıcılar da çevreleyici sesleri stereo olarak verseler de bunların çoğu bilgisayar üzerinde çalışır ve iyi bir ses kalitesi sunmazlar.

Çözüm ise stereo ve çevreleyici sesleri kodlayan kodlayıcıdan geçer. Bunun dışında Handbrake gibi araçlar çevreleyici sesleri karıştırmanıza veya seçtiğiniz ses dosyasını kodlamaya yarar.

Eğer çevreleyici sesi tekrardan çözmek isterseniz de yüklenmiş olan codec'e göre AC3 (Audio Codec) veya DTS (Digital Theater System)'den birini seçebilirsiniz ve bit oranını düşürebilirsiniz. Ayrıca cihazınızın dijital kanaldan gelen veriyi çözebilecek amplifikatöre bağlı olduğundan emin olmalısınız.

Okuyucu Yorumları