如何在libVLC中启用硬件加速解码?

时间:2016-01-08 10:48:26

标签: directx vlc libvlc x264

我正在接收多个x264 RTSP流,我正在使用libVLC解码它们,我想使用硬件加速来完成任务。

如果我在Windows上使用VLC播放器本身,我可以在简单首选项中选择“DirectX视频加速(DXVA)2.0” - >输入/编解码器 - >硬件加速解码,我可以看到CPU显着下降与禁用该选项相比,利用率。

在C ++代码中,我尝试将选项“--avcodec-hw = dxva2”添加到libvlc_new()的参数但没有运气,似乎没有使用硬件加速(我想说解码是50比播放dxva2的播放器慢%{/ p>

1 个答案:

答案 0 :(得分:5)

找到它。该选项必须传递给libvlc_media_add_option(),而不是libvlc_new()。请注意,该选项随库的不同版本而更改。使用VLC 2.2.1,它对我有用:

  

libvlc_media_add_option(m,“:avcodec-hw = dxva2”);

其中dxva2代表DirectX解码器。在UNIX系统中,参数的值会有所不同(我认为是vda或vaapi)