Nvidia Video Codec SDK 代码解读

前言与动机

视频的软件编码复杂度很高,在实时应用中,需要快速的低复杂度编码,这时候就需要用硬件编码器了。Nvidia推出了基于GPU 的硬件编码器:NvCodec https://developer.nvidia.com/nvidia-video-codec-sdk,因为编码前的处理用到了GPU,可以直接在GPU上编码,数据不需要从GPU拷贝到CPU,节省了很多计算。

踩坑

  1. 根据Nvidia的文档介绍,NvCodec只支持部分GPU,主要是近两年出的GPU,包括GTX10系列,V系列,P系列,具体见https://developer.nvidia.com/video-encode-decode-gpu-support-matrix,需要注意的是,根据这个文档的介绍,GTX1080是不支持NvCodec的Encoder的,经过测试,也确实跑不通samples。
  2. NvCodec给了例程,但是API文档基本没有(反正我没找到),测试中发现,NvCodec支持h264和hevc两种编码器,但是h264似乎只支持4K及以下的分辨率(文档中没有看到说有分辨率限制),而hevc则支持最高8K的编码。

你可能感兴趣的:(视频处理,HEVC,cuda,视频编解码)