0% found this document useful (0 votes)
34 views9 pages

Streaming Multimedia Networking Essentials

This document discusses multimedia networking applications and properties of video and audio. It describes three types of multimedia network applications: streaming stored audio/video, conversational voice/video over IP, and streaming live audio/video. It focuses on streaming stored video, explaining UDP streaming, HTTP streaming, and adaptive HTTP streaming approaches. HTTP streaming is commonly used today as it avoids the need for a separate media control server and allows video to traverse firewalls more easily compared to UDP streaming.

Uploaded by

Firaas Ahmed
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views9 pages

Streaming Multimedia Networking Essentials

This document discusses multimedia networking applications and properties of video and audio. It describes three types of multimedia network applications: streaming stored audio/video, conversational voice/video over IP, and streaming live audio/video. It focuses on streaming stored video, explaining UDP streaming, HTTP streaming, and adaptive HTTP streaming approaches. HTTP streaming is commonly used today as it avoids the need for a separate media control server and allows video to traverse firewalls more easily compared to UDP streaming.

Uploaded by

Firaas Ahmed
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

MODULE 5: MULTIMEDIA NETWORKING

5.1 Multimedia Networking Applications


• A multimedia network application can be defined as any application that employs audio or video.

5.1.1 Properties of Video


1) High Bit Rate
• Video distributed over the Internet use
→ 100 kbps for low-quality video conferencing.
→ 3 Mbps for streaming high-definition (HD) movies.
• The higher the bit-rate,
→ better the image quality and
→ better the overall user viewing experience.
2) Video Compression
• A video can be compressed, thereby trading off video-quality with bit-rate.
• A video is a sequence of images, displayed at a constant rate.
For example: 24 or 30 images per second.
• An uncompressed digital image consists of an array of pixels.
• Each pixel is encoded into a number of bits to represent luminance and color.
• There are two types of redundancy in video:
1) Spatial Redundancy
➢ An image that consists of mostly white space has a high degree of redundancy.
➢ These images can be efficiently compressed without sacrificing image quality.
2) Temporal Redundancy
➢ Temporal redundancy reflects repetition from image to subsequent image.
➢ For exanple:
If image & subsequent image are same, re-encoding of subsequent image can be avoided.
5.1.2 Properties of Audio
• PCM (Pulse Code Modulation) is a technique used to change an analog signal to digital data
(digitization).
• PCM consists of 1) Encoder at the sender and 2) Decoder at the receiver.

[Link] PCM Encoder


• Digital audio has lower bandwidth requirements than video.
• Consider how analog audio is converted to a digital-signal:
• The analog audio-signal is sampled at some fixed rate. This operation is referred to as sampling.
• For example: 8000 samples per second.
• The value of each sample is an arbitrary real number.
• Each sample is then rounded to one of a finite number of values. This process is called quantization.
• The number of such finite values is called as quantization-values.
• The number of quantization-values is typically a power of 2. For ex: 256(28) quantization-values.
• Each of the quantization-values is represented by a fixed number of bits.
• For example:
If there are 256(28) quantization-values, then each value is represented by 8 bits.
• Bit representations of all values are then concatenated to form digital representation of the signal. This
process is called encoding.
• For example:
If an analog-signal is sampled at 8000 samples per second & each sample is represented by 8 bits, then
the digital-signal will have a rate of 64000 bits per second (8000*8=64000).

[Link] PCM Decoder


• For playback through audio speakers, the digital-signal can be converted back to an analog-signal. This
process is called decoding.
• However, the decoded analog-signal is only an approximation of the original signal.
• The sound quality may be noticeably degraded.
• The decoded signal can better approximate the original analog-signal by increasing
i) sampling rate and
ii) number of quantization-values,
• Thus, there is a trade-off between
→ quality of the decoded signal and
→ bit-rate & storage requirements of the digital-signal.
5.1.3 Types of Multimedia Network Applications
• Three broad categories of multimedia applications:
1) Streaming stored audio/video
2) Conversational voice/video-over-IP and
3) Streaming live audio/video.

