Streaming video on tablets and phones is a trend considered by mobile device producing companies and content providers. Video streaming makes watching real-time video possible by playing the video files without file download.
As raw, uncompressed video streams are enormous, video files are encoded and compressed before streaming to use as little bandwidth as possible. Video streaming solutions usually apply real-time data compression to lower bandwidth used for each connection.
Ways of Handling Network Limitations such as Latency & Bandwidth
Latency indicates the time necessary to traverse a file through the network. In the mobile world, latency is mostly a consideration for video file transfer. To overcome network limitation, like latency, video streaming software providers optimize the connection to the server system. They achieve this by replacing ordinary web servers with special-purpose media servers set up specifically for high-performance streaming.
The main goal for video streaming solutions is to have low latency, which indicates high network efficiency. Optimization is achieved by improving the speed of the transmission medium. Data transfer via copper wire has higher latency than transfer via optical fiber or radio waves. Dealing with latency issues includes coping with delays in the transmission by devices along the way – like routers and modems.
Bandwidth is another main concern for video streaming solutions. Generally, streaming media requires high bandwidth network connections. Watching high resolution streaming video requires high bandwidth. If the bandwidth for media streams is not sufficient and its bit rate drops below the rate needed to support immediate playback, video frames will be lost, and user experience will be impaired.
Dealing with bandwidth issues brings up several options for bandwidth optimization – via network settings and via server environment settings. Concerning network settings, special network protocols are used for streaming media, like Real Time Streaming Protocol (RTSP). If the content to be streamed is stored on a web server, HTTP is an option too. The optimization of bandwidth through server environment settings could go in several directions, like video streaming web services subscription, installing specialized commercial software on a web server, or buying commercial software for media streaming.
Pros and Cons of Broadcasting vs P2P Streaming
When looking for live video distribution methods, companies pick between two options - broadcasting vs peer-to-peer (P2P) streaming.
Broadcasting is an open system optimized for television, private network broadcasting, and interactive viewing. It provides high-quality video playback on hand-held devices. Broadcasting allows content providers to reach wider publicity, as it is supported regardless of geographic location. It ensures restricted access to subscribers and is an easily-expandable and inexpensive service.
P2P streaming redistributes video streams in real time on a P2P network. The prerecorded streams are sent between computers, which prevents server and network bottlenecks. But several cons should be considered - there is a delay for the arriving streams; the quality of the video depends on the number of users; there are also privacy issues to be considered as the tracker server records the user's address and sends it to other users who are willing to play the same video.
What is Multicasting and when is it a Good Choice
While broadcasting is transmitting data from one device to numerous other devices in a set address range, multicasting enables each device in the address range to communicate with all the others in the predefined group.
Multicasting is a good choice when reducing network bottlenecks caused by unicast content streams. If, due to multicasting, the video on demand functionality is lost, this problem could be fixed by adding STBs and caching servers.
Different Protocols Used and New Ones Developed
Real Time Stream Protocol (RTSP) or Hypertext Transfer Protocol (HTTP) is used for media streaming. For compressing video streams, video codecs like H.264 or VP8 are used. Audio and video streams are put together in MP4, FLV, ASF bitstream. New transport protocols such as Smooth Streaming, HLS, MPEG-DASH, HDS are used to enable adaptive bitrate streaming over HTTP.