Windows Media Foundation Team Blog

This blog is written by the Media Foundation team at Microsoft. It will provide in-depth information about Media Foundation programming, to help you get started with Media Foundation in your own applications. This blog also gives us a way to get feedback from the developer community, so that we can keep improving Media Foundation in future releases.

As our initial effort, we are releasing a suite of Media Foundation samples and tools.

The samples will demonstrate:

· How to transcode from one video format to another.

· How to dump a media file properties.                   

· How to render video frames onto a Direct3D 11 surface.

· How to program Media Foundation using C#.

Also, we will present a tool that combines playback, scrubbing, effects, archiving, and transcoding into a single application.

We plan to post a new sample about once every two weeks, for the next three months. For each sample, we’ll describe how the sample works and which APIs are used. You can use this blog as a handy tutorial book, so that you can jump into Media Foundation programming immediately.

You can find the official Media Foundation SDK documentation here: https://msdn.microsoft.com/en-us/library/ms694197(VS.85).aspx.

This posting is provided "AS IS" with no warranties and confers no rights.

Comments

  • Anonymous
    November 27, 2009
    I'd like to see two .net samples if possible:
  • play video to a DirectX (and XNA) texture. So I can use the texture for whatever I am doing.
  • how to encode video from the DirectX/XNA textures
  • play video from .net stream As for general, I'd really like to see more .net support, not just wrappers.
  • Anonymous
    November 28, 2009
    I second that re: .net support.  It seems very silly to not have a managed version at this stage of the game.

  • Anonymous
    November 30, 2009
    I've been using MF for about four months now under Windows 7 and have been really pleased with its performance and functionality. I usually use C# for commercial development though as it suits my business model so I am keen to be more informed about a managed operation environment for MF. In particular: -The asynchronous 'Pull' programming model in a managed media pipeline. GC vs reference lifetime tracking. -How media pipelines and media sessions are affected by managed custom media sources -Non-performance based penalties and restrictions incurred by adopting the managed MF API over unmanaged. -Managed pipeline objects: Interfaces obtained via casting a reference vs interface query via unmanaged pointer. Direct correlation between programming models/API engine operation? -Hardware decoders/encoders? DirectX via .Net 1.1 or unmanaged DirectX 9/10/11 wrappers?

  • Anonymous
    May 19, 2011
                           I am completely newbie to Media Foundation. I studied some basics of Media Foundation, I studied about Media Sources and Presentation Descriptors. There explained as, we can activate and deactivate required streams in a media session when we required. By this I raised with an idea...        My idea goes like this, if I am receiving 10 input video streams from a network and I am displaying to a end user in ten different windows. Is it possible to stop video playback of some of those streams and to reactivate those streams when we required back to view.        I don't know in reality it will be possible using Media Foundation or not. If it is possible I will try to learn in depth about Media Foundation. If it possible try to develop a sample for this.

  • Anonymous
    August 09, 2011
    Can you please release the "How to render video frames onto a Direct3D 11 surface" tutorial! Please! Please! Please!

  • Anonymous
    January 08, 2012
    Can you please give me a sample of transcode one file to streaming(such as http streaming)?please!

  • Anonymous
    February 08, 2012
    How can we implement

  1. VIdeo Capture->Effect->Preview
  2. VideoCapture->Effect->Enocde both together using Media Foundation
  • Anonymous
    February 11, 2012
    These all sound good, but where are the tutorials?! I'm looking for " How to render video frames onto a Direct3D 11 surface."

  • Anonymous
    February 28, 2012
    Awesome post. Thanks for sharing......... http://www.maurymw.com/