2009-04-19 6 views
1

Ich arbeite an einer Video-Processing-Bibliothek in C# und möchte Videos auf Windows XP up anzeigen. Zu diesem Zweck verwende ich derzeit eine benutzerdefinierte doppelt gepufferte UserControl mit überschrieben OnPaint, die Graphics.DrawImageUnscaled verwendet. Das funktioniert in Ordnung, ist aber nicht ideal.Video-Overlay unter Windows (mit C#?)

Daher würde ich gerne eine Videoanzeige mit hardware overlay implementieren, wie so viele andere Video-Player.

Wie mache ich das? In C#? Oder C/C++?

Jede Hilfe wird geschätzt.

Antwort

2

Ich landete OpenGL über die hervorragende OpenTK Bibliothek, die Effektiv auf Windows, Linux und Mac OS X funktioniert, ich kopiert die Frames in eine Textur, die dann auf ein Quad abgebildet, das das gesamte Ansichtsfenster ausfüllt. Funktioniert wie ein Ass.

Vielen Dank für Ihre Vorschläge,

Christian.

0

Haben Sie über DirectShow nachgedacht? Here's an example.

+1

Ich habe mir das angeschaut und es wäre ziemlich plump zu verwenden, da Microsoft DirectShow in einer verwalteten Umgebung offiziell nicht unterstützt. – cr333

1

Haben Sie sich WPF und die MediaElement Class?

+0

Vielen Dank für diesen Vorschlag, aber ich verwende derzeit nicht WPF. – cr333