Upload
videoguy
View
733
Download
0
Tags:
Embed Size (px)
Citation preview
An Overlay Multicast Infrastructure for Live/Stored Video Streaming
Visual Communication Laboratory
Department of Computer Science
National Tsing Hua University
Outline Live video broadcasting
Typical service model Limitations
Our goals Overlay multicast infrastructure
Our previous works Multicast video streaming Peer-to-peer search & delivery Scalable video coding
Live Video Broadcasting Techniques
Live video encoding Multicast delivery
Commercial products Windows Media Services (Microsoft) Real System Server (Real) QuickTime Streaming Server (Apple)
Service Architecture
Encoder
Stream Server(VOD)
Storage
Internet
(VOD)
(Live Broadcast)
Stream Server(Live)
Multicast Routing Tree
Client A(10:00)
Client B(10:00)
Client C(10:00)Client D
(10:00)
Video Server
Common Solution: Prefix Caching
41 2 3
Prefix cacheVideo Server
1, 2, 3, 4
5, 6, 7, …
Permanently cache the front part of the video. Clients request before (the start time + the length of
the prefix) can see the entire video program.
C1
Multicast + Prefix Caching
Client A(10:00)
Client B(10:00)
Client C(10:00)
Video Server
Client D(10:05)
5 min
5 min
store the first 5 min (10:05)
queue the stream
(10:10) read data from the buffer
Limitations Must know the video source in advance.
Need router support. (IP multicast)
Cannot pass through firewall/NAT.
Users arrive after the system startup time cannot view the front part of the video. Prefix caching is not perfect.
Scenario: Request & Playback User input
Service mode (live/on-demand) Video attributes
Peer-to-peer search Streaming
Overlay multicast Payment (?)
By service mode (VOD > live) (from server > from p2p)
By video (popular > unpopular) (bit rate) By search method (advanced > basic)
Request flow
EPG
meta datapeer 1
peer 0
peer 2
Search
P2P
Player
input : service modequery rules
peer 3
peer 4
distributed queryinit multicastvideo stream
Topics in this project Overlay multicast
Peer-to-peer infrastructure Performance optimization
Two-mode multicasting Live broadcasting (real-time) On-demand streaming (see the entire
video)
Advanced Topics (?) Advanced electronic program guide
Intelligent search Personal profile Ambiguous keyword search Melody / scene search Distributed / continuous query Matchmaker (?)
Meta datas Creation/collection/distribution Format (?) (object-based?)
Our Previous Works On-Demand Multicast Streaming
Delivery Platform
Technology and Systems Peer-to-Peer Streaming Video (Directory
Search) Proxy-based Streaming Video
Multicast streaming platform for layered videos
10:00
10:00
10:00
10:00
10:00
10:00
10:04
10:01
10:02
10:03
10:02
On-Demand Multicast Communications
10:00
10:00
10:00
10:02
10:03
10:04
Source
Node with timing control
Interval Caching
Caching buffer
4, 3, 2, 1
Video Server
14 3 2 25 4 3
Cache a sliding interval of the video.
C1 10:00
C2 10:04
1
15, 4, 3, 2, 1
2, 1
Timing Control Mechanism
Player B
10:00
Player C
10:0310:00
34567 To player D, 10:05
To player B, 10:00
2, 1
7, 6, 5, 4, 3, 2, 1
Player D10:05
4, 3, 2, 1To player C, 10:03
On-Demand Multicast Routing
source
10:00
Network
Constructing an on-demand multicast tree1. find a routing path2. allocate buffers to generate path delay
10:0610:08
10:02
10:03
10:06
Playback (with Directory Server)
directory server
module.exe
IE
Client
WWW
Proxy
Source
module.exe
1
2
3
4
5
6
7
8
Playback (Peer-to-Peer)
source
… … …client
Pi
Pj
Ps
10:00
10:02
1. find a source2. find a routing
path3. allocate buffers
P2P v.s. Proxy Platform
IP Networks
Virtual File System(Media Query)
(Information Delivery)
Video Streaming(HTTP)
Media Player
QoSIP Networks
CacheReplacementNetwork Mgmt.
Proxy-Based
Peer-to-Peer
Selection &Chaining
Proxy
Video Streaming(HTTP)
Media Player
Mgmt. GUINetwork Mgmt.QoS Reservation
ProxyProtocolReplacementChaining
Fault Handling
Source
11:30
11:40
11:43
11:44
11:33
11:34
11:35
11:30
11:40
11:32
One of the clients faultsAuto reconfiguration
Scalable Video Coding
Heterogeneous Network Bandwidth
Server
1.5 Mbps
0.8 Mbps
1.5 Mbps
0.8 Mbps
0.7 Mbps
aggregated stream
0.8 Mbps
low quality
1.5 Mbps
High quality
Bottleneck = 0.7 Mbps
End-to-end Layer Subscription with Bandwidth Constraint
…
Layer 1
Layer 2
Layer L
Scheduler Lossy Channel
Sender
Decoder with Error Concealment
Receiver
Demo System
GUI (Media Player)
filenamenumber of layers
GUI (Management)