I'm not 100% sure what would work, just because I use many different containers and formats and I always have the freshest support software installed, so, for me, it's hard to figure out what should happen if you have it all set up from scratch. So, please understand that and just try to follow my suggestions and tell me if one or another option.
First option is to embed existing Windows Media Player control. This is how it can be done:
How to: Embed Windows Media Player on a Form[
^].
Another approach would be embedding WPF player
System.Windows.Media.MediaPlayer
:
MediaPlayer Class (System.Windows.Media)[
^].
Hosting a WPF control in a Forms application needs some extra effort. In many cases, it can be considered as a kind of overkill. This is how it can be done:
Walkthrough: Hosting a WPF Composite Control in Windows Forms[
^].
Now, the problem is the support of your stream. If you already have network streaming properly organized, you just set a right URI in the player. The problem might be the support of your container and codecs for H264. Frankly, I never remember which versions of Windows bundle what codecs by default, I just never rely on it; I can only say that "native" Windows support has been near-rudimentary; I never considered it as any decent. To work with Windows player, you can fix the codec support problem by installing the codec pack. Usually I recommend very comprehensive K-Lite Codec Pack:
K-Lite Codec Pack — Wikipedia, the free encyclopedia[
^],
Codec Guide: K-Lite Codec Pack — For Windows 10 / 8.1 / 7 / Vista / XP[
^].
(One side note: pay attention for the Media Player Classic Home Cinema which comes with it. I think it is infinitely better than any Microsoft player, but perhaps this is a matter of taste. :-))Now, another alternative is not to rely on any Microsoft player. One such product is VLC (Video LAN):
VideoLAN — Wikipedia, the free encyclopedia[
^],
VideoLAN — VLC: Official site — Free multimedia solutions for all OS![
^].
It does not depend on the codecs installed on Windows, it host them itself, because it is based on libav library (as well as FFMpeg). Please see for more detail:
VideoLAN — Wikipedia, the free encyclopedia[
^],
libavcodec — Wikipedia, the free encyclopedia[
^],
FFmpeg[
^],
https://en.wikipedia.org/wiki/FFmpeg[
^],
FFmpeg[
^].
You can use a .NET wrapper to be used in your application. Please see:
libvlc.net download | SourceForge.net[
^],
C Sharp — VideoLAN Wiki[
^],
ZeBobo5/Vlc.DotNet — C# — GitHub[
^].
By the way, VLC can also be used as a streaming service itself (and has many other uses — this is not really just a player). Please see my past answers:
need help in getting the streaming video from an other computer in C#[
^],
Preview selected file in Windows Explorer using C#[
^],
Streaming music files in vb.net without WMP[
^].
—SA