简单的问题,但我找不到答案。
我们决定使用转码引擎(最好是开源),我认为FFMPEG不使用硬件加速,但我不确定。
我相信ffmpeg使用libavcodec,这是在无数其他产品中使用的相同库,例如Handbrake。我不敢相信他们不支持硬件加速,因此,我的问题。
答案 0 :(得分:1)
libavcodec具有允许客户端实现硬件解码的API。我不认为Handbrake支持它。
这不使用CUDA内核或任何其他类型的SIMD语言,所有这些都对任务无用。它使用与GPU(或更新的CPU)一起打包的专用解码器硬件。 CUDA碰巧提供了一个访问它的API,这就是“CUDA支持”的含义。
答案 1 :(得分:0)
据我所知ffmpeg不使用CUDA,如果你对某些事情感到好奇 - CoreAVC Video Decoder在他们的H.264解码器中有这样的选择。
答案 2 :(得分:0)
我使用Loiloscope。自首次发布以来,它已经推出了CUDA加速转码。
答案 3 :(得分:0)
如果你调用avcodec_find_decoder()来获取解码器,FFmpeg将不会利用硬件加速来解码。相反,使用特定硬件解码器调用avcodec_find_decoder_by_name()将获得GPU利用率。例如:
AVCodec *avcodec_h264dec = avcodec_find_decoder_by_name("h264_cuvid");