[Link] Streaming Stored Audio & Video


• The underlying medium is prerecorded video. For example: a movie.
• These prerecorded videos are placed on servers.
• The users send requests to the servers to view the videos on-demand.
• Nowadays, many Internet companies provide streaming video. For example: YouTube.
• Three key distinguishing features of streaming stored video:
1) Streaming
• The client begins video playout within few seconds after it begins receiving the video from the server.
• At the same time,
i) The client will be playing out from one location in the video.
ii) The client will be receiving later parts of the video from the server.
• This technique avoids having to download the entire video-file before playout begins.
2) Interactivity
• The media is prerecorded, so the user may pause, reposition or fast-forward through video-content.
• The response time should be less than a few seconds.
3) Continuous Playout
• Once playout of the video begins, it should proceed according to the original timing of the recording.
• The data must be received from the server in time for its playout at the client.
Otherwise, users experience video-frame skipping (or freezing).

[Link] Conversational Voice- and Video-over-IP


• Real-time conversational voice over the Internet is often referred to as Internet telephony.
• It is also commonly called Voice-over-IP (VoIP).
• Conversational video includes the video of the participants as well as their voices.
• Most of today‟s voice applications allow users to create conferences with three or more participants.
• Nowadays, many Internet companies provide voice application. For example: Skype & Google Talk.
• Two parameters are particularly important for voice applications:
1) Timing considerations and
2) Tolerance of data loss
• Timing considerations are important because voice applications are highly delay-sensitive.
• Loss-tolerant means
Occasional loss only causes occasional glitches in audio playback & these losses can be partially/fully
hidden.

[Link] Streaming Live Audio & Video


• These applications are similar to broadcast radio, except that transmission takes place over Internet.
• These applications allow a user to receive a live radio transmitted from any corner of the world.
• For example: live cricket commentary.
• Today, thousands of radio stations around the world are broadcasting content over the Internet.
• Live broadcast applications have many users who receive the same audio program at the same time.
• The network must provide an average throughput that is larger than the video consumption rate.
5.2 Streaming Stored Video
• Prerecorded videos are placed on servers.
• Users send requests to these servers to view the videos on-demand.
• The media is prerecorded, so the user may pause, reposition or fast-forward through video-content.
• Three categories of applications:
1) UDP streaming
2) HTTP streaming and
3) Adaptive HTTP streaming.
• A main characteristic of video-streaming is the extensive use of client-side buffering.
• Two advantages of client-side buffering:
1) Client-side buffering can mitigate effects of varying end-to-end delays
2) This can mitigate effects of varying amounts of available bandwidth b/w server & client.

5.2.1 UDP Streaming


• The server transmits video at a rate that matches the client‟s video consumption rate.
• The server transmits the video-chunks over UDP at a steady rate.
• UDP does not employ a congestion-control mechanism.
• Therefore, the server can push packets into the network at the video consumption rate.
• Typically, UDP streaming uses a small client-side buffer. (RTP → Real-Time Transport Protocol).
• Using RTP, the server encapsulates the video-chunks within transport packets.
• The client & server also maintain a control-connection over which the client sends commands (such as
pause, resume and reposition).
• The RTSP (Real-Time Streaming Protocol) is a popular open protocol for a control-connection.
• Disadvantages:
1) Unreliability
➢ UDP streaming can fail to provide continuous playout „.‟ of varying amt of available bandwidth
2) Costly & Complex
➢ A media control server (RTSP) is required
→ to process client-to-server interactivity requests and
→ to track client-state for each ongoing client-session.
➢ This increases the overall cost and complexity of deploying a large-scale application.
3) Firewall Problem
➢ Many firewalls are configured to block UDP traffic.
➢ This prevents the users behind the firewalls from receiving the video.
5.2.2 HTTP Streaming
• The video is stored in an HTTP server as an ordinary file with a specific URL.
• Here is how it works:
1) When a user wants to see the video, the client
→ establishes a TCP connection with the server and
→ issues an HTTP GET request for that URL.
2) Then, the server responds with the video file, within an HTTP response message.
3) On client side, the bytes are collected in a client application buffer.
4) Once no. of bytes in this buffer exceeds a specific threshold, the client begins playback.
• Advantages:
1) Not Costly & Complex
➢ Streaming over HTTP avoids the need for a media control server (RTSP).
➢ This reduces the cost of deploying a large-scale application.
2) No Firewall Problem
➢ The use of HTTP over TCP also allows the video to traverse firewalls and NATs more easily.
3) Prefetching Video
➢ The client downloads the video at a rate higher than the consumption rate.
➢ Thus, prefetching video-frames that are to be consumed in the future.
➢ This prefetched video is stored in the client application buffer
• Nowadays, most video-streaming applications use HTTP streaming. For example: YouTube

