Bug 978405 - [RFE] adaptive video streaming
Summary: [RFE] adaptive video streaming
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: spice-gtk
Version: 6.5
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Christophe Fergeau
QA Contact: Desktop QE
Depends On: 952671 961452 978403 978410
TreeView+ depends on / blocked
Reported: 2013-06-26 14:28 UTC by Yonit Halperin
Modified: 2013-11-21 08:27 UTC (History)
6 users (show)

Fixed In Version: spice-gtk-0.20-1.el6
Doc Type: Enhancement
Doc Text:
Feature: Adaptive video streaming. Reason: Over high latency and limited bandwidth, the video can become unwatchable. Result (if any): Adjusting bandwidth and audio latency allows improved video experience over low speed networks.
Clone Of: 978403
Last Closed: 2013-11-21 08:27:17 UTC

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:1577 normal SHIPPED_LIVE spice-gtk bug fix and enhancement update 2013-11-21 00:40:45 UTC

Description Yonit Halperin 2013-06-26 14:28:29 UTC
+++ This bug was initially created as a clone of Bug #978403 +++

Current state:
All the bitmaps streams that are detected as video, are transferred by spice as an MJPEG stream with static quality of 70.
The frame rate is modified correspondingly to the send-queue congestion.
On the client side, lip sync is implemented by rendering frames when their timestamp correspond to the audio packets being played. Frames with timestamp > current-audio-time, are dropped. The playback latency is determined by the audio latency. The audio latency is not adjusted during playback.

Over limited bandwidth, videos that are played in high resolution, can be unwatchable, with the client dropping more than 70% of the frames that were sent from the server.


Dynamically adjust the video bit-rate (by changing quality & frame rate) and the playback latency, using periodic reports from the client about the playback, and evaluating the available bandwidth and latency according to them.
Moreover, the bandwidth and latency estimations of past video playbacks will be used for improving the initial parameters setting of future video playbacks (and can also be used for other spice transfers that can be adjusted for better performance under different network conditions).

Expected Results:

Over limited bandwidth, we should observe a better user experience when watching video playback. While the quality of the frames might be worse, the continuity of the playback should improve (i.e., less occurrences of scenes dropping and pauses).

Over high bandwidth, the user experience shouldn't degrade. However, since it can take a little time to learn the network parameters, the start of the first video playback quality (during a specific connection), might be a bit worse.

Comment 5 errata-xmlrpc 2013-11-21 08:27:17 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.