media redirection for spice remote computing solution
play

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


  1. 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

  2. Common media processing usecases ● Creating and playing of local media content (a file) ● Playback of remote media content ● Telecommunications 2

  3. Red Hat Spice overview Linux KVM QEMU VM Spice SPICE Spice Server protocol Client Virtual Drivers Spice Agent Guest OS 3

  4. Playback of remote media in VDI VM Spice Server Virtual Drivers Media over Spice Media Engine Media Media Player Guest OS Spice Client 4

  5. VoIP-system in VDI VM Spice Server Virtual Drivers Media over Spice Media Media Engine Signaling Softphone VoIP Guest OS system Spice Client 5

  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 6

  7. Custom VoIP solution VM Spice Server Not used Media Engine Softphone1 Guest OS Spice Client CTI Softphone2 VoIP Media system Media Engine 7

  8. Media redirection concept VM Spice Server Virtual channel Implements Media for arbitrary data Engine API RPC client Media Engine Stubs Softphone Guest OS Spice Client Signaling RPC service VoIP Media system Media Engine 8

  9. Media redirection concept: video specifics VM Spice Server RPC client Media Engine Stubs Softphone Overlay Renderer Guest OS Spice Client Signaling RPC service Media VoIP Media Engine system 9

  10. Media redirection prototype v0.1 VM Spice Server Transport over Demo-only TCP sockets Thrift client GStreamer Stubs Basic Audio Player Guest OS Spice Client Thrift service Media Audio File GStreamer Server 0 1

  11. Media redirection prototype v0.2 VM Spice Server Transport over Demo-only virtual channel Thrift client GStreamer Stubs Basic Audio Player Guest OS Spice Client Thrift service Media Audio File GStreamer Server 1 1

  12. 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 2 1

  13. 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 3 1

  14. 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 4 1

  15. 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 5 1

  16. 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 6 1

  17. Thanks for watching! Q&A 7 1

Recommend


More recommend