Upload
dylan-chambers
View
222
Download
1
Tags:
Embed Size (px)
Citation preview
NTIT, StreamingNTIT, Streaming 11
New Trend in Information TechnologyNew Trend in Information Technology
StreamingStreaming
Students: Annanda Thavymony RATH Rajveer Singh
2005
NTIT, StreamingNTIT, Streaming 22
OverviewOverview1. Introduction1. Introduction
2. Characteristic of streaming2. Characteristic of streaming
3. Different between traditional download and 3. Different between traditional download and streaming. streaming.
4. Type of streaming.4. Type of streaming.
5. Streaming protocols.5. Streaming protocols.
6. Different between TCP based and UDP 6. Different between TCP based and UDP application. application.
7. Caching in streaming media.7. Caching in streaming media.
8. Live splitting.8. Live splitting.
9. Buffer allocation.9. Buffer allocation.
10. Compression Scheme.10. Compression Scheme.
11. Major Streaming format.11. Major Streaming format.
12. Example of streaming applications.12. Example of streaming applications.
NTIT, StreamingNTIT, Streaming 33
IntroductionIntroduction
- What is streaming?- What is streaming?
- Streaming and batch (data) media- Streaming and batch (data) media
- Why we need streaming?- Why we need streaming?
NTIT, StreamingNTIT, Streaming 44
CharacteristicsCharacteristics
- Bandwidth dependent- Bandwidth dependent- Delay sensitive- Delay sensitive- Buffer requirement- Buffer requirement- Can not wait for retransmission - Can not wait for retransmission
Three primary characteristic of streaming mediaThree primary characteristic of streaming media
- Streaming media technology enables real-time - Streaming media technology enables real-time or on-demand access to audio, video and or on-demand access to audio, video and multimedia content via the Internet or Intranet. multimedia content via the Internet or Intranet.
- Streaming media is transmitted by a media - Streaming media is transmitted by a media server application, and is processed and played server application, and is processed and played back by a client player application, as it is received. back by a client player application, as it is received.
- Streaming file is received, processed, and played - Streaming file is received, processed, and played simultaneously and immediately, leaving behind no simultaneously and immediately, leaving behind no
residual copy of the content on the receiving residual copy of the content on the receiving device. device.
NTIT, StreamingNTIT, Streaming 55
Different between traditional download and Different between traditional download and streamingstreaming
1. 1. Traditional DownloadTraditional Download - End-user has to wait until the - End-user has to wait until the content is fully downloaded. content is fully downloaded.
- Spend a lot of time.- Spend a lot of time.
- If there is an interruption during - If there is an interruption during download data, the whole file will be download data, the whole file will be corrupted. corrupted.
NTIT, StreamingNTIT, Streaming 66
2. 2. Streaming Streaming
- No need to wait until the file is - No need to wait until the file is fully downloaded fully downloaded- User can use file progressively- User can use file progressively- Save time for end-user.- Save time for end-user.- Require the specialized media - Require the specialized media server server- Need high data rate and consume - Need high data rate and consume significant bandwidth significant bandwidth- Streaming data is often transmitted over - Streaming data is often transmitted over
UDP.UDP.
NTIT, StreamingNTIT, Streaming 77
Type of streamingType of streaming
1. Real time (Live)1. Real time (Live)- The implication is that “real time”, means - The implication is that “real time”, means
“as-it-happens” or “concurrent with the reality”. “as-it-happens” or “concurrent with the reality”.- All stream is essentially real-time.- All stream is essentially real-time.- Bandwidth sensitive.- Bandwidth sensitive.- The delay must be small (Transmission+receiption)- The delay must be small (Transmission+receiption)
2. On-demand2. On-demand
- Pre-recoded, it can access any time later.- Pre-recoded, it can access any time later.- Time is not exactly concurrent.- Time is not exactly concurrent.
NTIT, StreamingNTIT, Streaming 88
ProtocolsProtocols
1. Stream control protocol1. Stream control protocol- Enable user to interactively control - Enable user to interactively control the media stream.the media stream.- These protocol typically rely on TCP.- These protocol typically rely on TCP.
Example: RTSP, PNA, MMS, XDMA…Example: RTSP, PNA, MMS, XDMA…
2. Media packet protocols2. Media packet protocols- Support the real-time media - Support the real-time media delivery and facilitate the delivery and facilitate the synchronization of multiple stream synchronization of multiple stream- These protocol rely on UDP- These protocol rely on UDP
Example : RDT, RTP, PNA, MMSU, MMSTExample : RDT, RTP, PNA, MMSU, MMST
NTIT, StreamingNTIT, Streaming 99
Protocols (cont…)Protocols (cont…)
3. Encoding format3. Encoding format
- Dictate how a digitized media stream is - Dictate how a digitized media stream is represented in a compact form suitable for represented in a compact form suitable for
streaming. streaming.- Encoding schemes commonly used- Encoding schemes commonly used
Example: WMA, MP3, MPEG, real audio G2, and real Example: WMA, MP3, MPEG, real audio G2, and real video G2 video G2
4. Storage format4. Storage format
- Define how encoded media stored in the - Define how encoded media stored in the container file, which hold one or more stream container file, which hold one or more stream- ASF, RMFF are the example of container file - ASF, RMFF are the example of container file formats. formats.
NTIT, StreamingNTIT, Streaming 1010
Protocols (cont…)Protocols (cont…)
5. Metafile formats5. Metafile formats
-- Provide the primitives that can be used toProvide the primitives that can be used to
identify the components (URL)identify the components (URL)
- SDP, SMIL and ASX are the example of the - SDP, SMIL and ASX are the example of the
metafile formats metafile formats..
NTIT, StreamingNTIT, Streaming 1111
Protocols Protocols (cont…)(cont…)RSTPRSTP
Client Browser
Media Player
Web server
Media Server
1. Page download request
2. Page contents
3. Media Metafile download request
4. Media Metafile Contents
5. Media Metafile contents
6. Stream Control
7. Stream control/data
General Architecture of Streaming media request
NTIT, StreamingNTIT, Streaming 1212
ProtocolsProtocols
RTP (Real Time Transport Protocol)RTP (Real Time Transport Protocol)
- User UDP- User UDP
- One RTP session one media flow- One RTP session one media flow
- RTP doesn’t address reservation and doesn’t - RTP doesn’t address reservation and doesn’t guarantee quality of service for real-time services. guarantee quality of service for real-time services.
PCMA AudioPCMA Audio
RTPRTP
UDPUDP
IPIP
Data linkData link
Transport
Application
NTIT, StreamingNTIT, Streaming 1313
Different between TCP based and UDPDifferent between TCP based and UDP
1. TCP1. TCP
- Connection oriented protocol.- Connection oriented protocol.
- Data guaranteed.- Data guaranteed.- No guaranteed for delay of the - No guaranteed for delay of the
packet. packet.
2. UDP2. UDP
- Not connection oriented protocol- Not connection oriented protocol
- Delay guaranteed- Delay guaranteed- Not guarantee that packet always reaches - Not guarantee that packet always reaches the end-user. the end-user.
NTIT, StreamingNTIT, Streaming 1414
Caching in steamingCaching in steaming
User
Workstation
Streamingmedia server
Internet
Packet Packet Packet Data
ContentEngine
Encoder Live
NTIT, StreamingNTIT, Streaming 1515
Caching in steaming (Cont…)Caching in steaming (Cont…)
Limitation of caching Limitation of caching
- Object is too large.- Object is too large.
- Access patterns are not well known.- Access patterns are not well known.
- lack of well accepted transport protocol. - lack of well accepted transport protocol.
NTIT, StreamingNTIT, Streaming 1616
Live splittingLive splittingA single stream from the origin streaming server is A single stream from the origin streaming server is
split to serve each client that requested the stream.split to serve each client that requested the stream.
User Workstation
Streamingmedia server
Internet
Packet Packet Packet
Encoder Live
Workstation
WorkstationUser
User
Data
ContentEngine
Request
Split Stream
Request
Split Stream
Original Steam
Packet
NTIT, StreamingNTIT, Streaming 1717
Live splitting (suite)Live splitting (suite)
+Advantage+Advantage
- Reduce the traffic in the network- Reduce the traffic in the network
- The delay for requesting the stream - The delay for requesting the stream is decreased. is decreased.
- Saving the network bandwidth - Saving the network bandwidth between user and original server. between user and original server.
NTIT, StreamingNTIT, Streaming 1818
Buffer allocation in streaming Buffer allocation in streaming
1. Static Buffer allocation1. Static Buffer allocationThe static buffer allocation scheme determine the The static buffer allocation scheme determine the
minimum buffer size in the fully download state and minimum buffer size in the fully download state and constantly allocate it to all you user request regardless of constantly allocate it to all you user request regardless of the system’s load state.the system’s load state.
+ Advantages of the static allocation + Advantages of the static allocation
- This scheme is easy to implement - This scheme is easy to implement
- Simplifying the buffer allocation.- Simplifying the buffer allocation.
+ Disadvantages+ Disadvantages
- The buffer size must be greater than or equal to - The buffer size must be greater than or equal to the amount of the data consumed by user request the amount of the data consumed by user request during a service periodduring a service period
- Increase the initial latency of the system.- Increase the initial latency of the system.
NTIT, StreamingNTIT, Streaming 1919
Buffer allocation in streamingBuffer allocation in streaming Static Buffer allocation (Cont…)Static Buffer allocation (Cont…)
N <TR/CRN <TR/CR
BS(n)= (n*CR*DL*TR)/(TR-n*CR)BS(n)= (n*CR*DL*TR)/(TR-n*CR)
N : is the number of the concurrent userN : is the number of the concurrent user
TR: Data transfer rate (bits/s)TR: Data transfer rate (bits/s)
CR : Video data’s consumption rate (bits/s)CR : Video data’s consumption rate (bits/s)
DL : Disk LatencyDL : Disk Latency
NTIT, StreamingNTIT, Streaming 2020
Buffer allocation in streaming Buffer allocation in streaming
2. Dynamic Buffer allocation2. Dynamic Buffer allocationThe allocation of the buffer size depend upon The allocation of the buffer size depend upon
the request of the current users.the request of the current users.
+ Advantages of the static allocation + Advantages of the static allocation
- Save the memory space for the end-user.- Save the memory space for the end-user.
- Decrease the initial latency of the system.- Decrease the initial latency of the system.
+ Disadvantages+ Disadvantages
- Not easy to implement- Not easy to implement
- Need to find the algorithms to predict the - Need to find the algorithms to predict the future state (load) of the network. future state (load) of the network.
NTIT, StreamingNTIT, Streaming 2121
Stream MergingStream Merging
-When a new client requests a stream already -When a new client requests a stream already in in transmission. Server sends two stream transmission. Server sends two stream concurrentlyconcurrently
(a) A “patch stream” starts from beginning.(a) A “patch stream” starts from beginning.
(b) A multicast stream of existing transmission.(b) A multicast stream of existing transmission.
-Client must be able to receive faster data.-Client must be able to receive faster data.
-Client must have enough buffer-Client must have enough buffer
NTIT, StreamingNTIT, Streaming 2222
Compression SchemeCompression Scheme
--Lossy compression compression
--Lossless compressionLossless compression -Psychovisual Video Compression-Psychovisual Video Compression
-Psychoacoustic Audio Compression-Psychoacoustic Audio Compression
NTIT, StreamingNTIT, Streaming 2323
Problems in StreamingProblems in Streaming
BandwidthBandwidth
Estimate the available bandwidthEstimate the available bandwidth
Match video/audio rate to available Match video/audio rate to available bandwidthbandwidth
Delay jitterDelay jitterAdd playout bufferAdd playout buffer
delay playoutdelay playout
Loss Error controlLoss Error controlForward Error CorrectionForward Error Correction
RetransmissionRetransmission
NTIT, StreamingNTIT, Streaming 2424
Major streaming formatMajor streaming format
There are three major format in the streaming and each There are three major format in the streaming and each one has its own major format that have been established by the one has its own major format that have been established by the three major players in the streaming.three major players in the streaming.
1. RealNetworks (RealMedia format)1. RealNetworks (RealMedia format)
2. Microsoft (Windows Media format)2. Microsoft (Windows Media format)
3. Apple (Quick Time format)3. Apple (Quick Time format)
NTIT, StreamingNTIT, Streaming 2525
Example of streaming ApplicationsExample of streaming Applications
RealplayerRealplayer-Most popular-Most popular
-Uses RTSP to communicate with real player-Uses RTSP to communicate with real player
-Uses two connection -Uses two connection
-Control Information-Control Information
-Actual Data-Actual Data
-At transport Layer uses both TCP and UDP-At transport Layer uses both TCP and UDP
-Control information uses two-way TCP-Control information uses two-way TCP
-Actual data uses UDP-Actual data uses UDP
NTIT, StreamingNTIT, Streaming 2626
Example of streaming ApplicationsExample of streaming Applications
Realplayer (cont…)Realplayer (cont…)BufferingBuffering
-Real media keeps the buffer-Real media keeps the buffer-SureStream- one Clip is encoded for-SureStream- one Clip is encoded for multiple bandwidthsmultiple bandwidths-Real Server determines which bandwidth to use-Real Server determines which bandwidth to use
-First bandwidth will be allocated to audio stream than-First bandwidth will be allocated to audio stream than to videoto video
NTIT, StreamingNTIT, Streaming 2727
Conclusion and Future workConclusion and Future work We tried to briefly explain about the We tried to briefly explain about the streaming media, its protocols, compression streaming media, its protocols, compression techniques, buffering, live splitting etc. There is techniques, buffering, live splitting etc. There is much more need to study these issues in detail.much more need to study these issues in detail.
In future we can analyze the stream request In future we can analyze the stream request patterns, workload characteristics by tracing real patterns, workload characteristics by tracing real network data. We need to pay more attention on network data. We need to pay more attention on caching, buffering and compression techniques in caching, buffering and compression techniques in order to get better service.order to get better service.
NTIT, StreamingNTIT, Streaming 2828
References:References:[1]. Kunwadee Sripanidkulchai, Bruce Maggs and Hui Zhang, “[1]. Kunwadee Sripanidkulchai, Bruce Maggs and Hui Zhang, “An analysis of An analysis of live streaming workloads on the internet live streaming workloads on the internet”, Carnegie Mellon ”, Carnegie Mellon University.University.
[2]. Maureen Chesire, Alec Wolman, Geoffrey M. Voelkert and Henry M. Levy, [2]. Maureen Chesire, Alec Wolman, Geoffrey M. Voelkert and Henry M. Levy, ““Measurement and Analysis of a streaming-Meta workloadMeasurement and Analysis of a streaming-Meta workload”, department ”, department of Computer Science and Engineering, University of Washington.of Computer Science and Engineering, University of Washington.
[3]. Microsoft Abobe Dynamic Media Group, “[3]. Microsoft Abobe Dynamic Media Group, “A Streaming Media PrimerA Streaming Media Primer”.”.
[4]. SPsilicon Press, “[4]. SPsilicon Press, “Streaming MediaStreaming Media” ,www.silicon-press.com” ,www.silicon-press.com
[5]. Sang-Ho Lee, Member,IEEE, Kyu-Young Whang, Senior Member, IEEE, Yang-[5]. Sang-Ho Lee, Member,IEEE, Kyu-Young Whang, Senior Member, IEEE, Yang-Sae Moon, Member IEEE, Wook-shin Han, Member IEEE, and II-Yeol Song, Sae Moon, Member IEEE, Wook-shin Han, Member IEEE, and II-Yeol Song, Member, IEEE, “Member, IEEE, “Dynamic Buffer Allocation in Video-on-demand SystemsDynamic Buffer Allocation in Video-on-demand Systems”, ”, 1041-4347/03/$17.00C 2003 IEEE.1041-4347/03/$17.00C 2003 IEEE.
[6]. Bing Wang, Jim Kurose, Prashant Shenoy, Don Towsley, “[6]. Bing Wang, Jim Kurose, Prashant Shenoy, Don Towsley, “Mutimedia Mutimedia Streaming via TCP, analytic performance studyStreaming via TCP, analytic performance study”, Department of Computer ”, Department of Computer
Science University of Massachusetts, Amherst, MA 01003.Science University of Massachusetts, Amherst, MA 01003.
[7]. Eveline Veloso, Virgilio Almeida, Wagner Meira, Computer Science [7]. Eveline Veloso, Virgilio Almeida, Wagner Meira, Computer Science Department, Federal University of Minas, Brazil. Azer Bestavros, Shudon Jin, Department, Federal University of Minas, Brazil. Azer Bestavros, Shudon Jin, Computer Science Department, Boston University, MA, USA, “ Computer Science Department, Boston University, MA, USA, “ A hierarchical A hierarchical Characterization of a Live Streaming Media WorkloadCharacterization of a Live Streaming Media Workload”.”.
[8]. Reza Rejaie, Mark Handley, Haobo Yu, Deborah Estrin, “[8]. Reza Rejaie, Mark Handley, Haobo Yu, Deborah Estrin, “Proxy Caching Proxy Caching Mechanism for Multimedia Playback Streams in the internetMechanism for Multimedia Playback Streams in the internet”, ”, Department of Computer Science, University of Southern California .Department of Computer Science, University of Southern California .
[9]. Cisco software caching configuration “[9]. Cisco software caching configuration “Streaming Media OverviewStreaming Media Overview”.”.
NTIT, StreamingNTIT, Streaming 2929
ThanksThanks
Prof. Om P. DamaniProf. Om P. Damani