Anasayfa Makale x264 Video Kodlama İnce Ayar Rehberi

x264 Video Kodlama İnce Ayar Rehberi

x264 ile video kodlama ve yayın yapma hakkında bilmeniz gerekenleri bu yazımızda bulabilirsiniz.

Video kodlama hakkında genel bir bilgi sahibi olmak, konunun detaylarını kavramaya yardımcı olacaktır. Bunun için Tom Scott tarafından hazırlanmış bu videoyu izlemenizde fayda var. Videonun Türkçe alt yazısı da mevcut.

Yazımızda x264’in detaylı teknik özelliklerinden bahsetmeyeceğiz. Bunun için dileyenler x264 resmi sitesinden faydalanabilirler. Ayrıca belirli bir ayarı da tavsiye etmeyeceğiz. Video kodlamanın genel olarak nasıl çalıştığını, ayarlarla ilgili sorunları nasıl saptayacağınızı, sorunları çözmek için nereye bakmanız gerektiğini bu yazımızda anlayacaksınız.

Video kodlama söz konusu olduğunda “en iyi ayarlar” kavramının geçerli olmadığını belirtmemiz gerekir. Her duruma göre farklı bir ayar kullanılması gerekir. Örneğin hızlı geçişlere sahip oyunlarda, masaüstü uygulamalarında, canlı videolarda farklı ayarların kullanılması gerekir. OBS Studio’nun otomatik ayar sihirbazını kullanıp ideal bir ayar bulmaya çalışsanız bile, en iyi ayarların bulunması için defalarca test edilmesi gerekir.

Video kodlamanın, özellikle de gerçek zamanlı video kodlamanın ciddi bir sistem kaynağı kullandığını anlamanız gerekir. Nvidia NVENC, Intel QuickSync, AMD VCE gibi donanım temelli kodlayıcılar, video kodlama görevinde size yardımcı olabilir. Ancak bit hızı başına düşen genel kaliteye baktığımızda hemen hemen her durumda CPU temelli x264 kodlaması daha yüksek performans sunar. Özellikle internet yayıncılığında bit hızı önemli bir sınırlayıcı faktör olduğu için x264 şu an için yayından en yüksek kaliteyi alabileceğiniz en iyi seçenek olarak karşımıza çıkıyor.

Son yıllarda standart kullanıcılara yönelik üretilen bilgisayarlar, canlı video kodlamaya gerekli işlem gücüne ulaştı. En güçlü CPU’larda bile halen yüksek çözünürlüklü ve yüksek kare hızına sahip yayın yapmakta güçlükler yaşanabiliyor.

x264 kodlayıcısının temel olarak iki bileşeni var: CPU kullanım ayarları (Presets) ve bit hızı (Bitrate)

CPU Kullanım Ayarları (Presets)

x264, çok sayıda CPU kullanım ayarına sahip. Düşük CPU kullanımından yüksek CPU kullanımına doğru sıralayacak olursak: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo.

Önceden hazırlanmış bu kullanım ayarları, her şeyi tek tek ayarlamak yerine kolaylık sağlıyor. Bu ayarlar birçok kullanıcı ve genel kullanım için idealdir. Kodlayıcıdan ne elde etmek istediğinize bağlı olarak bu ayarlar arasında seçim yapabilirsiniz.

Örneğin her şeyi eşit (bit hızı vb.) bir kaynak düşünürsek az CPU kullanımı daha kötü kalite ortaya koyar, ancak daha fazla CPU kullandıkça daha kaliteli sonuçlar elde edersiniz. Çünkü CPU kullanım ayarları, kodlayıcının her kareyi sıkıştırmak için ne kadar vakit harcayacağını belirler. Bazı durumlarda daha iyi performans elde etmek için CPU kullanımınızı azaltmanız gerekir. Standart kullanıcı CPU’ları için yüksek CPU kullanım ayarlarını etkili bir şekilde kullanmak zor olacaktır.

Medium’dan daha düşük CPU kullanım ayarına sahip her ayar sonuçları belirgin şekilde kötüleştirecektir. Yayın senaryolarına geldiğinde ise, CPU kullanımını bu düzeyin altına almanız size herhangi bir fayda getirmeyecektir. CPU’nun kaldırabileceği kadar yükü kullanmak en ideali olacaktır.

Bu bağlantılara tıklayarak bazı senaryolardaki CPU kullanıma ayarları arasındaki farkları net bir şekilde anlayabilirsiniz.

