Bug 978403 - [RFE] adaptive video streaming
Summary: [RFE] adaptive video streaming
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: spice-server
Version: 6.5
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Uri Lublin
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On: 952671
Blocks: 978405 978410
TreeView+ depends on / blocked
 
Reported: 2013-06-26 14:23 UTC by Yonit Halperin
Modified: 2013-11-21 07:42 UTC (History)
5 users (show)

Fixed In Version: spice-server-0.12.3-1.el6
Doc Type: Enhancement
Doc Text:
See comment #0 and the patch linked in comment #1
Clone Of:
: 978405 978410 (view as bug list)
Environment:
Last Closed: 2013-11-21 07:42:13 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:1571 normal SHIPPED_LIVE spice-server bug fix and enhancement update 2013-11-20 21:39:57 UTC

Description Yonit Halperin 2013-06-26 14:23:45 UTC
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.

Plan:

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 1 Uri Lublin 2013-06-27 12:27:02 UTC
A patch-set is available upstream
http://lists.freedesktop.org/archives/spice-devel/2013-February/012422.html

Comment 5 errata-xmlrpc 2013-11-21 07:42:13 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.

http://rhn.redhat.com/errata/RHBA-2013-1571.html


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