【问题标题】:Does FFMPEG utilize CUDA or any other hardware acceleration yet?FFMPEG 是否使用 CUDA 或任何其他硬件加速?
【发布时间】:2017-08-17 11:30:15
【问题描述】:

简单的问题,但我找不到答案。

我们正在决定转码引擎(最好是开源的),在我看来 FFMPEG 不使用硬件加速,但我不确定。

我相信 ffmpeg 使用 libavcodec,与无数其他产品(例如 Handbrake)中使用的库相同。我不敢相信他们不支持硬件加速,因此,我的问题。

【问题讨论】:

    标签: cuda ffmpeg gpu hardware-acceleration libavcodec


    【解决方案1】:

    libavcodec 具有允许客户端实现硬件解码的 API。我不认为 Handbrake 支持它。

    使用 CUDA 内核或任何其他类型的 SIMD 语言,所有这些都对任务毫无用处。它使用与 GPU(或更新的 CPU)一起打包的专用解码器硬件。 CUDA 恰好提供了一个 API 来访问它,这就是“CUDA 支持”的意思。

    【讨论】:

      【解决方案2】:

      据我所知,ffmpeg 不使用 CUDA,如果您对可以使用的东西感到好奇 - CoreAVC Video Decoder 在他们的 H.264 解码器中有这样的选项。

      【讨论】:

        【解决方案3】:

        我使用 Loiloscope。自首次发布以来,它就具有 CUDA 加速转码功能。

        【讨论】:

          【解决方案4】:

          如果你调用 avcodec_find_decoder() 来获取解码器,FFmpeg 将不会使用硬件加速来解码。相反,使用特定硬件解码器调用 avcodec_find_decoder_by_name() 将获得 GPU 利用率。例如:

          AVCodec *avcodec_h264dec = avcodec_find_decoder_by_name("h264_cuvid");
          

          【讨论】:

            猜你喜欢
            • 2014-06-10
            • 2012-01-30
            • 1970-01-01
            • 2011-12-13
            • 1970-01-01
            • 2012-10-08
            • 2020-03-17
            • 2022-12-05
            • 2019-03-16
            相关资源
            最近更新 更多