FFmpeg 8.0 sürümüyle birlikte gelen av1_vulkan kodlayıcı, GPU tabanlı AV1 kodlamada çığır açıyor. Artık NVIDIA, AMD ve Intel gibi farklı GPU üreticileri için ayrı ayrı kodlayıcılar kullanmak zorunda değilsiniz. av1_vulkan, VK_KHR_video_encode_av1 Vulkan uzantısı sayesinde tüm bu satıcıları tek bir kod tabanında birleştiriyor. Ancak, her GPU ve sürücü kombinasyonu bu uzantıyı desteklemiyor. Bu yazıda, GPU'nuzun av1_vulkan ile AV1 kodlamayı destekleyip desteklemediğini nasıl kontrol edeceğinizi, ilk kodlamayı nasıl yapacağınızı ve SVT-AV1 yazılım kodlayıcısına karşı nasıl kıyaslama yapacağınızı adım adım anlatacağız.
İlk adım, FFmpeg 8.x'in Vulkan desteğiyle derlendiğinden emin olmak. ffmpeg -version ile sürümü kontrol edin ve ffmpeg -hide_banner -encoders | grep vulkan komutuyla av1_vulkan kodlayıcısının listede olup olmadığına bakın. Ardından, vulkaninfo aracıyla sürücünüzün AV1 kodlama uzantısını destekleyip desteklemediğini sorgulayın. vulkaninfo | grep -iE "video_encode_(av1|queue)" komutuyla VK_KHR_video_encode_av1 uzantısının listede olup olmadığını kontrol edin. Eğer bu uzantı yoksa, sürücünüzü güncellemek veya GPU'nuzun AV1 donanım kodlamasını desteklemediği anlamına gelir. Destekleyen GPU'lar genellikle son birkaç nesil AMD, NVIDIA (RTX 40 serisi ve üstü) ve Intel Arc'dır.
Sürücü desteğini doğruladıktan sonra, sentetik bir test videosu ile ilk kodlamayı yapın. ffmpeg -init_hw_device vulkan=gpu -filter_hw_device gpu -f lavfi -i testsrc2=duration=10:size=1920x1080:rate=30 -vf "format=nv12,hwupload" -c:v av1_vulkan -y /tmp/probe.mp4 komutuyla 10 saniyelik bir test videosu kodlayın. Çıktıda frame sayısı ve hız bilgilerini görmelisiniz. Başarılı olursa, gerçek bir video dosyasıyla aynı işlemi tekrarlayın. Bu kez, kod çözme işlemini de GPU'da yaparak PCIe veri yolunu kullanmaktan kaçının. ffmpeg -init_hw_device vulkan=gpu -hwaccel vulkan -hwaccel_output_format vulkan -i input_1080p.mp4 -c:v av1_vulkan -b:v 2M -maxrate 2.5M -bufsize 4M -c:a copy -y out_av1.mp4 komutuyla donanım kodlamanın performansını test edin.
Son adım, av1_vulkan'ı SVT-AV1 yazılım kodlayıcısıyla kendi içeriğiniz üzerinde karşılaştırmak. Her iki kodlayıcıyı da aynı bit hızında çalıştırın ve VMAF skoruyla kaliteyi ölçün. Beklendiği gibi, SVT-AV1 daha iyi kalite-bit oranı sunarken, av1_vulkan daha yüksek hız ve düşük güç tüketimi sağlayacaktır. Hangi iş yükü için hangi kodlayıcının uygun olduğunu belirleyin: arşiv amaçlı üst düzey videolar için SVT-AV1, canlı yayın veya ön izleme gibi hızın kritik olduğu durumlarda av1_vulkan tercih edin. Çapraz satıcı desteği sayesinde, farklı GPU'lar arasında geçiş yapmanız gerektiğinde tek bir kod yolu kullanmanın avantajını da unutmayın.