I would advise you to use Open Source product VideoLAN, see
http://en.wikipedia.org/wiki/VideoLAN[
^], this is a media streaming and media conversion library and the application VLC (VideoLAN client) with enormously wide range of feature, including P2P streaming.
As you want to use C#, .NET wrapper is also available:
http://sourceforge.net/projects/libvlcnet/[
^].
—SA