Do you have to write your own player?
I know one which is designed specially for this purpose: VideoLAN,
http://en.wikipedia.org/wiki/VideoLAN[
^], see also:
http://en.wikipedia.org/wiki/VLC_media_player[
^].
This is excellent Open Source project. VLC can also be used as a regular player supporting very many audio/video codecs and containers, a tool for conversion and a lot more. It can also be used to broadcast video right from the camera.
[EDIT]
A wrapper of VLC for .NET is also available:
http://sourceforge.net/projects/libvlcnet/[
^], so you can use it in your .NET software.
—SA