MediaInfo, Video ve Ses Dosyalarınızda Container ve Codec’ler

Bilgisayarlar “multimedia” özelliklerini kazandıkları yani ses ve video oynatabildikleri zamandan beri, video ve ses için çok sayıda dosya formatı ve codec ortaya çıktı. Buradaki çeşitliliğin birden çok sebebi var. Teknoloji geliştikçe daha üstün kaliteli codec’lerin ortaya çıkması, farklı kullanım alanlarında farklı codec’lerin uygun olması gibi doğal sebeplere ek olarak, rakip teknoloji firmalarının kendi pazar çıkarlarına yönelik olarak birbirlerine rakip codec ve formatları yayması da var. Bir kez popülerleşen codec ve formatlar, hem alışkanlık ve bilinirlik etkisi nedeniyle hem de bunları oynatan donanımların (akıllı tv’lerden, araba müzik sistemlerine) yazılımlara kıyasla yavaş evrilmesi nedeniyle, daha iyileri çıkmış olsa bile uzun süre ortalıkta kalıyor. Bu da ortalıktaki format ve codec kaosunu arttırıyor.

Bu kaos ile başa çıkmanız için gereken ilk adım, elinizdeki bir dosyanın hangi container formatı olduğunu ve bu container’ın içinde hangi codec’ler ile encode edilmiş video ve ses bilgileri olduğunu tespit etmeniz.

MediaInfoMediaInfo programı, bu ilk adımı atmanızı sağlıyor. Açık kaynak kodlu özgür bir yazılım olan MediaInfo’nun Windows, Mac ve Linux versiyonları mevcut. MediaInfo çok sayıdaki dosyayı tanıyabiliyor ve elinizdeki dosyaya dair liste halinde çıkarttığı bilgiler eksiksiz. Ancak bu bilgilerin ne olduğunu anlamak için container, codec ve diğer veriler arasındaki ilişkiye dair bir fikrinizin olması gerekli:

1. Container, içinde video, ses, altyazı gibi unsurlar barındırabilen, “kutu” benzeri bir dosyadır. Elinizdeki video dosyalarının işletim sisteminizce görülen ve dosya isminin uzantısında belirtilen formatı (.mp4, .mkv, .mov vs.) container’a aittir. Her container, her video veya ses codec’ine sahip unsuru desteklemez yani her container’ın içine her şeyi koyamazsınız. Ayrıca bazı container formatları, altyazı desteklemez veya desteklediği etiket bilgileri kısıtlıdır. Streaming destekleri de farklı olabilir. Container’lar bu şekilde birbirlerinden ayrılır. Container’ın kendisi video veya ses kalitesine etki etmez, ancak bazı container’lar daha gelişmiş codec’leri barındıramadıkları için dolaylı olarak kaliteyi kısıtlamış olur. Container’ın içinde yer alabilecek esas unsurlar şunlardır: Video, Ses, Metin (genellikle altyazı). Bunlara ek olarak Chapter bilgileri (izlerken özel bir bölüme kolayca atlamak için), ve Etiketler (“Tag”ler – Yönetmen, sanatçı, yapım yılı bilgileri vb.) de container’a dahil edilebilir.

Piyasadaki en gelişmiş container formatı, aynı zamanda özgür bir format olan Matroska’dır (.mkv). Google’ın geliştirdiği özgür WebM formatı da Matroska’dan türetilmiş, daha kısıtlı özelliklere sahip ve web’e yönelik bir container formatıdır. Daha eski bir özgür container formatı olan Ogg (.ogg) demode hale gelmiştir. Matroska (ve duruma göre WebM) her zaman ilk tercih olmalıdır.

Matroska’nın özgür olmayan container’lar içinde, ortak standartlara dayandığı için en ciddi rakibi MP4’tür (.mp4). MP4’ten türetilmiş veya akraba olan çeşitli container formatları da vardır. Apple’ın Quicktime’ı (.mov, .qt) ve telefonlarda görülen 3GP (.3gp) formatları bunlardandır. Bu formatlar ikinci tercih olabilir.

Container hiyerarşisinin en dibinde de, sadece tek bir firmanın kontrolündeki formatlar yer alır. Microsoft’un ASF formatı (.asf, .wmv, .wma), DivX Inc.’in DivX formatı (.divx), Adobe’nin Flash Video’su (.flv), Real Networks’ın Real Media (.rm) formatı bunlardandır. Bu formatlar mümkünse kullanılmamalıdır. Microsoft’un eski container formatı olan Audio Video Interleave (.avi) formatı demode durumdadır ve son çare olmadığı sürece kesinlikle kullanılmamalıdır.

Container formatlarının kıyaslamalı listesi.

2. Video codec, container’ın içindeki video unsurunun formatıdır ve video kalitesini belirler. Video codec’lerin normal koşullarda dosya ismi uzantısı olmaz. Container’ların içinde dururlar.

Piyasadaki en önemli özgür video codec’i Google’ın On2 firmasını satın aldıktan sonra özgür hale getirerek geliştirdiği VP9 formatı. VP9, aynı formatın bir önceki nesli olan VP8‘in yerini almaktadır. BBC’nin geliştirdiği özgür bir codec olan Dirac adlı formatı da kalite anlamında kendine üstlerde yer aramaya devam ediyor ancak pek yaygın değil. Xiph’in daha önce geliştirdiği özgür Theora isimli codec’i demode hale gelmiş durumda. Xiph’in Mozilla ile birlikte geliştirmekte olduğu yeni nesil özgür video codec’i Daala ise henüz hazır değil. Bu durumda, video dosyaları için ilk tercih VP9 (veya destek yoksa VP8) olmak durumunda.

