默认情况下,LAV解码器,但我想将ffdshow与硬件加速使用用于解码。我在文件 classid.cs
中看到了这些行public static readonly Guid FFDShowVideo = new Guid("04FE9017-F873-410e-871E-AB91661A4EF7");
public static readonly Guid FFDShowVideoRaw = new Guid("0B390488-D80F-4a68-8408-48DC199F0E97");
public static readonly Guid FFDShowVideoDXVA = new Guid("0B0EFF97-C750-462c-9488-B10E7D87F1A6");
使用的解码器是在 mediaUriplayer
中定义的public MediaUriPlayer()
{
Splitter = "LAV Splitter";
SplitterSource = "LAV Splitter Source";
VideoDecoder = "LAV Video Decoder";
AudioDecoder = "LAV Audio Decoder";
}
所以问题是,如何启用ffdshowvideodxva?解码器的正确名称是什么,或者我在这里完全错误的路径?
,如果我设法启用ffdshowvideodxva,是否默认启用了硬件加速度(如果没有启用,我如何编程启用它?
帮助非常感谢。
LAV过滤器也具有HW加速度,请参见https://github.com/Sascha-L/WPF-MediaKit/wiki/Usage
。但是,必须手动设置。已经有一个GitHub问题#31可以自动设置加速度。
如果要执行FFDShow可以设置MediaUriPlayer.VideoDecoder, Splitter
属性。(这些GUIDS不在代码中使用。)我不知道ffdShow的详细信息,但是IMO是相似的:您必须手动设置DXVA。