The difference between streaming and live streaming?
Hmmm, I don't like any of these answers, even @Jimmery's own self-accepted answer. The answer by user2175703
was close but not quite on point.
- Downloading: the act of making a (typically HTTP GET) request to a (typically HTTP) server for an entire file. The client connects to the server, requests the file (movie, song, image, PDF, whatever), and the server sends the entire file, essentially all at once, back to the client. But under the download paradigm, you must wait for the entire file to finish downloading before you can open it up and view it.
- Streaming: is an alternative to downloading, and requires a special streaming client and a special streaming server both speaking a special streaming protocol. When you stream media, the streaming client (e.g. HTML5 Video, Flash, VLC, etc.) connects to the streaming server (e.g. VideoLAN, or Red5, or Wowza, etc.) over a streaming protocol (RTSP, etc.) and asks it to start streaming. The server then serves that media file (typically an MP4 or similar) back to the client over a length of time. The client is then able to start playing the media file as it is downloading/streaming from the server, and does not have to wait for the whole file to download first. With plain 'ole streaming though, the entire MP4 (or similar) file is available to the media server prior to the client connecting to it and requesting a stream.
- Live streaming: Very similar to streaming, except in this case the MP4 file (or similar) is a "live" stream being recorded in real-time. Think of a webcam or a live video conference. Or some website casting a live sporting event. Or a podcast. Or instant cassettes (when will then be now? Soon.). Here, when the media server receives a request to stream the MP4, the MP4 is still in the process of being made (afterall, it's live!).
- So with regular (non-live) streaming, the MP4 file is a static, pre-recorded file living somewhere on a file system that the media server has access to
- But with live streaming, the MP4 is essentially a container with both an input stream and an output stream:
- Something, somewhere is streaming a live feed to the MP4 file
- The media server is then reading this file, as it is updated on the fly, and streaming the new content to any connected clients
This isn't exactly what's going on under the hood with live streaming (its pretty complicated actually), but is close enough to give a good 10,000-ft view of how it differs from non-live streaming.
HTH
Streaming: content created, edited and stored in a server, whenever a client made request, server will provide content.
Live Streaming: Content observed by the server and immediately (without any editing process) transferred to the clients connected to that server.