NVIDIA vs. AMD transcoden geeft verschillende bestandsgroottes

Hallo, ik heb onlangs een oudere RTX 3070 TI-videokaart aan mijn pc toegevoegd (via een externe PCIE-slot met oculink). Ik was ervan overtuigd dat ik daarmee meer gelijktijdige streams kon verwerken dan met de ingebouwde AMD 780M in mijn NUC.

Ik merkte dat de AMD betere resultaten leverde met hetzelfde profiel (HEVC Mp4 maar opslaan als MPG-bestand) dan de NVidia. Ik heb verschillende tests uitgevoerd en hetzelfde gebeurde, ongeacht of het om een enkele encoding of meerdere gelijktijdige encodings ging.

Ik ben benieuwd waarom de AMD zoveel betere resultaten laat zien dan de Nvidia wanneer we geen Av1-codecs gebruiken?

Hoi Jay (@jator71), welkom in de community!

Het is heel gebruikelijk om verschillende bestandsgroottes te zien bij het vergelijken van hardware-encoders zoals NVIDIA (NVENC) en AMD (AMF), zelfs als je precies hetzelfde profiel gebruikt. Dit gebeurt omdat hardware-encoders fysiek verschillende chips op je GPU zijn, elk met hun eigen eigen algoritmen voor het afhandelen van videocompressie.

Dit zijn een paar redenen waarom je die verschillen ziet:

1. Verschillende Encoder-implementatie

NVIDIA en AMD gebruiken verschillende logica voor “rate control”. Wanneer MCEBuddy een opdracht doorgeeft (zoals een doelbitrate of kwaliteitsniveau), interpreteren de NVIDIA-chip en de AMD-chip die instructie anders. In veel gevallen streeft de HEVC-encoder van AMD standaard naar agressievere compressie, of gaat hij anders om met “Constant Quality” (CRF/QP) schalen dan NVIDIA.

2. Efficiëntie vs. Kwaliteit

Alleen omdat een bestand kleiner is, betekent dit niet per se dat het “beter” is. Meestal betekent dit dat het een lagere bitrate heeft. Misschien wil je controleren op:

  • Visuele artefacten: Bij dezelfde grootte kan de een er blokkeriger uitzien dan de andere.
  • Snelheid: De RTX 3070 Ti van NVIDIA is over het algemeen veel sneller in het coderen dan de geïntegreerde 780M, wat vaak de afweging is voor de iets grotere bestandsgrootte.