Media redirection for Spice remote computing solution Optimizing - - PowerPoint PPT Presentation

media redirection for spice remote computing solution
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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.

slide-2
SLIDE 2

2

  • Creating and playing of local media content

(a file) Common media processing usecases

  • Playback of remote media content
  • Telecommunications
slide-3
SLIDE 3

3

QEMU VM

Red Hat Spice overview

Linux KVM

Spice Server

Guest OS

Virtual Drivers Spice Agent Spice Client

SPICE protocol

slide-4
SLIDE 4

4

VM

Playback of remote media in VDI

Guest OS Virtual Drivers Media Player Spice Server Spice Client Media Media Engine Media over Spice

slide-5
SLIDE 5

5

VM

VoIP-system in VDI

Guest OS Virtual Drivers Spice Server Spice Client Media Media Engine Media over Spice Softphone VoIP system Signaling

slide-6
SLIDE 6

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
slide-7
SLIDE 7

7

VM

Custom VoIP solution

Guest OS Spice Server Media Media Engine Softphone1 Not used Spice Client Media Engine Softphone2 CTI VoIP system

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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

slide-17
SLIDE 17

1 7

Thanks for watching! Q&A