✦Mühendislik

Donanım video kodlayıcıları karşılaştırması: NVENC, AMF, QuickSync ve Apple VideoToolbox.

Dört üretici. Dört sabit işlevli silikon bloğu. Tek bir iş — bir piksel karesini, saniyede altmış kez, hiçbirini atlamadan, beş milisaniyenin altında birkaç kilobaytlık H.265 ya da AV1'e dönüştürmek. NVIDIA, AMD, Intel ve Apple'ın düşük gecikmeli aktarım için gerçekte nasıl karşılaştığı ve Remio'nun çalışma zamanında doğrusunu nasıl seçtiği burada.

Uzak masaüstü için donanım kodlayıcılar neden önemli

Hızlı bir CPU çekirdeğinde libx264 ile tek bir 1080p kareyi kodlayın. Modern bir Apple M serisi ya da Ryzen 7000'de ultrafast ön ayarı için kabaca 8 ila 12 milisaniyeye ulaşabilirsiniz; kaliteyi korumaya çalışan her şey için daha uzun. Bütçeyi hatırlayana kadar bu katlanılabilir görünür: 60 FPS'te kare başına 16,6 milisaniye. Şimdi yakalama, paketleme, ritimleyici kuyruğu, ağ çıkışı, çözme ve çizimi ekleyin. CPU kodlaması sizi yalnızca yavaşlatmaz — tüm gecikme bütçesini yer ve 1080p60'ın ötesinde herhangi bir şeyde kare atlar.

Donanım kodlayıcılar bunu aynı iş için ayrılmış sabit işlevli silikonla çözer. NVIDIA bloğuna NVENC der. AMD'ninkine AMF (daha doğrusu AMF'nin yönettiği VCN motoru). Intel'inkine QuickSync (iGPU'larının içindeki Media Engine). Apple'ınkine VideoToolbox (API; silikon, M serisi ve A serisi yongalardaki Media Engine). Dördü de tek bir nedenle var: yazılım kodlaması, modern ekranların, modern ekran kartlarının ve modern kullanıcıların artık beklediği gecikme ve kare hızı hedeflerini karşılayamaz.

Özellikle Remio için, kodlayıcıda kazanılan her milisaniye, kullanıcının ritimleyicide, ağda ve çizicide geri aldığı bir milisaniyedir. Yayımlanmış gecikme bütçemiz yerel ağda yaklaşık 8 ms işlemeyi hedefler (gerisi ekranınızın kendi 60 Hz yenileme ritmidir) — kodlama süresi tek başına en büyük değişkendir. Kodlayıcı seçimi ve o kodlayıcının yapılandırması, aşağı akıştaki her şeyi belirler.

Dört üreticiye genel bakış

Her birine derinlemesine girmeden önce, aslında neyi karşılaştırdığımızı anlamak yardımcı olur. Bunlar birbirinin yerine geçen kütüphaneler değil — kalıp üzerindeki fiziksel bloklar; her birinin kendi komut kümesi, kendi sürücü yığını, kendi tuhaflıkları ve çok yıllı kendi yol haritası var. Hangi kodekleri desteklediklerinde, hangi kaliteyi ürettiklerinde, hangi gecikmeye ulaştıklarında, ne kadar güç çektiklerinde ve hangi platformlarda var olduklarında farklılar.

NVENC — NVIDIA'nın sekiz nesillik inceltmesi

NVENC, çoğu aktarım yazılımının karşısında kıyaslandığı kodlayıcıdır; kısmen NVIDIA'nın pazarlama bütçesi olduğu için, kısmen de silikon gerçekten on yıldır mükemmel olduğu için. Blok sekiz nesilden geçti:

Düşük gecikmeli kullanım için NVENC üç ilgili hız denetimi modu sunar. low-latency ayarlı CBR ve p1 ön ayarı (en hızlı) standart yapılandırmadır: belirleyici çıkış hızı, tek kare ileri bakış, B-kare yok. Remio, Windows'ta hevc_nvenc üzerinde çalışırken tam olarak bunu kullanır. Ada Lovelace'ta 1080p60 H.265 için kodlama süresi tutarlı biçimde 1 ila 3 ms.

