2009-08-26 4 views
2

In der Vergangenheit habe ich Managed Direct X und DirectShow.Net verwendet, um ein Video zu einer Textur auf einem einfachen Mesh abzuspielen. Ich habe dann dieselbe Technik verwendet, um mehrere Videoquellen zu einer einzigen Textur zu kombinieren, indem ich die verschiedenen Fähigkeiten, die durch Texturen verfügbar sind, verwende, um diese Ströme zu mischen. Dies war ein sehr interessantes Experiment vor 2 Jahren und war sehr geeignet für den Zweck, als Managed Dirext X noch entwickelt und unterstützt wurde (was nicht mehr der Fall ist) und ähnlich mit DirectShow.Net - es scheint nicht so, als wäre es aktualisiert worden Seit Juli 2007.Wie kann ich zwei Videostreams in C# mischen?

Ich möchte in diesen Bereich wieder wagen und würde gerne wissen, wie dies in C# getan werden kann, ohne abgeschriebene oder am Ende der Lebensdauer APIs und wie man es am besten anwendet.

Antwort

3

Es ist sehr einfach in WPF zu tun.

Verwenden Sie zwei MediaElement Bedienelemente übereinander und machen Sie das obere 50% transparent.

Aber ich glaube nicht, ist es möglich, sie in ein neues Video

+0

Ich denke, das ist eine wirklich interessante Idee für eine scheinbar einfache Implementierung dieses Problems. Ich werde das ausprobieren und sehen, was ich noch mit dem Videobrush machen kann. –

2

Sie SlimDX Open-Source-Bibliothek verwenden können, speichern, die gleichen wie fast gleich wie MDX und Directshow ist und Unterstützung in Vista haben auch in win7. 0

+0

Ich habe noch nie von dieser Bibliothek gehört, danke, dass Sie darauf hingewiesen haben. Wenn ich den schweren Hebeweg hinuntergehe - ich werde es überprüfen. –

0

Ich tat genau das um 2003 I mit anderen Worten, Zeiger unsicheren Code zu verwenden, hatte jeden Bildrahmen aus COPIED konvertieren das beide Video in RGB-Format-Streams und mittle jeden Pixelwert und konvertiere dann zurück in das ursprüngliche Format. Der Leistungseinbruch ist so groß, wenn Sie keinen unsicheren Code verwenden. Mein Verständnis ist, dass die DirectShow beim Umgang mit Video-Stream die Magie tut, indem sie automatisch viele Codecs ausrichtet, um die Tat zu tun. In der Zwischenzeit müssen diese Bildströme Thread-sicher und ordnungsgemäß synchronisiert sein, was eine Menge Overhead bedeutet. Aber jemand, der es besser weiß, sollte darauf eingehen.

Verwandte Themen