2017-09-24 2 views
1

Standardmäßig LAV Decoder, aber ich möchte ffdshow mit Hardwarebeschleunigung für die Decodierung verwenden. sah ich diese Zeilen in der Datei ClassId.csVerwendung von ffdshow mit WPF-Mediakit

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"); 

Die verwendeten Decoder in MediaUriPlayer

public MediaUriPlayer() 
{ 
    Splitter = "LAV Splitter"; 
    SplitterSource = "LAV Splitter Source"; 
    VideoDecoder = "LAV Video Decoder"; 
    AudioDecoder = "LAV Audio Decoder"; 
} 
definiert sind

Die Frage ist also, wie aktiviere ich FFDShowVideoDXVA? Wie lautet der richtige Name für den Decoder oder bin ich hier total falsch?

Und wenn ich es schaffe FFDShowVideoDXVA zu ermöglichen, ist die Hardware-Beschleunigung standardmäßig aktiviert (wenn nicht, wie kann ich es programmatisch aktivieren?

Hilfe sehr geschätzt.

Antwort

0

LAV-Filter haben HW-Beschleunigung auch siehe https://github.com/Sascha-L/WPF-MediaKit/wiki/Usage. es ist jedoch manuell eingestellt werden muss. es gibt bereits eine GitHub issue #31 die Beschleunigung automatisch einzustellen.

Wenn Sie erzwingen wollen, können ffdshow MediaUriPlayer.VideoDecoder, Splitter Eigenschaften festgelegt. (Diese GUIDs werden nicht im Code verwendet.) ich tun nicht ffdshow im Detail, aber IMO ich t ist ähnlich: Sie müssen DXVA manuell einstellen.