This might be one of most stupid questions but i still need to very clearly understand about Video "Streaming".
Here i'm talking about the Media Files only. (Not "Live" streaming)
Lets say i have happy.mp4
file. Then what is the way to go. (Or what are the differences):
Option (1):
happy.mp4
file over there.Option (2):
happy.mp4
file directly onto the Web Server (like: Apache)Obviously the Option (2) can also work. But why there's always an another option to use the "Streaming" servers, even for such on-demand "Files".
There's Option (1) because of, if we use Option (2) we can NOT compatibly deliver to the multiple devices (if the source is just the .mp4
file). Is it?
So what is the MAIN reason i should use a Streaming Server, please?
Let's first observe some trends in video delivery and presentation, with particular focus on the ways that content can be delivered to various devices and platforms.
The real picture is even more complicated but as you see, different devices focus on different formats, with MP4 being the only really universal factor.
Generally, MP4 is not satisfactory due to its lack of adaptive streaming and DRM support, which are both critical for presenting premium content. This means that if you are creating a video service, you will need to provide your content using multiple different formats, to cover all the client platforms.
This is the role of a media server like Wowza or Unified Streaming or Azure Media Services - these are products that can take a video in one input format and on-the-fly convert it to other formats, serving the same content in a different packaging format to different client devices.
If all you are doing is serving static MP4 files or already have your videos converted into all the formats you need, a media server is useless for you. Note that the media server makers will still try to sell you one! I see many customers using a media server without any need - they just do not realize that all they need is a web server.
Video files are just video files. With one exception (Smooth Streaming), no special server-side logic is needed and any random web server can deliver them to client devices just fine. Smooth Streaming does require a free plugin from Microsoft if you are using IIS as your web server or an equivalent if you are using something else. However, in today's world you can almost certainly use DASH everywhere instead of Smooth Streaming, alleviating the problem.
The word "streaming" is often used in marketing materials and is very flexible and misleading, so I recommend you avoid it. There is nothing special about delivering video data to players - at the end of the day, they are relatively large and important files but do not require special handling.