Tarihsel bir tuzak: tüketici NVENC'i yıllarca NVIDIA'nın sürücüsü aracılığıyla üç eş zamanlı kodlama oturumu ile sınırlıydı. Bu sınır 2023'te sekize çıkarıldı, sonra fiilen kaldırıldı. Bunu uyaran eski bir forum başlığı okuyorsanız, uyarı artık geçerli değil.

AMF — sonunda yetişen AMD'nin geriden gelen oyuncusu

AMD'nin AMF'si (Advanced Media Framework) API'dir; alttaki motor iki ayrı mimariden geçti. Eski VCE (Video Coding Engine) 2012'den itibaren GCN dönemi kartlarla geldi ve baş başa kodlayıcı karşılaştırmalarında hep zayıf noktaydı — eşleşen bit hızında NVENC'ten görünür biçimde daha kötü kalite, özellikle hareketli içerikte. AMD bunu biliyordu, yayıncı topluluğu biliyordu ve kıyaslamalar doğruladı.

Bu hikâye Vega'da tanıtılan ve sonraki her nesilde inceltilen VCN (Video Core Next) ile değişti:

Düşük gecikmeli aktarım için AMF bir ultralowlatency kullanım ön ayarı, bir speed kalite ön ayarı ve bir cbr hız denetimi modu sunar. Remio, hevc_amf ile üçünü de kullanır — aktarım mimarisi notlarımızda belgelenen aynı ön ayar üçlüsü. RDNA3'te 1080p60 H.265 için kodlama süresi tipik olarak 2 ila 4 ms. RDNA2 yaklaşık 3 ila 5 ms. Daha eski VCN 1.x dönemi kartlar 5 ila 7 ms'ye daha yakın çalışır — hâlâ bütçe içinde, ama anahtar kare sıçramaları için daha az pay bırakır.

Beş yıl boyunca AMD'nin kodlayıcısı bir şakaydı. RDNA2 bunu düzeltti. RDNA3 AV1'de rekabetçi hale getirdi. Aktarım kodlayıcısı ikilisi artık üçlü ve bu herkes için iyi.

QuickSync — sessiz yaygınlık şampiyonu

QuickSync, neredeyse kesinlikle zaten sahip olduğunuz kodlayıcı. 2011'deki Sandy Bridge'den beri entegre grafikli her Intel işlemcide bulunuyor — yani on yılı aşkın süredir, kullanıcı ayrık bir ekran kartına ihtiyaç duyduğunu varsaydığı için kullanılmadan duran donanım video kodlamasına sahip dizüstüler, NUC'lar ve ofis masaüstleri. İhtiyaçları yoktu.

Mimari, Intel'in iGPU soyuyla adım adım ilerledi:

Isıl profil QuickSync'in sessiz süper gücü. SoC üzerinde zaten bulunan bir iGPU'nun içinde yaşadığı için, kullanmanın marjinal maliyeti yalnızca kodlama bloğu — ayrık bir ekran kartını uyandırmak yok, GDDR6 bellek denetleyicilerini çalıştırmak yok. Bir ThinkPad ya da NUC'ta QuickSync, sistem düzeyinde kabaca dörtte bir güçle NVENC'e yakın kalite sunar. Remio'nun Windows ana bilgisayarı için QuickSync, NVENC ve AMF'den sonra üçüncü tercih yedektir — daha kötü olduğu için değil, ayrık ekran kartı olan kullanıcılar genellikle iGPU'larını başka iş yükleri için boş istediği için.

VideoToolbox — Apple Silicon'un birleşik Media Engine'i

Apple, NVIDIA'nın yaptığı gibi donanım kodlayıcısı için bir marka adı pazarlamaz. API VideoToolbox; silikon ise her M serisi Mac'in ve A6'dan beri her iPhone/iPad SoC'sinin içinde yaşayan, Apple tasarımı Media Engine bloğudur.

Media Engine, modele bağlı olarak farklı sayılarda gelir:

