C# 如何将ffdshow与WPF Mediakit一起使用

C# 如何将ffdshow与WPF Mediakit一起使用,c#,wpf,dxva,ffdshow,wpf-mediakit,C#,Wpf,Dxva,Ffdshow,Wpf Mediakit,默认情况下,LAV解码器,但我希望使用硬件加速的ffdshow进行解码。 我在ClassId.cs文件中看到了这些行 使用的解码器在MediaUriPlayer中定义 所以问题是,如何启用FFDShowVideoDXVA?解码器的正确名称是什么?或者我完全走错了路 如果我成功启用了FFDShowVideoDXVA,那么默认情况下是否启用了硬件加速(如果没有,我如何以编程方式启用它 非常感谢您的帮助。LAV过滤器也具有硬件加速功能,请参见https://github.com/Sascha-L/WP

默认情况下,LAV解码器,但我希望使用硬件加速的ffdshow进行解码。 我在ClassId.cs文件中看到了这些行

使用的解码器在MediaUriPlayer中定义

所以问题是,如何启用FFDShowVideoDXVA?解码器的正确名称是什么?或者我完全走错了路

如果我成功启用了FFDShowVideoDXVA,那么默认情况下是否启用了硬件加速(如果没有,我如何以编程方式启用它


非常感谢您的帮助。

LAV过滤器也具有硬件加速功能,请参见
https://github.com/Sascha-L/WPF-MediaKit/wiki/Usage
。但是,必须手动设置。已经有了自动设置加速度的方法


如果要强制执行ffdshow,可以设置
MediaUriPlayer.VideoDecoder、Splitter
属性。(代码中不使用这些GUID。)我不知道ffdshow的详细信息,但在我看来是类似的:您必须手动设置DXVA。

LAV过滤器也有硬件加速,请参见
https://github.com/Sascha-L/WPF-MediaKit/wiki/Usage
。但是,必须手动设置。已经有了自动设置加速度的方法

如果你想强制执行ffdshow,可以设置
MediaUriPlayer.VideoDecoder,Splitter
属性。(代码中没有使用这些guid。)我不知道ffdshow的详细信息,但在我看来类似:你必须手动设置DXVA

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");
public MediaUriPlayer()
{
    Splitter = "LAV Splitter";
    SplitterSource = "LAV Splitter Source";
    VideoDecoder = "LAV Video Decoder";
    AudioDecoder = "LAV Audio Decoder";
}