Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching
description
Transcript of Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching
![Page 1: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/1.jpg)
Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching
Meng Guo and Mostafa H. Ammar
INFOCOM 2004
![Page 2: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/2.jpg)
Introduction (1/2) Overlay multicast
A client forwards the content it is receiving, and serves other client’s request as a server.
Problems Clients would leave or fail Rejoin latency implies data loss
CoopNet Multiple Description Code (MDC) Multicast different portions of MDC streams over several o
verlay multicast trees Disadvantage
Video quality fluctuation (client leave & join)
![Page 3: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/3.jpg)
Introduction (2/2) Goals
Continuous streaming service Single description code Clients always receive full quality video streams
Solutions Provide time shifting streams at the server Using video patching to allow a client to catch up
with the progress of the live video program A buffering scheme that allows the clients to store
the video packets, and to playout when needed
![Page 4: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/4.jpg)
Basic operations When a client first joins the multicast group, it alway
s joins a multicast tree of the original stream. If the server has free video channel available, the client con
nects to the server directly. Otherwise, the client joins the tree by connecting to a client
already in the tree who has both enough available bandwidth and the shortest overlay path to the server.
Use packet loss rate to detect service disconnection Node rejoin delay rc
The time interval between the moment when the client c is disconnected and the moment when the client is reconnected.
![Page 5: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/5.jpg)
Definitions Viewing delay
(the playback time of the original stream) – (the playback time of the video stream that the client is watching)
Starving period The time interval that the client is not
receiving any video Freezing period
The time period when the client side play out is temporarily stopped.
![Page 6: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/6.jpg)
Infinite shifting
In a live streaming service, is it essential to receive the missed part of the video stream?
S0 S1 S2 S3
d
time
playback time
Received stream
t1 t2 t3
Δ1 Δ2 Δ3
Starving period
Viewing delay = Freezing
period
![Page 7: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/7.jpg)
Video patching in live streaming
S0 S1
dtime
playback time
Client playout
t1
Client receive rate
t1+r1
Δ1
t1+d
t1+r1: rejoin the original streamt1+Δ1: rejoin the patching streamt1+d: receive the patching stream
Δ2
t2
t2+r2 t2+d
t2+r2+d
t1+r1+d
![Page 8: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/8.jpg)
Continuous video streaming There still some periods that the
client’s playback is halted.
Solution Initial access delay
Longer access latency can result in smoother video reception.
![Page 9: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/9.jpg)
Continuous video streaming with initial delay
![Page 10: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/10.jpg)
The example of system operations (1/2)
![Page 11: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/11.jpg)
The example of system operations (2/2)
![Page 12: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/12.jpg)
Design details
Time shifting video server Channel allocation Patching stream selection Node join algorithm Node leave
![Page 13: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/13.jpg)
Video server design
![Page 14: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/14.jpg)
1:1 channel allocation
![Page 15: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/15.jpg)
Static multiplex channel allocation
![Page 16: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/16.jpg)
Dynamic multiplexing with channel merging m: the number of live channels. Based on the lifetime:
A video program of length T At time t0, the lifetime of the original stream is T – t0. The lifetime for the patch stream is its time shifting value, i.e., th
e life time of Sk is d×k. The number of reserved patching channels
The number of allocated video channels
The number of patching channels |P| is monotonically increasing as the video program proceeds.
![Page 17: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/17.jpg)
Patching stream selection Let a client disconnects from the multicast group a
t td, and it sends a node rejoin request to the server. When the server receives the rejoin requests, the live video playback time is t1.
The estimated connection set up time = t1 – td.
The stream si is selected, while i is caculated by the formula below:
Because of the server->client latency
![Page 18: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/18.jpg)
Node join algorithm A “well shaped” overlay multicast tree
should be wide and short. Level Join
A newly arriving client joins the node whose overlay path distance to the server is shortest.
Bandwidth First Push the client with larger bandwidth up to
the higher level of the tree. Also consider the Level Join algorithm.
![Page 19: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/19.jpg)
Failed node discovery process
![Page 20: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/20.jpg)
Simulation environment
Bandwidth capacity of the end hosts Barrow bandwidth: 1.5 Mbps, 70% Medium bandwidth: 10 Mbps, 20% High bandwidth: 100 Mbps, 10%
The time shifting value = 4 seconds.
![Page 21: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/21.jpg)
Video patching on client video reception
disconnect
Playout the video data received during the previous patching
Disconnect: consume the data stored in the buffer
![Page 22: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/22.jpg)
Video patching on viewing performance
A larger life time implies shorter delay and less buffer usage.
![Page 23: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/23.jpg)
Influence of video patching on tree structure
Patching increases the level of the multicast tree.
(reduce the number of live channels -> reduce the degree of root)
high bw with patchinghigh bw no patching
tree
heig
ht
Avera
ge
stre
tch
stretch = delay
![Page 24: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/24.jpg)
Video server channel utilization
![Page 25: Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching](https://reader036.fdocuments.in/reader036/viewer/2022062410/568151e5550346895dc01f65/html5/thumbnails/25.jpg)
Client requests queuing delay