Labels

Tuesday 11 August 2015

what is streaming? how it is different from downloading?

Video Streaming - Terminology
  • Encode
    To convert raw audio and/or video content into compressed form using technologies such as MPEG.
  • Transcode
    To convert a video signal that is encoded in one technology (MPEG-2) into another (MPEG-4).
  • Transrate
    To change the bit rate of compressed video stream.
  • Transmux
    To convert to a different container format without changing the file contents.
  • Pull
    A Pull is a connection initiated by a streaming server to receive a broadcast from a designated encoder for re-distribution across a network.
  • Push
    A Push is a connection initiated by an encoder to a streaming server to receive a broadcast for re-distribution across a network. This requires a username and password.
  • Latency
    Latency refers to the amount of time taken for data to complete a return trip between two points.
  • ABR
    Adaptive BitRate Video Streaming, the protocol developed by apple and used for iOS (and many products)
  • RTMP
    Real Time Media Protocol, developed by Adobe used by Flash
  • CBR (Constant Bit Rate) encoding
    The encoding software attempt to keep the total bits/second constant through the entire video. This makes the size of the file predictable and easier to stream. Most modern CODECs will allow you to set an upper threshold on the bit rate and allow the rate to drop when it is not required for quality to help reduce the amount of bandwidth used.
  • Variable bit rate encoding (VBR)
    A method of encoding video that first analyses the video and then compresses it. While it can take up to twice as long to encode the video, they are compressed at an optimal rate for the smallest file size. The variability in the data rate of the data stream does not make it appropriate for RTSP streamed content, but good for progressive download or video on CDs or other physical media.


Video Streaming - Streaming vs. Download
We have two ways to view media on the internet: Downloading and Streaming. In this section, I'll briefly summarize each, and then later, address them more deeply.

 download_vs_streaming.png

  • Downloading
    When we download a file, the entire file is saved on our computer. This has some advantages (such as quicker access to different parts of the file) but has the big disadvantage of having to wait for the whole file to download before any of it can be viewed.
    The easiest way to provide downloadable video files is to use a simple hyperlink to the file. A slightly more advanced method is to embed the file in a web page using special HTML code.
    Delivering video files this way is known as HTTP streaming or HTTP delivery. For this reason it is easy to set up and use on almost any website, without requiring additional software or special hosting plans.
  • Streaming
    Streaming media works differently - the end user can start watching the file almost as soon as it begins downloading. In effect, the file is sent to the user in a constant stream, and the user watches it as it arrives. The obvious advantage with this method is no waiting. Streaming media has additional advantages such as being able to broadcast live events such as a webcast or netcast.
    True streaming video must be delivered from a specialized streaming server.
  • Progressive Downloading
    There is also a hybrid method known as progressive download. In this method the video clip is downloaded but begins playing as soon as a portion of the file has been received. This simulates true streaming, but doesn't have all the advantages.
    Most end users cannot tell the difference between the video delivered byprogressive download and that delivered via a streaming video server. They are all streams after all. It is not until we look very carefully at video player functions like how the navigation actually works (rewind and fast forward), that there is a difference.

    The progressive download method is using a standard web server to transmit the file. The streaming method is using a streaming media server.
    Streaming means that when a viewer clicks the button on a website, the video starts playing immediately, and it continues to play more or less smoothly to the end. To make this happen, the data rate of the encoded file must be smaller than the bandwidth capacity of the remote viewer; otherwise, the video will frequently stop playing.
    The technical definition of streaming video is video delivered via a streaming server, which is a software program that's dedicated to deliver streaming media. This is in contrast with a traditional web server. The streaming server has several additional functions over a standard web server:
  • Real-time flow control
  • Intelligent stream switching
  • Interactive clip navigation
In progressive download, the end user experience is similar to streaming media, however the digital file is downloaded to a physical drive on the end user's device, the digital file is typically stored in the temp folder of the associated web browser if the digital media was embedded into a web page or is diverted to a storage directory that is set in the preferences of the media player used for playback. The digital media file will stutter or stop play back if the rate of play back exceeds the rate at which the file is downloaded. The file will begin to play again after further download.















No comments:

Post a Comment