What Is Streaming?: Client Device
What Is Streaming?: Client Device
What Is Streaming?: Client Device
The first websites were simple pages of text with maybe an image or two. Today, however,
anyone with a fast enough Internet connection can watch high-definition movies or make a
video call over the Internet. This is possible because of a technology called streaming.
Streaming is the continuous transmission of audio or video files from a server to a client. In
simpler terms, streaming is what happens when consumers watch TV or listen to podcasts on
Internet-connected devices. With streaming, the media file being played on the client
device is stored remotely, and is transmitted a few seconds at a time over the Internet.
Think of the difference between a lake and a stream: Both contain water, and a stream may
contain just as much water as a lake; the difference is that with a stream, the water is not all
in the same place at the same time. A downloaded video file is more like a lake, in that it
takes up a lot of hard drive space (and it takes a long time to move a lake). Streaming video is
more like a stream or a river, in that the video's data is continuously, rapidly flowing to the
user's browser.
If TCP is like a package delivery service that requires the recipient to sign for the package,
then UDP is like a delivery service that leaves packages on the front porch without knocking
on the door to get a signature. The TCP delivery service loses fewer packages, but the UDP
delivery service is faster, because packages can get dropped off even if no one is home to
sign for them.
For streaming, in some cases speed is far more important than reliability. For instance, if
someone is in a video conference, they would prefer to interact with the other conference
attendees in real time than to sit and wait for every bit of data to be delivered. Therefore, a
few lost data packets is not a huge concern, and UDP should be used.
In other cases, reliability is more important for streaming. For instance, both HTTP live
streaming (HLS) and MPEG-DASH are streaming protocols that use TCP for transport.
Many video-on-demand services use TCP.
What is buffering?
Streaming media players load a few seconds of the stream ahead of time so that the video or
audio can continue playing if the connection is briefly interrupted. This is known
as buffering. Buffering ensures that videos can play smoothly and continuously. However,
over slow connections, or if a network has a great deal of latency, a video can take a long
time to buffer.
What factors slow down streaming?
On the network side:
Network latency: A variety of factors impact latency, including where the content
that users are trying to access is stored.
Network congestion: If too much data is sent through the network, this can
degrade streaming performance.
Not enough bandwidth: For streaming video, home networks need about 4 Mbps
of bandwidth; for high-definition video, they will likely need more.