Özgür olmayan video codec’lerden MPEG grubu tarafından geliştirilen H.264 (AVC) standardı halen özgür video codec’lere kıyasla daha yüksek kalite sunuyor. Dolayısıyla öncelik kalite ise kullanılabilir. H.264, daha önce yaygın olan MPEG4-ASP tipi codec’leri (xvid popüler bir uygulamasıydı) demode hale getirdi. H.264’ün ardından gelecek codec olan H.265 (HEVC) ise halen geliştirilme aşamasında. Microsoft’un WMV9 codec’i ise standart haline geldikten sonra VC-1 ismini aldı ve H.264’e kalitesi biraz daha düşük bir alternatif niteliğinde. Sonuç olarak, eğer maksimum kalite için özgür olmayan bir codec kullanılacaksa bu H.264 olmalı.

Video codec’lerin garibanı konumunda da 90’larda bir zamanlar popüler olan Real Networks’ın RV10 codec’i var. Sadece bir firmanın desteklediği bu codec çöp niteliğinde.

Video codec’lerin kıyaslamalı listesi.

3. Ses codec’i, container’ın içinde yer alan ses unsurunun formatıdır ve ses kalitesini belirler. Ses codec’leri genellikle container içinde gelse de, “raw stream” olarak tek başlarına da dosya olarak gelebilirler çünkü yanlarında eşlik eden herhangi bir bilgi her zaman gerekmeyebilir.

Piyasadaki en kaliteli ve gelişkin ses codec’i Xiph’in Skype’ın katkılarıyla geliştirdiği özgür format olan Opus’tur. Opus üzerine daha önce bir tanıtım yazısı yazmıştım. Opus, Xiph’in önceki ses codec’i olan Vorbis’i demode hale getirmiştir. Opus, tüm kayıplı ses codec’leri içinde kesinlikle ilk tercih olarak kullanılmalıdır.

Özgür olmayan ve Opus’a çok yakın kalite sunan ses codec’i yine MPEG grubunun AAC formatıdır. AAC formatı, şimdilik daha yaygın destek nedeniyle tercih edilebilir. AAC, MPEG grubunun bir önceki efsane popülerlikteki ses codec’i olan MP3’ü demode hale getirdiyse de, atalet ve müthiş destek yaygınlığı nedeniyle MP3 hala yaşamaya devam etmektedir.

Ses codec’leri düşünüldüğünde son sıralarda özgür olmayan Microsoft’un WMA codec’i ve Real Networks’ın AAC’den türetilmiş RA9 ve RA10 codec’leri gelmektedir. Bunlara, belli bitrate’lerde yüksek ses kalitesi sunmasına rağmen desteği çok zayıf marjinal bir codec olan bağımsız Musepack codec’i de eklenebilir. Bu ses codec’lerinin hiçbiri mümkünse kullanılmamalıdır.

Ses codec’lerinin kıyaslamalı listesi.

MediaInfo’ya dönecek olursak: Bu program sayesinde elinize bir dosya geçtiğinde tam olarak hangi container formatında olduğunu, hangi codec’leri içerdiğini ve diğer bilgilerin düzenli listesini bir tık ile görebiliyorsunuz. Yalnız bir uyarım var, MediaInfo’yu kurarken yanında size kakalamaya çalışacağı ek programı “I do not accept” seçeneği ile reddedin. Özgür bir yazılımda pek tasvip etmediğim bu çirkinlikten bu şekilde sıyrılın..

Screenshot’lar

Programın çıktısına örnek:

General

Unique ID : 194540422344676715450033734198677792496 (0x925B1F5AC43265DA89ED91369BA0E6F0)

Complete name : F:\X.mkv

Format : Matroska

Format version : Version 2

File size : 1.47 GiB

Duration : 47mn 21s

Overall bit rate : 4 443 Kbps

Encoded date : UTC 2013-08-12 12:44:48

Writing application : mkvmerge v5.8.0 (‘No Sleep / Pillow’) built on Sep 2 2012 15:37:04

Writing library : libebml v1.2.3 + libmatroska v1.3.0

Video

ID : 1

Format : AVC

Format/Info : Advanced Video Codec

Format profile : High@L3.1

Format settings, CABAC : No

Format settings, ReFrames : 2 frames

Format settings, GOP : N=1

Muxing mode : Header stripping

Codec ID : V_MPEG4/ISO/AVC

Duration : 47mn 21s

Bit rate : 3 970 Kbps

Width : 1 280 pixels

Height : 718 pixels

Display aspect ratio : 16:9

Frame rate mode : Constant

Frame rate : 23.976 fps

Color space : YUV

Chroma subsampling : 4:2:0

Bit depth : 8 bits

Scan type : Progressive

Bits/(Pixel*Frame) : 0.180

Stream size : 1.31 GiB (89%)

Language : English

Default : Yes

Forced : No

Color primaries : BT.709

Transfer characteristics : BT.709

Matrix coefficients : BT.709

Audio

ID : 2

Format : AC-3

Format/Info : Audio Coding 3

Mode extension : CM (complete main)

Format settings, Endianness : Big

Muxing mode : Header stripping

Codec ID : A_AC3

Duration : 47mn 21s

Bit rate mode : Constant

Bit rate : 384 Kbps

Channel(s) : 6 channels

Channel positions : Front: L C R, Side: L R, LFE

Sampling rate : 48.0 KHz

Bit depth : 16 bits

Compression mode : Lossy

Stream size : 130 MiB (9%)

Language : English

Default : Yes

Forced : No

Text

ID : 3

Format : UTF-8

Codec ID : S_TEXT/UTF8

Codec ID/Info : UTF-8 Plain Text

Default : Yes

Forced : No

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s