[Link] Client Application Buffer & TCP Buffers


• Figure 5.1 illustrates the interaction between client and server for HTTP streaming.
• On the server side,
1) The bytes of the video file are sent into the server‟s socket.
2) Then, the bytes are placed in the TCP send buffer before.
3) Finally, the bytes are transmitted into the Internet.
• On the client side,
1) The application (media-player) reads bytes from the TCP receive-buffer (thro client-socket)
2) Then, the application places the bytes into the client-buffer.
3) At the same time, the application periodically
→ grabs video-frames from the client-buffer
→ decompresses the frames and
→ displays the frames on the user‟s screen.

Figure 5.1: Streaming stored video over HTTP/TCP

[Link] Early Termination & Repositioning the Video


• HTTP streaming systems make use of the byte-range header in the HTTP GET request message.
• Byte-range header specifies the range of bytes the client currently wants to retrieve from the video.
• This is particularly useful when the user wants to reposition to a future point in the video.
• When the user repositions to a new position, the client sends a new HTTP request.
• When server receives new HTTP request, the server sends the requested-bytes.
• Disadvantage:
When a user repositions to a future point in the video, some prefetched-but-not-yet-viewed data will
go unwatched. This results in a waste of bandwidth and server-resources.
5.2.3 Adaptive Streaming & DASH
• Problem with HTTP streaming:
All clients receive the same encoding of video, despite the large variations in the amount of bandwidth
available to different clients.
Solution: Use DASH (Dynamic Adaptive Streaming over HTTP).

[Link] DASH
• The video is encoded into several different versions.
• Each version has a different bit-rate and a different quality level.
• Two main tasks:
1) The client dynamically requests video-chunks from the different versions: low & high.
i) When the available bandwidth is high, the client selects chunks from a high-rate version.
For ex: Fiber connections can receive a high-quality version.
ii) When the available bandwidth is low, the client naturally selects from a low-rate version.
For ex: 3G connections can receive a low-quality version.
2) The client adapts to the available bandwidth if end-to-end bandwidth changes during session.
➢ This feature is particularly important for mobile-users.
➢ The mobile-users see their bandwidth fluctuate as they move with respect to base-stations.
• HTTP server stores following files:
1) Each video version with a different URL.
2) Manifest file provides a URL for each version along with its bit-rate.
• Here is how it works:
1) First, the client requests the manifest file and learns about the various versions.
2) Then, the client selects one chunk at a time by specifying
→ URL and
→ byte range in an HTTP GET request message.
3) While downloading chunks, the client
→ measures the received bandwidth and
→ runs a rate determination-algorithm.
i) If measured-bandwidth is high, client will choose chunk from high-rate version.
ii) If measured-bandwidth is low, client will choose chunk from low-rate version
4) Therefore, DASH allows the client to freely switch among different quality-levels.
• Advantages:
1) DASH can achieve continuous playout at the best possible quality level w/o frame freezing.
2) Server-side scalability is improved: Because
→ the client maintains the intelligence to determine which chunk to send next.
3) Client can use HTTP byte-range request to precisely control the amount of prefetched video.
5.2.4 CDN
[Link] Motivation for CDN
• The streaming video service can be provided is as follows:
1) Build a single massive data-center.
2) Store all videos in the data-center and
3) Stream the videos directly from the data-center to clients worldwide.
• Three major problems with the above approach:
1) More Delay
➢ If links provides a throughput lesser than consumption-rate, the end-to-end throughput will also
be below the consumption-rate.
➢ This results in freezing delays for the user.
2) Network Bandwidth is wasted
➢ A popular video may be sent many times over the same links.
3) Single Point of Failure:
➢ If the data-center goes down, it cannot distribute any video streams.
Problem Solution: Use CDN (Content Distribution Network).

