我正在接收多个x264 RTSP流,我正在使用libVLC解码它们,我想使用硬件加速来完成任务。
如果我在Windows上使用VLC播放器本身,我可以在简单首选项中选择“DirectX视频加速(DXVA)2.0” - >输入/编解码器 - >硬件加速解码,我可以看到CPU显着下降与禁用该选项相比,利用率。
在C ++代码中,我尝试将选项“--avcodec-hw = dxva2”添加到libvlc_new()的参数但没有运气,似乎没有使用硬件加速(我想说解码是50比播放dxva2的播放器慢%{/ p>
答案 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)