Introduction
Communicating video content may take a variety of forms. These may include a point-to-point communication and broadcast method in addition to the multicast method. To communicate video efficiently in a fraction of the initial downloading time, streaming video is an important requirement.
HTTP streaming
Video HTTP streaming is an internet-based communication mechanism where a central server streams information to the browser by initiating a request for a transaction to the client and maintaining a persistent connection between the server and the client. Communicating video content may take a variety of forms. These may include a point-to-point communication, broadcast method in addition to the multicast method according to the article (HTTP Video Streaming, 2010).
How HTTP works
HTTP streaming provides many approaches to downloading video for viewing. One such approach is to partition a compressed video by splitting it into packets, then commence packets delivery over the appropriate media in an encoded format Apostolopous, Tan, and Wee (2002) describe how the destination media decodes the file by playing it while maintaining a persistent connection with the source or server. Muthukrishnan (2009) notes that frame delivery must be sequential as any data that arrives late may not be useful. Media streaming may be over TCP, UDP, and other special methods. Under TCP, the delivery is persistent. The client maintains a persistent connection with the server with varying throughput.
Techniques (methods) of Streaming
IFrame
One of the techniques is Iframe. It allows for the embedment of one HTML element in another making it invisible. HTTP Video Streaming (2010) indicates that this dynamic web application method allows script tags to fill chunked blocks sent as invisible HTML elements or IFrames. Script tags executed in the web browser follow persistent loading events. This method lacks error-handling mechanisms to catch and throw exceptions. It does not track and maintain transaction states.
Script tag long polling
This cross-browser cross-domain implementation uses a created proxy server on a second-level domain for server security. According to HTTP Video Streaming (2010), the script tags executed on any HTML document point at any Uniform Resource Locater (URL) with any JavaScript code. Script elements created dynamically with varying payloads provide persistent communication between the client and the server.
Bandwidth Throttling
This technique enables one to download a video at a fraction of the actual time required to download the same video due to squeezing. The actual video is compressed and downloaded. Apostolopous, Tan, and Wee (2002) assert that the video is gradually restored to its initial size for viewing. Applications such as xmoov-php scripts have Throttling capabilities. Other techniques include Ajax with long polling, XMLhttpRequest with long polling, and XMLhttpRequest. Enabling these on one’s computer is possible by identifying and determining a combination of certain variables.
Video streaming
According to Apostolopous, Tan, and Wee (2002), Video Streaming requires a buffer before playback begins. Once the video has been transmitted in an encoded manner, the buffer provides temporary storage for data packets until the playout period commences. Muthukrishnan (2009) concludes that this enables a smoothing of throughput fluctuations, error resilience, bitstream synchronization, and reduced jitter.
Streamed video compression is achieved by considering the spatial redundancies of an image. McDonald (2009) asserts that numbers of pixels are partitioned into 8×8 bit blocks containing similar pixels. These are compressed and encoded before being transmitted in that manner.
References
Apostolopous, JG. Tan, W & Wee, SJ 2002, video Streaming: Concepts, Algorithms and Systems, Web.
HTTP Streaming, 2010, Web.
HTTP Video Streaming, 2010, Web.
McDonald, C 2009, iPhone HTTP Streaming with FFMpeg and an Open Source Segmenter, Web.
Muthukrishnan, S M 2009, Data Stream Algorithms, Web.