HEVC is the current generation video codec , along side with VP9, provide high efficiency compression compare to the popular H264. There’re plenty of HEVC encoders right now, both software and hardware acceleration encoder. Compare to software (x265), hardware acceleration  cut off at least 1/5 encoding time, thus cut off operation cost.

The popular HEVC hardware acceleration encoders available are QuickSync (run on Intel GPU) and NVENC (NVIDIA GPU). There’s a new one that come from NGCODEC, a company provide encoding service that run on AWS FPGA’s instance. Since there’re no cloud services provide instance that have QuickSync capability (available on E3 CPU family), we can only do a quick comparison of NVENC and NGCODEC

Setup and test case

  • NVENC: Google Cloud n1-standard-8 instance (8 vCPU, 30GB RAM) + Tesla T4 GPU
  • NGCODEC: AWS f1.2xlarge (8 vCPU, 122GB RAM, Xilinx Virtex UltraScale+ VU9P FPGAs )

Because NGCODEC only support up to 1080p60 , we can not compare 4K encoding capability . The source we used is the 1080p version of Tears of Steel, which we transcode to 3 versions:  HEVC 1080p 3Mbps, 720p 1.5Mbps, 480p 800Kbps . We use Netflix’s VMAF for video quality comparison.

The result

NVENC is almost double NGCODEC in term of compression speed here.

NGCODEC quality is better, but on a small margin. FYI, we can only spot a difference if there is a 6-points gap in VMAF score .

The cost is double on NGCODEC because of software license price.


NVENC is a better choice in this comparison , in term of cost and performance efficiency . If your concern is to keep the quality as high as possible, then the NGCODEC is a better option, although the differences is not much.

Credit to: HaiSK (haisk@uiza.io)