Video Converter yazılımları ile codec değiştirmek ve video formatını dönüştürmek hakkındaki herşey!

Yeni nesil televizyonları çok beğeniyorum. USB portundan flash bellek ile film izlemek mümkün. Media Player ihtiyacı pek kalmadı. Fakat bir problem var, bazı codecler tanınmıyor. Bu yüzden bazen ses gelmiyor, bazen de görüntü oynatılamıyor. Benim evimdeki TV’de de sıkça karşılaştığım bir problem. O nedenle izlemek istediğim video ile sorun yaşarsam video dosyasını tekrar kodluyorum.

Aslında video formatını/kodeğini değiştirmek, normal bir kullanıcının en az ihtiyaç duyacağı şeylerden. Fakat hem yeni nesil TV’ler hem de akıllı telefonlar ile birlikte videoları uygun formatta diğer cihazlara aktarma ihtiyacı arttığından herkese lazım bir bilgi haline geldi. Bende sorunu yakınlarda yaşadığımdan, yazmak istedim. Biraz teknik bir konu ama kafanızı karıştırmadan anlatayım.

Video Kodlamanın Temelleri: FPS, Codec, Çözünürlük, Bitrate, Konteynır, Dönüştürme…
Bunları bilmek lazım…

Bildiğiniz gibi video dediğimiz hareketli görüntüler aslında hareketsiz fotoğrafların birbiri ardına gösterilmesinden ibaret. Genellikle video dosyalarının her bir saniyesinde 24 tane fotoğraf oluyor. Buna teknik dilde saniyedeki görüntü sayısı anlamına gelen FPS (Frame Rate, Frame Per Second) deniyor.

Tabi DSRL fotoğraf makinesi kullananlar bileceklerdir, her 1 kare görüntünün (fotoğrafın) sıkıştırılmamış (raw) hali, çözünürlüğe göre değişmekle birlikte 20 mb gibi boyutlarda olur. 2 saat süren bir filmin tamamen fotoğraf karesi şeklinde birleştirilmesi, basit hesapla 3,3 terabyte boyutuna çıkar. Bunun sonucu da taşıması imkansız dosya boyutları olur.

Bu nedenle önce fotoğrafların enxboy oranları küçültülür. “Çözünürlük” dediğimiz görüntü ebatı SD, HD, FullHD gibi standart boyutlara indirgenir. Sonra da belirli algoritmalara göre sıkıştırılır. Sıkıştırma işlemini yapan şey XVID, H264, VP8 gibi bizim codec olarak tanıdığımız (CO)der/(DEC)oder yazılımlarıdır.

Sıkıştırmanın boyutu kalite ile ters orantılıdır. Teraziyi tutturamazsanız kalite düşer, filmden zevk alamazsınız. Miktarı “Bitrate” değeri ile belirlemeniz gerekir. Bitrate, 1 saniyelik video’nun içereceği veriyi (yada pratikte diskinizde kaplayacağı alanı) işaret eder. Alan yüksek olursa, sıkıştırma az tutulur dolayısıyla da kalite kayıpları azalır.

En nihayetinde sıkıştırılan video dosyası, ses dosyaları, altyazı dosyaları ve diğer meta bilgileri ile birlikte birleştirilir ve MKV, MP4, AVI, MOV, FLV uzantılı dosyalarda saklanır. Bu dosyaların yaptığı tek şey içindeki ses ve görüntü dosyalarını taşımaktır. O yüzden container (konteynır) yada video formatı adı verilir.

Video formatları, yaygın kanının aksine, içindeki dosyaların kalitesine etki etmez. Sadece karton bir kutu gibi birden fazla dosyanın bir arada durmasına vesile olur.

Sonuçta elinizde bir video dosyası varsa, ona yukarıda bahsettiğimiz teknikler zaten uygulanmıştır. Convert dediğimiz işlem ise, işlemin ikinci defa uygulanarak codec’in yada video formatının değiştirilmesidir. Tabi bu esnada çözünürlük, FPS gibi değerler de değiştirilebilir. Fakat elde edilen video ne yapılırsa yapılsın ilk video’dan daha kaliteli olmayacaktır. Tersine her convert işlemi yeniden uygulanan sıkıştırma prosesi yüzünden kalite düşecektir (Doğrudan kopyalama kullanmadıkça). Bu nedenle en kaliteli video, filmin piyasaya sunulduğu medyadır. Genellikle Bluray olur.

Video dönüştürme programları; TEncoder, XMedia Recode

Konunun teorisi böyleydi. Pratik tarafı da oldukça basit. Yukarıda öğrendiğimiz kavramları video dönüştürme esnasında nasıl kullanacağımızı anlatmak için, 2 farklı yazılımla 2 farklı dosyanın formatını değiştirerek örnek yapalım.

