Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Video "Streaming" vs playing off directly from Files

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?

like image 503
夏期劇場 Avatar asked Mar 05 '15 07:03

夏期劇場


People also ask

What is the difference between streaming and playing?

If a video file is downloaded, a copy of the entire file is saved onto a device's hard drive, and the video cannot play until the entire file finishes downloading. If it's streamed instead, the browser plays the video without actually copying and saving it.

What is the difference between Stream and view?

In a view elements are recomputed each time they are accessed. In a stream elements are retained as they are evaluated.

What is the meaning of video streaming?

Video streaming is a continuous transmission of video files from a server to a client. Video streaming enables users to view videos online without having to download them. Streamed video content can include movies, TV shows, YouTube videos and livestreamed content.

Does streaming use more data?

Video streamingVideos are much more data intensive, so you get even less from your allowance. A standard quality video running at 480p uses 700MB every hour. HD quality, like that on your home TV, runs at up to 2K resolution and uses up to 3GB per hour.


1 Answers

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.

like image 93
Sander Avatar answered Sep 19 '22 23:09

Sander