Her Media Engine, H.264, H.265 ve ProRes kodlama/çözmeyi donanımda yönetir. ProRes kodlama video editörleri için manşet özellik — başka hiçbir tüketici yongası bunu sunmaz — ama aktarım için ilgili yetenekler verimli H.265 main10 kodlama ve şaşırtıcı derecede düşük kodlama gecikmesi.

Dikkate değer tek boşluk: sevk edilen hiçbir Apple Silicon'da AV1 kodlaması yok. M serisi yongalar AV1'i M3'ten beri çözer ama kodlayamaz. Bir Mac'ten aktarırken, öngörülebilir gelecekte pratik varsayılan H.265.

Apple'ın gerçekten kazandığı yer güç verimliliği. 4K60 H.265'i 30 Mbps'de kodlayan bir M2 Pro'da tüm Media Engine kabaca 3 ila 5 watt çeker. Bir RTX 4070'te eşdeğer NVENC iş yükü, çoğu ayrık ekran kartının boşta tabanı olan, kodlayıcı bloğu olmayan, sistem düzeyinde 35 watta daha yakın çeker. 7/24 açık, bir istemciyi bekleyen bir Mac mini ana bilgisayar için bu, "elektrik faturasında zar zor fark edilir" ile "aktif biçimde fark edilir" arasındaki farktır.

Yan yana karşılaştırma

Dört motor aynı eksenlerde. Gecikme rakamları 1080p60 H.265 ultra düşük gecikme ön ayarları, B-kareler kapalı, tek kare VBV — Remio yapılandırması. Kalite, 8 Mbps CBR'de algısal kaba bir sıralamadır; mutlak farklar küçük.

