views:

22

answers:

1

A few years ago, DirectShow was around and let you manage video on DirectDraw surfaces. But since then I think both technologies have been replaced. What's currently the best solution to let you make a Windows app which can let you composite/blend/mix videos/music together? Does one still need to go the DirectX route with surfaces/textures, or is functionality found in the core Windows APIs?

Examples might be to overlay an image on a playing video, overlay two videos on top of each other with a transition effect, etc.

Apart from core technologies to handle video/audio, are their good 3rd-party libraries? Or maybe the core APIs have enough functionality on their own?

A: 

If you're talking managed code?

Microsoft.DirectX.AudioVideoPlayback

Short tutorial here: http://forum.codecall.net/csharp-tutorials/20436-tutorial-playing-video-files-managed-directx.html

Cool, but is DX required these days? I kind of assumed WPF should have such features, but only from common-sense not any actual knowledge. And yes, managed is fine... no reason to use C++ for this so C# is an obvious option.
John
WPF, and Windows itself, are completely married to DirectX, but with more abstraction. Even if there's another way to do it, going through DirectX is probably the best way.