Bilgisayarınız bazı video dosyalarını oynatabiliyorken diğerlerini niçin oynatmıyor olabilir? Hepsinin çözümü kod çözücüler yüklemek.Dijital video görüntüleri, analog görüntü depolama yöntemlerinden bugüne muazzam bir yoldan gelerek, uzun süren gelişmelerle devir aldı. Artık her eve girebilen DVD filmlerden video kameralara, cepte taşınabilen oynatıcılardan cep telefonu ve diğer mobil cihazlara kadar pek çok araç gereçte video kayıt işlemlerine rastlayabiliriz. Bütün bu dijital medya aygıtlarının hepsini bir arada rahatça kullanabileceğiniz, istediğiniz anda düzenleyebileceğiniz bilgisayarınızda eksik kalan tek bir şey var: Daha fazla depolama alanı gereksinimi.
Dijital video, çalışma alanı olarak yüksek miktarlarda depolama alanına ihtiyaç duymaktadır. Özelikle yüksek çözünürlüklerde çalışmak istiyorsanız. İnternet sitelerinde karşılaşabileceğiniz video klipler çok fazla yere ihtiyaç duymamakta iken, 720 x 576 piksel PAL çözünürlük kullanan DVD ve dijital video kamera görüntüleri her dakika sabit disk alanınızda gigabyte’larınızı yutmakla meşgul olurlar. Hiç kimse sonsuz depolama kapasitesine sahip olmadığına göre, yada cüzdanı müsait değilse, video dosyalarını pratik biçimde, kalitelerini bozmadan boyutlarını azaltması gerekmektedir.
Kod çözücülerin izahı
Windows işletim sistemi kod çözücüler olarak adlandırılan bu yazılımlardan bazı parçalarını kullanabiliyor. Kod çözücünün kelimesinin geldiği “codec” in açılımı şu şekildedir: COmpressor/DECompressor yani Sıkıştırıcı/Sıkıştırılmış olanı açmak, çözmek. Kısa bir tanımı ise, işlenmemiş bir videonun yer kazanmak için rutin bir işlemle yazılım tarafından sıkıştırılması ve bilgisayardan görüntülenmesi için yeniden sıkıştırılmış dosyanın çözülmesi anlamına gelir.
Bir video sıkıştırma kod çözücüsü nasıl çalıştığını anlatmadan, yanlış yorumlanmaması için önceden bazı açıklamaları yapalım. Windows tarafından kullanılan biçimi doğal olan video AVI’dir. AVI‘yi bir format olarak tanımlandığını duymuş olabilirsiniz fakat bu öyle değildir. AVI teknik anlamda taşıyıcı olarak bilinir, aynı şekilde Apple’ın QuickTime dosyaları gibi.
Taşıyıcıyı isterseniz bir kanal borusu olarak düşünün. Bu örneğin AVI dosyalarının durumunda ise, aynı dosya adı altında görüntü ve ses akımlarının birlikte transferinin yoludur. Bir AVI dosyası bir sonraki AVI dosyasından farklılık gösterebilir. Buna rağmen aynı çözünürlükte olan aynı video ve ses içeriğini de kapsayabilir. Bu sonuçların sebebi gayet basittir. AVI dosyası olarak taşınan bir videoya, farklı kod çözücüsü ile sıkıştırılma yapılmıştır. Bunu sıkıştırma yaptığınız videolarınızı izlediğinizde fark edebilirsiniz.
Ses için sıkıştırma yapan kod çözücüler kayıp ya da kayıpsız olurlarken, video kod çözücülerinde genellikle kayıp yaşanır. Kayıplara yol açacak bir video kod çözücüsü ile sıkıştırma yapıldığında uzunluğu orijinali ile aynı olmayacaktır. Sıkıştırma esnasında atılan bilgiler dosya boyutunu düşürebilir. Yüksek çözünürlüğe sahip, geniş veri yeri tutan bir video dosyası, sıkıştırma yapılırken hiçbir kayıp işlemi yaşanmamış anlamına gelir.
Film karesi (frame) ve kayıt alanı
Genellikle, video kod çözücülerini iki çeşitte ayırabiliriz: film karesi tabanlı ve kayıt alanı tabanlı veya diğer adıyla zamanlı kod çözücüler. Film karesi tabanlı kod çözücüler Cinepak veya Motion-Jpeg gibi videonun her karesini ayırıp inceleyerek ve sıkıştırarak çalışırlar. Film karesi tabanlı kod çözücülerle sahip, saniyede 25 kare olan bir PAL videonun iki dezavantajı vardır: yavaştırlar ve dosya boyutu kesinlikle büyük olur.
Bir film, değişmeyen aynı oranlara sahip, birbirinin ardı ardına gelen görüntülerin oynatılması ile yaratılan hareketlerin yanılsamasıdır. Bu mantıkla baktığımızda, her karenin bir önceki veya sonrakiyle çok minik farklılıklarla hareket ettiğini görmek hiç de zor değildir. Peki, madem hepsi aslında aynı ise niçin her kareyi tek başına sıkıştırma yapalım?
O zaman kayıt alanı yani zamanlı kod çözücülerle devam edelim. Zamanlı kod çözücüler video akışının zaman üzerinde ne kadar değiştiğini izlerler. Zamanlı kod çözücü bir akışı sıkıştırdığı zaman, ilk kareyi bütünüyle depolar. Bir sonra gelen kareyi ise tüm karelerle karşılaştırır ve ayrılmış olandan bir diğeri arasında değişiklik olup olmadığını kontrol eder. Daha sonrasında, sadece ilk tam kare ve sonrasında gelen kare arasındaki değişiklikleri sıkıştırma yapar. Çünkü aldığı ilk kare temeldir ve sonra gelen kareleri yeniden çözmesi için bilgi olarak tutar, buna anahtar kare yani “keyframe” denir. Bir film farklı sahnede değişim gösterdiği zaman kod çözücü büyük farklılık ayırt ettiğinde, o kareyi tutar ve başka bir anahtar kare olarak sıkıştırma yapar.
Tahmin edebileceğiniz gibi, zamanlı kod çözücüler film uzunluğuna başvurduğunda hiç değişikliğe rastlamadıkları takdirde daha yüksek verimli çalışırlar. En fazla bilinen zamanlı kod çözücü, MPEG standardıdır. Orijinal standardın yenilenmiş yüksek çözünürlüğü olan MPEG-2 kod çözücü, büyük sinema filmlerinin nispeten küçük DVD disklerine sıkıştırılmasında kullanılır.
Windows ile oynatma
MPG dosyası gibi farklı bir biçimlendirme içeren bir video dosyasını oynatmak istediğinizde, Windows otomatik olarak bu dosyayı tanır ve küçük ayrıntılarla birlikte çözüme kavuşturur. AVI gibi taşıyıcı biçimler, daha fazla karmaşık yapıdadırlar. Sıkıştırma kod çözücüleri video ve ses akımlarını her ikisini bir arada tek büyük boyutta kullanırlar. İlk olarak, filmin akışı içinde yer alan belirli bir parçasında, sıkıştırmada kullanılan kod çözücüyü tanımlayan “FourCC” denilen dört dijital sayıdan oluşan kodu Windows sorgular.
Daha sonra Windows bu kodu bilgisayarınızda yüklü olan kod çözücüler arasından eşleştirerek filmin oynatılması için doğru kod çözücüyü seçer. Şayet belirli FourCC kodu ile oynatılması gereken kod çözücü bilgisayarınıza yüklenmemiş ise bu sorun olacaktır, Windows dosyayı oynatmayı reddedecektir.
Son olarak, doğru olan video ve ses kod çözücüler yüklendiğinde, Windows sıkıştırma işlemini çözerek görüntü ve sesin akışına izin verir. Kod çözücünün sıkıştırması yeniden çözüldüğünde geçerli olarak atanmış Windows Media Player veya üçüncü parti yazılımlardan örneğin Mv2Player veya BSPlayer gibi kullandığınız oynatıcı programa gerekli bilgiyi vererek izlenmesine izin verir. Kullanıcı isteklerine göre şekillendirilebilen bu durumun anlamı, her seferinde kendi kendimize sıkıştırma çözmek için baştan program yazmamak ve kod çözücülerin herhangi bir uygulama ile rahatlıkla kullanılabilmesidir.
Kod çözücü bilmecesi
Kullanım için onlarca video kod çözücü mevcut iken, herhangi bir AVI dosyasının sıkıştırması hangi birine ait olduğu öğrenmek kumar gibi gelebilir. Peki sisteminiz video ve ses akışlarını için uygun kod çözücüler ile teçhizatlanmış mıdır? Şayet öyle değilse, filmi izlemek istediğiniz vakit gerekli kod çözücü bilgisayarınızda yüklü olmadığı için Windows yakındığında bunun cevabını öğrenirsiniz. Elinizdeki videoya uygun hususi kod çözücüye ihtiyacınız olunca nerede bulabilirsiniz?
Elinize geçecek, bulduğunuz her kod çözücüyü bilgisayarınıza yüklemekten ziyade son derece basit olan bir çözümü önerebiliriz. Belirli olan AVI dosyasındaki sıkıştırmanın yapıldığı kod çözücüleri tanımlayabilen GSpot yazılımının çok yardımı olacaktır. www.headbands.com/gspot/ adresinden ücretsiz olarak indirebileceğiniz Gspot, bir kaç kb'lık boyuta ve inanılmaz basit bir arabirime sahip. Basit görünüşüne rağmen kod çözücü aramada ve tespit etmede kesinlikle eşi benzeri olmayan harika bir yazılım.
GSPot’u başlattığınızda menüsünden AVI dosyanızı seçin. Öncelikle Gspot sisteminizi tarayarak yüklenmiş olan tüm kod çözücüleri tarayacaktır. Daha sonrasında AVI dosyanız hakkında tonlarca bilgiyi görüntüleyecektir. Ekranın sağında bulunan Video kısmının altında sisteminizde yüklenmiş, varsa ihtiyacınız olan kod çözücüleri listeleyecektir. Yine Video altında bulunan Stat kısmında bu gerekli olan kod çözücülerini görebilirsiniz. Menüsünde View -> Codec Database -> Video sekmesine FourCC koduna bakarak eksik kod çözücüleri nereden temin edebileceğinizi öğrenebilirsiniz.
Olağanüstü MPEG-4
Video biçimleri ve sıkıştırılması için kod çözücüler bir arada ilerlerken, onlarla birlikte oluşan çok faydalı bir gelişme mevcut. Fenomenlerden biri de MPEG-4. DVD MPEG-2 standardına karşılık sunulan ve onun ötesine geçebilmiş olan MPEG-4, aşırı derecede hızlı ve verimli çalışarak iyi bir sıkıştırma yapabildiğinden kod çözücüler içersinde bir standart halini aldı.
Her ne kadar bir kod çözücü olsa da MPEG-4 aslında bir standart. Bu standart altında yer alan hatırı sayılır sayıda, Microsoft’un da kendi markası olan versiyonu da olmak üzere, MPEG-4 uyumlu çok kod çözücüler bulunmakta. Şüphesiz, en çok bilineni MPEG-4 kod çözücüsü DiVX. Bu kod çözücüsünün geçmişi değişik olaylarla dolu. DiVX, Microsoft’un MPEG-4 ‘ü ile aynı anda meydana çıktı, fakat yasallaşması DiVX Networks Inc. ile birlikte oldu.
Yıllar boyunca, DiVX çok fazla avantaj sahibi oldu ve şimdi büyük kar amaçlı bir şirket halini aldı. Bilgisayar ve oyun konsolu oyunları geliştirenlerin, DVD oynatıcı ve DiVX dosyaları oynatabilen taşınabilir veya sabit aygıtların kullandığı dev bir sektör haline geldi. Ücretsiz yayınlanan ve popüler olmayan diğer kod çözücülerin aksine yasal olmasından dolayı lisanslı bir yazılım hizmeti veren DiVX’e, ücretsiz olarak hem de ondan daha performanslı olan rakip bir kod çözücü daha yazıldı: XViD. Film endüstrisi de ticari kuruluşlar gibi teknolojinin gerisinde kalmamak için film formatlarını DiVX’e dönüştürerek internet üzerinden satışa sunuyorlar. XViD ise daha çok bilgisayar tutkunları olan kullanıcılar tarafından tercih ediliyor ve sürekli yaygınlaşıyor.
www.xvid.org
Seda İrengü / PCTIME Ekim 2004
Yazılım / Teknik