1
Media redirection for Spice remote computing solution Optimizing - - PowerPoint PPT Presentation
Media redirection for Spice remote computing solution Optimizing - - PowerPoint PPT Presentation
Media redirection for Spice remote computing solution Optimizing media stream processing for media players and VoIP clients in virtual desktop infrastructures Lyakhov F.A., Mazur E.S., Kuzin A.M., Semenov S.K. 1 Common media processing
2
- Creating and playing of local media content
(a file) Common media processing usecases
- Playback of remote media content
- Telecommunications
3
QEMU VM
Red Hat Spice overview
Linux KVM
Spice Server
Guest OS
Virtual Drivers Spice Agent Spice Client
SPICE protocol
4
VM
Playback of remote media in VDI
Guest OS Virtual Drivers Media Player Spice Server Spice Client Media Media Engine Media over Spice
5
VM
VoIP-system in VDI
Guest OS Virtual Drivers Spice Server Spice Client Media Media Engine Media over Spice Softphone VoIP system Signaling
6
Problem definition
Hair-pinning effect:
- Media streams are passing through the
virtualization server, not peer-to-peer
- Media streams are transcoded at the server
This results in
- Increased network load
- Increased server CPU load, less VM density
- Increased latency, jitter, packet loss
- Possible quality loss of media streams
7
VM
Custom VoIP solution
Guest OS Spice Server Media Media Engine Softphone1 Not used Spice Client Media Engine Softphone2 CTI VoIP system
8
VM
Media redirection concept
Guest OS Spice Server Media Softphone VoIP system Signaling Implements Media Engine API Spice Client Media Engine Virtual channel for arbitrary data RPC service
Media Engine Stubs
RPC client
9
Media redirection concept: video specifics
Overlay Renderer
VM
Guest OS Spice Server Softphone
Media Engine Stubs
Media VoIP system Media Engine RPC service Spice Client Signaling RPC client
1
VM
Media redirection prototype v0.1
Guest OS Spice Server Media
Basic Audio Player
Spice Client GStreamer Transport over TCP sockets Thrift service
GStreamer Stubs
Thrift client
Audio File Server
Demo-only
1 1
VM
Media redirection prototype v0.2
Guest OS Spice Server Media
Basic Audio Player
Spice Client GStreamer Thrift service
GStreamer Stubs
Thrift client
Audio File Server
Demo-only Transport over virtual channel
1 2
Feature evolution plan
■ Prototype v0.1:
Basic demo-only audio player streaming audio
file from a server
Thrift RPC over basic TCP sockets Minimum GStreamer API implemented via RPC
■ Prototype v0.2: Thrift RPC over a channel in Spice ■ Prototype v0.3: Demo-only softphone ■ Version 1.x: real-world audio player and softphone ■ Version 2.x: overlay renderer for Spice, video
1 3
Architecture & design considerations
■ Component-based universal design:
Media Redirection should allow implementing
support for other remote computing systems
RPC system as Spice extension, not nailed down
■ RPC system choice:
Apache Thrift with custom transport Google Protocol Buffers marshaling with custom
RPC and transport
■ Support for multiple common Media Engines:
GStreamer VLC Google Media Engine
1 4
New Spice API
■ API for virtual channels
At Guest OS: shared/static library for apps At Spice Client: plug-in interface for services Multiple apps can connect to one service Initiation of connection: as D-Bus services
■ Overlay Rendering API
1 5
Fault-tolerance discussion topics
■ Spice Client disconnect / crash:
Keep services running e.g. keep audio path of an
IP call, allow reconnect
Freeze Guest application till re-connect?
■ Need for client application with UI to control
services e.g. stop the audio in case virtualization server became unavailable
■ RPC service and Media Engine crash recovery –
separate processes?
■ If Media Engine is in a separate process, how it will
be rendering video into Spice Client window?
■ Migration support
1 6
Conclusion
■ Media processing problem in VDI described ■ Media Redirection for Red Hat Spice proposed with
component design and re-use of technologies
■ Prototype demonstrated based on
Apache Thrift for RPC GStreamer for Media Engine
1 7