Senaryo 1: x264, 1920×1080, 60 FPS, 2500 kbps bit hızı, yüksek detaylı, az hareketli bir sahne

Senaryo 2: x264, 1920×1080, 60 FPS, 2500 kbps bit hızı, çok hareketli sahne

Tüm bu testler aynı kaynak video ve bit hızı altında yapılıp, sadece CPU kaynak kullanım ayarları değiştirilmiştir.

Burada dikkat etmeniz gereken nokta ise kodlamaya çalıştığınız çözünürlük/FPS değeri için CPU kullanım ayarını bilgisayarınızın kaldırabilecek düzeyde olmasıdır. Eğer bilgisayarınız bu yükü kaldıramıyorsa yayınınızda bozulmalar, kare atlamalar meydana gelecektir. Bu durumu aşmanın en basit yolu ise yayın çözünürlüğünü ve FPS değerlerini düşürüp, yükü azalmaktır. Eğer bu da başarılı olmadıysa, CPU kullanım ayarını kapatmanız gerekebilir.

Bit Hızı (Bitrate)

CPU’nun her sahneyi sıkıştırmak için harcadığı enerji miktarı video kalitenizi belirleyen tek etken değildir. Bit hızı da aynı zamanda önemlidir. Bit hızı, videonun her sahnesine ne kadar bilgi koyabileceğinizi belirler. Eğer her sahneye daha fazla veri koyma izniniz ya da kapasiteniz varsa CPU’yu sıkıştırma için çok fazla kullanmanıza gerek kalmayacak.

Yazının başında yer alan videoda bit hızı düşürüldüğünde ortaya çıkan görüntü gösterilmişti. Tam tersi olarak bit hızını artırdığınız zaman da videonun daha kaliteli gözükmesini sağlarsınız. Eğer görece düşük CPU kullanımıyla kaliteli bir video elde etmek istiyorsanız, yüksek bit hızıyla birlikte daha düşük CPU kullanım ayarlarını (örneğin superfast) tercih edebilirsiniz.

Çözünürlük ve FPS değerlerinin bit hızını belirlemede önemli olduğunu belirtmek gerekir. Örneğin 1080p/60 FPS bir yayında sadece 4000 kbps bit hızıyla ultrafast CPU kullanım ayarını kullanmak iyi bir görüntü vermeyecektir. Referans olarak YouTube’un kodlama ayarlarını kullanabilirsiniz. Aşağıdaki tablo da bu konuda size yol gösterecektir.

Çözünürlük Bit Hızı FPS
853×480 800 – 1200 kbps 30
1024×576 1000 – 3000 kbps 30
1280×720 3000 – 5000 kbps 30
1920×1080 5000 – 8000 kbps 30
2560×1440 8000 – 12000 kbps 30
3840×2160 12000 – 20000 kbps 30

Bu tablodaki değerler x264 ile veryfast CPU kullanım ayarıyla, düşük – orta hareket içeren bir sahnenin kodlamasına örnek olarak verilmiştir. Örneğin 1080p çözünürlükte 60 FPS ve yüksek hareket içeren bir sahne (örneğin aksiyon ya da FPS oyunu) içeren yayına sahipsek veryfast için 8.000’den fazla bit hızına sahip olmamız gerekir. Eğer hareketin az olduğu (gerçek zamanlı strateji oyunları ya da Photoshop videosu) bir sahne ile çalışıyorsanız da daha düşük bit hızı değerlerini kullanabilirsiniz.

Düşük CPU kaynak kullanımı ile yüksek bit hızından ya da yüksek CPU kaynak kullanımdan hangisini tercih ederseniz edin, amaç CPU kullanımı ve bant genişliği arasındaki dengede en iyi kaliteyi yakalamaktır. Bu iki seçeneği de test edip size en uygun olanı bulmanızı tavsiye ederiz.

Karşılaştırma için aşağıdaki senaryoları da inceleyebilirsiniz.

Senaryo 1: x264, 1920×1080, 60 FPS, 2500 kbps bit hızı, veryfast CPU kullanım ayarı, yüksek detaylı, az hareketli bir sahne

Senaryo 2: x264, 1920×1080, 60 FPS, 2500 kbps bit hızı, veryfast CPU kullanım ayarı, hareketli sahne

Tüm bu testler aynı kaynak video ve CPU kaynak kullanımı ayarında yapılıp, sadece bit hızı değiştirilmiştir.