我正在接收多个x264 RTSP流,我正在使用libVLC对它们进行解码,并且我希望使用硬件加速来完成任务。
如果我在Windows上使用VLC播放器本身,我可以在简单的Preferences->Input/Codecs->Hardware-accelerated解码中选择"DirectX视频加速(DXVA) 2.0“,与禁用该选项相比,我可以看到CPU利用率显著下降。
在C++代码中,我试图将选项“-avcodec-hw= dxva2 2”添加到libvlc_new()的参数中,但是没有运气,似乎没有使用硬件加速(我可以说解码速度比dxva2开启的播放器慢50% )。
发布于 2016-02-07 09:41:39
找到了。该选项必须传递给libvlc_media_add_option(),而不是libvlc_new()。注意,该选项随库的不同版本而改变。对于VLC 2.2.1,它适用于以下几个方面:
libvlc_media_add_option(m,“:avcodec=dxva2 2”);
其中dxva2代表DirectX解码器。在UNIX系统中,参数的值将是不同的(我认为是vda或vaapi )。
https://stackoverflow.com/questions/34675182
复制相似问题