Eksen NVENC (Ada) AMF (RDNA3) QuickSync (Arc / Gen12+) VideoToolbox (M3+)
H.264EvetEvetEvetEvet
H.265 (HEVC)EvetEvetEvetEvet (main10)
AV1 kodlamaEvetEvetEvetHayır
ProRes kodlamaHayırHayırHayırEvet
Azami çözünürlük8K H.2658K H.2658K (Arc), 4K (iGPU)8K H.265
1080p H.265'te azami FPS~480~360~360~600 (M3 Max)
Kodlama süresi, 1080p60 H.2651-3 ms2-4 ms2-4 ms2-3 ms
Güç tüketimi, 4K60 H.265~35 W sistem~30 W sistem~8 W sistem (iGPU)~5 W
8 Mbps CBR'de kalite sırasıBirinci (berabere)İkinci (berabere)İkinci (berabere)Birinci (berabere)
PlatformlarWindows, LinuxWindows, LinuxWindows, Linux, macOS (Intel Mac'ler)macOS, iOS, iPadOS, tvOS
Eş zamanlı oturumlarSınırsızSınırsızSınırsızSınırsız

Dürüst özet: uzak masaüstü aktarımının gerçekte kullandığı ayarlarda (CBR, düşük gecikme, B-kare yok) dördü de rahat bir farkla yeterince iyi. Ayırt edici unsurlar AV1 desteği (NVIDIA / AMD / Intel — Apple değil), güç verimliliği (Apple, sonra Intel iGPU, sonra herkes) ve platform erişilebilirliği (Windows ana bilgisayarda VideoToolbox'ı ya da Mac'te NVENC'i seçme şansınız yok).

Remio çalışma zamanında neyi seçer

Remio, başlangıçta ana bilgisayarın yeteneklerini yoklar ve belirleyici bir öncelikle kodlayıcı seçer. Windows ana bilgisayarı ve Mac ana bilgisayarı aynı seçim mantığını izler.

Windows ana bilgisayarlarda:

  1. NVENC (hevc_nvenc / h264_nvenc) — bir NVIDIA ekran kartı varsa ve sürücü yanıt veriyorsa ilk seçilir. En geniş donanım nesli yelpazesinde en tutarlı biçimde düşük gecikmeli kodlayıcı olduğu için tercih edilir.
  2. AMF (hevc_amf / h264_amf) — VCN'li bir AMD ayrık ekran kartı ya da APU varsa ikinci seçilir. usage=ultralowlatency, quality=speed, rc=cbr ile yapılandırılır.
  3. QuickSync (hevc_qsv / h264_qsv) — bir Intel iGPU varsa üçüncü seçilir. Hattımızda işlevsel olarak eşdeğer; ayrık ekran kartı varsa iGPU'yu boş bırakmayı tercih ederiz.
  4. libx264 CPU yedeği — yalnızca hiçbir donanım kodlayıcı yanıt vermediğinde seçilir. Gecikme bütçesi içinde kalmak için 720p60 ya da 1080p30 ile sınırlandı.

Apple ana bilgisayarlarda: VideoToolbox tek seçenek ve istediğimiz tek seçenek. Desteklenen her Mac'in (macOS 15+) içindeki Media Engine, H.265 main10'u kutudan çıktığı gibi yönetir. Yedek yola gerek yok.

Kodek tercihi önce donanım H.265, evrensel yedek olarak H.264 — baştan sona, her platformda. Remio bugün AV1 kullanmıyor (bunun için ana bilgisayar kodlaması, istemci çözmesi ve kodek anlaşması hatta henüz yok); teknik olarak AV1 yapabilen donanımda bile H.265'e bağlı kalıyor, çünkü yerel ağda darboğaz bit hızı değil, kodlama gecikmesi.

Kalite ve gecikme ödünleşimleri

Her donanım kodlayıcı aynı birkaç ayarı sunar ve her ayar kaliteyi gecikmeyle aynı yönde takas eder. Remio yapılandırması gecikme kadranının en agresif ucunda durur, çünkü uzak masaüstü tanım gereği gerçek zamanlı bir uygulamadır ve 20 ms'den eski bir kare, ideale göre biraz bulanık bir kareden daha kötüdür.

Örüntü dört üreticide de tutarlı. Gerçek zamanlı düşük gecikme kısıtlı bir eniyilemedir: çevrimdışı kodlamada ileri bakışın ve B-karelerin satın aldığı yüzde birkaçlık kaliteden vazgeçersiniz, karşılığında gerçek zamanlı etkileşimin gerektirdiği öngörülebilir gecikmeyi alırsınız. Sevk edilen her aktarım ürünü — Remio, Parsec, NVIDIA GeForce NOW, Xbox Cloud Gaming — aynı takası aynı yönde yapar.

Siz (kullanıcı) aslında neye önem vermelisiniz

Sona atladıysanız: herhangi bir modern ekran kartının donanım kodlayıcısı uzak masaüstü için iyidir.

Gerçek zamanlı yapılandırmalardaki farklar, herhangi bir makul kıyaslamanın gürültü tabanından daha küçük. Pascal GTX 1060 kullanıcısı, RTX 4090 kullanıcısıyla aynı Remio deneyimini yaşar — ikisi de 120 FPS hattını yaklaşık 8 ms işleme gecikmesinde doyurur (gerisi ekranınızın kendi 60 Hz yenileme ritmidir), ikisi de yerel ağ bit hızlarında ayırt edilemeyen çıktı üretir.

İstisnalar, ne sıklıkta önemli olduklarına göre sırayla:

Bu uç durumların ötesinde doğru yanıt en basiti: zaten alacağınız ekran kartını kullanın. Her modern üretici aynı yeteneklere, aynı düşük gecikmeli ön ayarlara, aynı kalite zarfına yakınsadı. Remio çalışma zamanında doğrusunu seçer, siz düşünmek zorunda kalmazsınız. Uzak masaüstü oturumunu ne için açtıysanız onunla ilgilenin — kod yazmak, video kurgulamak, sunucu düzeltmek, bir kafeden düzeltme göndermek.

Sabit işlevli silikonun bütün amacı bu. Sadece çalışır ve onu fark etmeyi bırakırsınız.

✦Sorular

Sık sorulan sorular

Hangi donanım kodlayıcının gecikmesi en düşük?
Dördü de — NVENC, AMF, QuickSync ve Apple VideoToolbox — düşük gecikme modunda, B-kareler kapalı ve 1 kare VBV arabelleğiyle yapılandırıldığında 1080p60'ta kare başına 5 milisaniyenin altında kodlama süresi sunabilir. M serisi silikonda Apple VideoToolbox ve Ada Lovelace'ta NVENC pratikte en sıkı olanlar; ikisi de ölçümlerimizde 1080p60 H.265 için rutin olarak 2 ila 3 milisaniyeye ulaşıyor.
AV1 donanım kodlaması kullanmaya değer mi artık?
AV1 donanım kodlaması, aynı algılanan kalitede H.265'e göre kabaca yüzde 25 ila 30, H.264'e göre yüzde 50 bit hızı azaltımı sağlar. Kısıtlı ağlarda (yavaş Wi-Fi, mobil veri) anlamlı. Yerel ağda pratik bir fark yaratmaz, çünkü darboğaz bant genişliği değil, kodlama gecikmesi. Remio bugün baştan sona donanım H.265 sunuyor, evrensel yedek olarak H.264 ile — AV1 destekleyen donanımda bile henüz hatta değil.
Apple Silicon gerçekten ayrık ekran kartı kodlayıcılarıyla rekabet ediyor mu?
Evet ve enerji verimliliğinde çoğu zaman kazanıyor. Apple'ın M2 ve sonrasındaki birleşik Media Engine'i, 4K60 H.265'i kabaca 3 ila 5 watt ile kodlar; aynı işi yapan ayrık ekran kartı NVENC motorunun onda birinin çok altında. Kalite eşleşen bit hızında NVENC ile rekabetçi ve gecikme karşılaştırılabilir. Apple henüz AV1 kodlaması sunmuyor; ana boşluk bu.
Remio Windows'ta hangi kodlayıcıyı kullanır?
Remio otomatik olarak şu sırayla algılar: NVENC, sonra AMF, sonra QuickSync, sonra CPU yedeği (libx264). Ultralowlatency ön ayarlı, B-kareler kapalı, 1 kare VBV arabellekli ve yerel ağda 30 Mbps'ye kadar uyarlanan 8 Mbps CBR ile H.265 hevc_amf ya da hevc_nvenc'i tercih eder. Aynı yapılandırma felsefesi üç donanım yolu için de geçerli — yalnızca FFmpeg kodek adı ve birkaç üreticiye özgü ön ayar dizesi değişir.
Remio neden varsayılan olarak H.264 yerine H.265'i tercih ediyor?
H.265, H.264'ün kabaca yarısı bit hızında aynı algılanan kaliteye ulaşır; bu, anahtar kare sıçramaları ve aktarılan oturumlar için önemli. Donanım H.265 kodlama ve çözme artık Remio'nun hedeflediği her modern Apple, Intel, AMD ve NVIDIA yongasında standart. H.264, çok eski donanım ve H.265 anlaşmasının başarısız olduğu birkaç bağlantı için evrensel yedek olarak kalıyor.
Uzak masaüstü için hangi donanım kodlayıcıya sahip olduğum önemli mi?
Çoğu kullanıcı için hayır. Son altı yılda sevk edilen herhangi bir donanım kodlayıcı — Pascal dönemi NVENC, VCN 2.0+ AMF, Skylake ya da daha yeni QuickSync, herhangi bir Apple Silicon Mac — Remio'nun 120 FPS hattını yerel ağda yaklaşık 8 ms işlemeyle doyurur (gerisi ekranınızın kendi 60 Hz yenileme ritmidir). Farklar kenarlarda: yavaş ağlarda AV1, dizüstülerde enerji çekişi ve çok düşük bit hızlarında kalite. Zaten alacağınız ekran kartını seçin, kodlayıcı iyi olacaktır.
Remio uygulama simgesi

Silikon işi yapsın.

Remio, NVENC, AMF, QuickSync ya da VideoToolbox'ı otomatik algılar ve donanımınız için en hızlı yolu seçer. Ücretsiz, hesap yok, yerel ağda yaklaşık 8 ms işleme.

Kullanımı ücretsizHesap yok30 saniyede eşleşir