2 Internet multimedia services and applications
2.3 Live streaming

Live streaming is a process when multimedia is delivered to a client (user) live over the Internet. Streaming means that multimedia is constantly received by the end user device and then shown to that end user. Streaming is similar to downloading, i.e. it is a process of delivering media but this delivering has to meet special regular conditions. In case of downloading data are available after last byte is received. In case of streaming data (e.g. movie) can be processed (e.g. played by a user’s media player) before the entire file has been transmitted.

The streaming process must be allowed by convenient audio and video codec in case of multimedia. In case of audio streams audio codec such as MP3, Vorbis or AAC can be used for audio compression. In case of video streams a video codec such as H.264 or VP8 can be used for video compression. Encoded/compressed audio and video streams are assembled/multiplexed to a container bit stream. Examples of available containers are ASF, MP4, WebM, FLV or ISMA.

A streaming server delivers the bit stream to a streaming client using a transport protocol. The most used transport protocols are Adobe's RTMP or RTP. There is also adaptive bit rate streaming over HTTP (as an alternative to proprietary transport protocols) which originated by merge of modern technologies such as Adobe's HDS, Apple's HLS, Microsoft's Smooth Streaming and non-proprietary formats such as MPEG-DASH. Live streaming is often used when video from an event venue is delivered using a streaming transport protocol to a cloud transcoding service and CDN. Then CDN distributes video to user homes using HTTP based transport protocols.