如何将FFDShow与WPF-MediaKit一起使用



默认情况下,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。

最新更新