Video Codec/Format dönüştürme konusunda sıkça sorulan sorular;

Bitrate, video yada ses dosyalarının 1 saniyelik bölümünün kapladığı yada kaplaması istenen boyuta denir. Mbps (Megabit per Second) veya KBps (Kilobit per Second) cinsinden ifade edilir. Çözünürlük ve FPS ile birlikte video dosyasının kalitesini belirleyen ölçüdür.

Aynı çözünürlükteki ve FPS değerindeki (mesela 720px24FPS) iki video dosyasının bitrate oranı yüksek olan daha kaliteli olacaktır. Mesela 20Mbps kalitesindeki Bluray filminden aynı çözünürlükte biri 5Mbps diğeri 10Mbps olan iki farklı MKV dosyası oluşturursanız, 10 Mbps olan daha kaliteli görüntü sunacaktır. Çünkü dosyanın müsade edilen boyutu 2 kat daha yüksek olduğundan, video convert edilirken sıkıştırma düşük tutulacaktır.

Tersten düşünürsek, bitrate oranı aynı olan 2 dosyadan çözünürlüğü ve/veya FPS değeri düşük olan dosya daha kaliteli olacaktır. Bunun sebebi de tamamen aynı, tamamen matematik. Çünkü kapladıkları alan aynı olmasına rağmen yüksek çözünürlüklü dosyada daha fazla bilgi olduğundan daha çok sıkıştırılacak neticede kalitesi göreceli olarak daha düşük olacaktır.

Bitrate dosya boyutunu ve dolayısıyla sıkıştırmayı belirleyen en önemli unsurdur ama sıkıştırmanın nasıl yapılacağı ayrı konudur.

Mesela isterseniz tüm video’ya sabit bir bitrate değeri verirsiniz. Her bir görüntü aynı ölçüde sıkıştırılır. Yani gerçekten her 1 saniye diskte olmasını istediğiniz alanı kaplar. Buna CBR denir. İsterseniz de VBR (Variable bitrate) kullanırsınız.

VBR metodunda görüntüler analiz edilir ve sıkıştırma oranlarını dinamik olarak hesaplanır. Verdiğiniz bitrate değeri ortalama kabul edilir. 2 saatlik filmin içinde hareketsiz durağan sahnelerdeki karelere daha çok sıkıştırma uygulanır, hareketli görüntülere ise daha az sıkıştırma uygulanır. Böylece filmin ortalama bitrate değeri, seçtiğiniz değer olmakla birlikte filmin içinde değer sürekli dalgalanır. Diğer bir deyişle video dosyasının diskte kapladığı alan belirlediğiniz bitrate değerine uygun olarak aynı kalır, ama içindeki her bir saniyenin kapladığı alan farklı farklı olur.

VBR, genelde tercih edilen, CBR’dan daha gelişmiş bir metoddur. Daha kaliteli sonuç verir. Özellikle de “2 pass” denilen tekniği uygularsanız.

1-pass video kodlama vs 2-pass video kodlama

1-pass video kodlama vs 2-pass video kodlama

Normalde VBR hesaplaması video convert işlemi ile birlikte yürütüldüğünden sonuçlar ideal olmaktan uzaktır. Fakat “2 pass” özelliğini aktif ettiğinizde, video converter yazılımınız önce tüm filmi analiz eder ve her sahne için aynı bitrate değerini belirler. Ardından kaydettiği loglara göre video dosyanızı convert eder. Bu normalde bir kerede yapılan on-the-fly yani real-time yani canlı çevrimden daha yavaş ama daha başarılı sonuç verir. Çünkü hesaplamalar daha iyi yapılmıştır. Bazı video converter yazılımları “3 pass” gibi çoklu analizler yapacak şekilde çalışabilir.

Bir video dosyası için ideal bir bitrate değerinden bahsetmek zor. Seçtiğiniz çözünürlük, FPS değeri ve cihazınızın özellikleri bunu değiştirecektir.

Mesela internette yayınlanan videolar, kesintisiz bir izleme zevki için 1500-2000 Kbps bit değerini kullanır. Daha yüksek değerler, yani yüksek dosya boyutları düşük hızlarda sorun yaratır. Amaç kalite/performans optimizasyonunu yakalamaktır. Öte yandan BlurayRip yapanlar ise kalite kaybı istemediğinden 14-17 Mbps gibi oldukça yüksek değerler kullanır. (Bluray orjinalde 40Mbps bit değerine sahiptir.)

