13

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):

  • Use one streaming server (like: Wowza)
  • Upload the happy.mp4 file over there.
  • Then get the stream link and put it on the website with a player (like: JWplayer).

Option (2):

  • Upload the happy.mp4 file directly onto the Web Server (like: Apache)
  • Put it on the website with a player (like: JWplayer).

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?

  • But the players like "JWplayer" can handle that part. Am i right?

So what is the MAIN reason i should use a Streaming Server, please?

夏期劇場
  • 15,969
  • 40
  • 121
  • 208

1 Answers1

16

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.

  • All web browsers are able to play back MP4 files.
  • Most web browsers are able to play back DASH video (MSE technology is required). This provides adaptive streaming and more advanced playback control features.
  • Safari is able to play back HLS video, which is the Apple variant of adaptive streaming.
  • With the help of plugins (Silverlight) all desktop browsers are able to play back Smooth Streaming video (Chome is dropping Silverlight support, though).
  • Android can consume MP4 and DASH video natively and with the help of custom libraries, Smooth Streaming video.
  • iOS can consume MP4 and HLS video and with the help of custom libraries, Smooth Streaming video.

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.

Sander
  • 23,719
  • 3
  • 49
  • 83
  • Dear Sander, thank you million to solve my long hanging mystery. This opens my eyes way more wider. So here only one more thing to clarify. Since you said: `serving static MP4 files or already have your videos converted into all the formats you need `, and since `i have MP4 files`, (only MP4 formats), this means i CAN go with this `MP4` files with `Apache + JWPlayer` only (without any Media Server). Is it please? (Because here is the example, with `MP4` format only, but i tested on all iOS/Android/Windows: http://support.jwplayer.com/customer/portal/articles/1406723-mp4-video-embed) – 夏期劇場 Mar 05 '15 at 08:11
  • 1
    If using MP4 files satisfies you, you should be fine with having Apache serve them directly to JWPlayer, yes. No need for a media server in such a situation. – Sander Mar 05 '15 at 08:36
  • @Sander Thank for your answer! you say that if we already have your videos converted into all the formats you need, a media server is useless. but what about the protocol ? does http is enalf ? what about something like for example rtsp ? – zeus Feb 04 '17 at 23:26
  • @loki HTTP/HTTPS is the standard streaming protocol for modern adaptive media, yes; RTSP is a legacy technology that is not often used anymore – Sander Feb 06 '17 at 07:19
  • @Sander thanks ... but what about hls? mpeg-dash? they also use http no ? – zeus Feb 06 '17 at 10:03
  • Yes, they also use HTTP/HTTPS. – Sander Feb 07 '17 at 06:49