[Link] CDN Types


• A CDN
→ manages servers in multiple geographically distributed locations
→ stores copies of the videos in its servers, and
→ attempts to direct each user-request to a CDN that provides the best user experience.
• The CDN may be a private CDN or a third-party CDN.
1) Private CDN
➢ A private CDN is owned by the content provider itself.
➢ For example:
Google‟s CDN distributes YouTube videos
2) Third Party CDN
➢A third-party CDN distributes content on behalf of multiple content providers CDNs.
➢ Two approaches for server placement:
i) Enter Deep
¤ The first approach is to enter deep into the access networks of ISPs.
¤ Server-clusters are deployed in access networks of ISPs all over the world.
¤ The goal is to get close to end users.
¤ This improves delay/throughput by decreasing no. of links b/w end user & CDN cluster
ii) Bring Home
¤ The second approach is to bring the ISPs home.
¤ Large clusters are built at a smaller number of key locations.
¤ These clusters are connected using a private high-speed network.
¤ Typically, clusters are placed at a location that is near the PoPs of many tier-1 ISPs. For example:
within a few miles of both Airtel and BSNL PoPs in a major city.
¤ Advantage:
Lower maintenance and management overhead.
¤ Disadvantage:
Higher delay and lower throughput to end users.
[Link] CDN Operation
• When a browser wants to retrieve a specific video, the CDN intercepts the request.
• Then, the CDN
1) determines a suitable server-cluster for the client and
2) redirects the client‟s request to the desired server.
• Most CDNs take advantage of DNS to intercept and redirect requests.
• CDN operation is illustrated in Figure 5.2.

Figure 5.2: DNS redirects a user‟s request to a CDN server

• Suppose a content provider “NetCinema” employs the CDN company ”KingCDN” to distribute videos.
• Let URL = [Link]
• Six events occur as shown in Figure 5.2:
1) The user visits the Web page at NetCinema.
2) The user clicks on the following link:
[Link]
➢ Then, the user‟s host sends a DNS query for “[Link]”.
3) The user‟s local-DNS-server (LDNS) forwards the DNS-query to an authoritative-DNS-server
“NetCinema”.
➢ The server “NetCinema” returns to the LDNS a hostname in the KingCDN‟s domain.
➢ For example: “[Link]”.
4) The user‟s LDNS then sends a second query, now for “[Link]”.
➢ Eventually, KingCDN‟s DNS system returns the IP addresses of a “KingCDN” server to LDNS.
5) The LDNS forwards the IP address of the “KingCDN" server to the user‟s host.
6) Finally, the client
→ establishes a TCP connection with the server
→ issues an HTTP GET request for the video.

Common questions

Powered by AI

HTTP streaming offers several advantages over UDP streaming. It is less costly and complex as it avoids the need for a media control server, reducing deployment expenses. HTTP streaming facilitates easier traversal through firewalls and NATs, minimizing connectivity issues that users often face with UDP. Furthermore, HTTP streaming allows for prefetching, where the client downloads video at a rate exceeding consumption, storing future frames to ensure smooth playback. These benefits improve user experience by minimizing interruptions and enhancing accessibility .

