Streaming Stored Streaming Stored Audio Audio and Video (1) and Video (1) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot October 2010 October 2010 Ref: Computer Networking: A Top Down Approach, 4th ed., Kurose & Ross
13
Embed
Streaming Stored Audio and Video (1) and Video (1) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Streaming Stored Streaming Stored AudioAudio
and Video (1)and Video (1)
Advanced Multimedia
University of PalestineUniversity of Palestine Eng. Wisam ZaqootEng. Wisam Zaqoot October 2010October 2010
Ref: Computer Networking: A Top Down Approach, 4th ed., Kurose & Ross
A few words about audio A few words about audio compressioncompression
analog signal sampled analog signal sampled at constant rateat constant rate telephone: 8,000 telephone: 8,000
samples/secsamples/sec CD music: 44,100 CD music: 44,100
samples/secsamples/sec each sample each sample
quantized, i.e., quantized, i.e., roundedrounded e.g., e.g., 2288=256 possible =256 possible
quantized valuesquantized values each quantized value each quantized value
represented by bitsrepresented by bits 8 bits for 256 values8 bits for 256 values
* Layered (scalable) video* Layered (scalable) video A scalable solution to the problem of available A scalable solution to the problem of available
bandwidth variation is to use multi-layered bandwidth variation is to use multi-layered video. A multi-layered video encoder encodes video. A multi-layered video encoder encodes raw video data into one or more streams, or raw video data into one or more streams, or layers, of differing priority. The layer with the layers, of differing priority. The layer with the highest priority, called the highest priority, called the base layerbase layer, contains , contains the most important portions of the video stream. the most important portions of the video stream. One or more One or more enhancement layersenhancement layers with with progressively lower priorities may then be progressively lower priorities may then be encoded to further refine the quality of the base encoded to further refine the quality of the base layer stream.layer stream.
The source must respond to constantly changing The source must respond to constantly changing
network conditions by dynamically adjusting the network conditions by dynamically adjusting the number of video layers it generates. The source number of video layers it generates. The source have to receive congestion feedback from the have to receive congestion feedback from the destinations and the network. destinations and the network.
application-level application-level streaming techniques streaming techniques for making the best for making the best out of best effort out of best effort service:service: client-side bufferingclient-side buffering use of UDP versus use of UDP versus
TCPTCP multiple encodings of multiple encodings of
multimediamultimedia
jitter removaljitter removal decompressiondecompression error concealmenterror concealment graphical user graphical user
interface interface with controls for with controls for interactivityinteractivity
Media Player
Internet multimedia: simplest approach
audio, video not streamed:• no, “pipelining,” long delays until playout!
• audio or video stored in file• files transferred as HTTP object
– received in entirety at client– then passed to player
Internet multimedia: streaming approach
• browser GETs metafile• browser launches player, passing metafile• player contacts server• server streams audio/video to player
Streaming Multimedia: UDP Streaming Multimedia: UDP or TCP?or TCP?
UDP:UDP: server sends at rate appropriate for client (Do not server sends at rate appropriate for client (Do not
care about network congestion !)care about network congestion !) often send rate = encoding rate = constant rateoften send rate = encoding rate = constant rate then, fill rate = constant rate - packet lossthen, fill rate = constant rate - packet loss
short playout delay (2-5 seconds) to remove short playout delay (2-5 seconds) to remove network jitternetwork jitter
error recover: time permittingerror recover: time permittingTCP:TCP: send at maximum possible rate under TCP send at maximum possible rate under TCP
(careful about network congestion)(careful about network congestion) fill rate fluctuates due to TCP congestion controlfill rate fluctuates due to TCP congestion control larger playout delay: smooth TCP delivery ratelarger playout delay: smooth TCP delivery rate HTTP/TCP passes more easily through firewallsHTTP/TCP passes more easily through firewalls
Streaming Multimedia: client rate(s)
Q: how to handle different client receive rate capabilities?– 28.8 Kbps dialup– 100 Mbps Ethernet
A: server stores, transmits multiple copies of video, encoded at different rates