Cep telefonları ise tamamen ayrı hikaye. Her video converter yazılımı genellikle her model için uygun değerleri belirlediğinden, yazılım üzerindeki değerlere güvenmek en iyisidir.

Elimdeki video dosyası için, kalite kaybı yaşatmayacak en uygun bitrate değeri nedir diyorsanız, bu dosyanın orjinal bitrate değeri olacaktır.

MediaInfo ile elinizdeki video dosyalarının Bit değerini öğrenebilirsiniz.

MediaInfo ile elinizdeki video dosyalarının Bit değerini öğrenebilirsiniz.

Megabyte cinsinden dosya boyutu= (Mbps cinsinden Bitrate x Saniye cinsinden video uzunluğu)/8

yada

Megabyte cinsinden dosya boyutu= (Kbps cinsinden Bitrate x Saniye cinsinden video uzunluğu)/8000

Kolay hesap için: 1, 2, 3, 4

Raw görüntü dosyalarını sıkıştıran ve çözen yazılımlara/algoritmalara codec deniyor. (codec=COder/DECoder) Sıkıştırılmış dosyaları taşıyan dosya formatlarına ise video konteynır deniyor. Anlamak için aşağıdaki şekle bakalım;

Video konteynır dosyası kabaca birden fazla dosya türünü içeren sıkıştırılmış zip arşivleri gibidir. İçlerinde birden fazla video dosyası, ses dosyası hatta altyazı dosyası bulunabilir. Bunların herbiri değişik codecler ile kodlanmış olabilir. Video konteynırı bu dosyaları bir pakette muhafaza eder ve taşır. Tek görevi budur.

000090-01-04-video-container-vs-video-codecMesela dosya uzantısı olarak gördüğümüz mp4, mkv, avi, wmv, mov, flv vb. aslında video dosyalarını taşıyan konteynır dosyalardır. İçlerinde ise h264, mpeg2, xvid gibi video kodek ile kodlanmış video dosyaları ile Mp3, AC3, AAC gibi kodeklerle kodlanmış ses dosyaları bulunur.

Bu nedenle televizyonunuz bazı mkv dosyalarını çalıştırabilirken bazılarını çalıştıramaz. Aslında sorun mkv dosyasından değil, içindeki video dosyasının çalıştırılması için gerekli olan codec’in sisteminizde bulunmamasından kaynaklanır.

Ayrıca mp4 mü daha iyi yoksa mkv mi daha iyi sıkıştırıyor gibi tartışmalar da anlayacağınız üzere anlamsızdır. Çünkü dosya formatlarının sıkıştırma üzerinde etkisi yoktur. Onların tek görevi codec tarafından sıkıştırılmış dosyaları taşımaktır. Öte yandan sıkıştırma ve imaj kalitesi konusunda codec ler farklı düzeyde başarı gösterecektir.

Girdiğiniz FPS, Bitrate, Çözünürlük gibi tüm parametreler aynı olsa dahi, video codec performansına göre aldığınız sonuç değişir. Geçmişte kullanılan codecler arasında Xvid popüler iken bugün düşük boyutlarda çok kaliteli sonuçlar üreten H264 popüler durumda. Gerek web üzerinde gerekse TV, telefon vb. tüm cihazlarda doğal olarak destekleniyor. O nedenle benim tavsiyem H264 kullanmanız. Ama isterseniz tüm değerler aynı tutularak yapılan formatlar arası kalite karşılaştırmalarını aratabilirsiniz. Mesela; 1, 2

H264 vs MPEG4

H264 vs MPEG4

MP4, MKV gibi uzantılara sahip dosyaların aslında taşıyıcı olduğunu ve içeriğe karışmadıklarını söylemiştik. Bu nedenle örneğin MP4 uzantısına sahip bir dosyanın içindeki H264 ile kodlanmış video’yu, aynen yani tekrar kodlamadan direkt olarak MKV içine kopyalayabilirsiniz.

Bu işleme doğrudan kopyalama deniyor. Bu yöntemle yapılan format değiştirme işlemleri kalite kaybına uğramıyor. Çünkü yapılan işlem kaptan kaba süt aktarmak gibi olduğundan içerikteki bilgiye hiç dokunulmuyor.

İşlemin sınırı ise, her iki taşıyıcının da aynı codec’i desteklemesi, taşıyabilmesi. Çapraz referansa buradan ulaşabilirsiniz; Comparison of container formats

8 Comments

  1. Batın May 30, 2015
    • admin May 30, 2015
  2. Batın May 30, 2015
    • admin May 30, 2015
  3. Batın May 30, 2015
    • admin May 30, 2015
  4. Okan May 1, 2016
    • admin May 2, 2016

Leave a Reply