The disadvantages of UDP streaming include unreliability as it lacks a congestion-control mechanism, making it difficult to ensure continuous playback if the available bandwidth varies. UDP streaming can be costly and complex due to the need for a media control server to handle interactivity requests and maintain client-state, hence increasing operational complexity and cost. Additionally, UDP streaming faces firewall issues, as many firewalls block UDP traffic, preventing users behind them from receiving video. These factors collectively result in potential interruptions in user experience like video freezing and access limitations .

PCM techniques balance audio quality and digital bandwidth through sampling and quantization. By converting analog signals into digital data, PCM uses fixed sampling rates, typically 8000 samples per second, to capture audio. Each sample is quantized to a finite set of values represented by a specific number of bits, usually a power of 2, like 8 bits per sample. This digitization process ensures lower bandwidth demands compared to video while maintaining acceptable sound fidelity. However, the sound quality can be improved by increasing the sampling rate and quantization values, albeit at the cost of higher bandwidth requirements .

HTTP streaming addresses firewall and NAT traversal issues by leveraging the widespread compatibility of HTTP over TCP, as these protocols are generally permitted through firewalls and NATs that block other types of traffic, such as UDP. By using HTTP, video streams can easily traverse these network barriers, allowing smoother access and wider compatibility across diverse network settings. Consequently, this approach enhances the accessibility and reliability of streaming services without requiring additional configuration or network setup .

Video compression improves network efficiency by utilizing spatial and temporal redundancy. Spatial redundancy refers to the repetition of elements within a single image or frame. For instance, an image with large white spaces has high redundancy and can be compressed effectively without quality loss. Temporal redundancy involves the repetition across consecutive images or frames. If consecutive frames are nearly identical, the video can be compressed by not fully re-encoding the subsequent frames, reducing the amount of data that needs to be transmitted .

In multimedia applications, there is a trade-off between video quality and bit-rate due to the necessity to balance image quality with transmission efficiency. A higher bit-rate generally translates to better image quality, enhancing the viewing experience. However, it also requires more network bandwidth and storage capacity. Conversely, a lower bit-rate saves bandwidth and is more efficient for streaming over constrained networks but can degrade video quality. Compression techniques address this by reducing redundant data, minimizing the bit-rate while attempting to maintain a satisfactory quality level .

Client-side buffering improves video streaming performance by mitigating the effects of varying end-to-end delays and fluctuating available bandwidth between the server and client. By pre-loading a segment of the video into the client's buffer, the streaming application can compensate for network interruptions, ensuring smoother playback without stalling. This buffering strategy allows the client to begin playback without having to download the entire file first, thus enhancing user experience with more consistent and seamless streaming .

DASH manages bandwidth variations by encoding video into multiple versions, each with differing bit rates and quality levels. Clients dynamically select video chunks based on the available bandwidth. When bandwidth is high, clients opt for high-rate versions; when it's low, clients switch to low-rate versions. This flexibility allows for continuous playback without freezing, as DASH clients measure received bandwidth in real-time and adjust chunk requests accordingly. DASH's adaptability is especially beneficial for mobile users who experience fluctuating network quality .

CDNs play a crucial role in efficiently distributing multimedia content over the Internet by managing geographically distributed servers that store content copies. This promotes better user experiences through reduced latency and higher availability regardless of the user's location. CDNs alleviate network congestion by redirecting user requests to the nearest server, thereby mitigating network bandwidth waste and reducing delays. Moreover, CDNs provide redundancy and fault tolerance, ensuring content delivery even when certain servers fail .

CDNs address several challenges in video streaming, including reducing latency, minimizing bandwidth wastage, and avoiding single points of failure. By strategically distributing servers globally, CDNs place content closer to end-users, thus reducing the distance data travels and improving response times. They help alleviate network congestion by ensuring popular videos do not cause bottlenecks, as multiple servers can service user requests. Additionally, CDNs enhance reliability by providing redundancy; if one server cluster fails, another can take over, maintaining service continuity. These capabilities enable efficient, resilient, and scalable delivery of high-demand video content .

You might also like