[spice-server] manual: document host-side video streaming

Submitted by Kevin Pouget on July 4, 2019, 10:18 a.m.

Details

Message ID 20190704101841.10581-1-kpouget@redhat.com
State Accepted
Headers show
Series "manual: document host-side video streaming" ( rev: 1 ) in Spice

Not browsing as part of any series.

Commit Message

Kevin Pouget July 4, 2019, 10:18 a.m.
Signed-off-by: Kevin Pouget <kpouget@redhat.com>
---

I removed the codec-selection part from this patch, I'll send it again
when Qemu/Libvirt patches are accepted.

---
 docs/manual/manual.txt | 49 ++++++++++++++++++++++++++++++++++++------
 1 file changed, 43 insertions(+), 6 deletions(-)

--
2.21.0

Patch hide | download patch | download mbox

diff --git a/docs/manual/manual.txt b/docs/manual/manual.txt
index ddb7c0f2..e95a563e 100644
--- a/docs/manual/manual.txt
+++ b/docs/manual/manual.txt
@@ -544,12 +544,14 @@  which are described when running remote-viewer with `--help-spice`.
 To get USB redirection working on Windows clients, you need to install
 http://www.spice-space.org/download/windows/usbdk/[UsbDk]

-[[streamingagent]]
-Streaming Agent
+[[videostreaming]]
+Video Streaming
 ===============

-The SPICE streaming agent allows to send an encoded video stream of the guest
-desktop to the client.
+SPICE streaming allows sending an encoded video stream of the guest
+desktop to the client. The encoding can be done from the host (inside
+SPICE server) or from the guest, with the help of the SPICE streaming
+agent.

 The streaming agent is a daemon/service running in the guest OS so it must be
 installed if it does not yet exist on the guest system.  It relies on a
@@ -557,8 +559,8 @@  dedicated spiceport char device to achieve communication between the guest and
 the host.  This device must be added to the virtual machine as described below
 for the streaming agent to work in the guest.

-Configuration
--------------
+Guest Video Encoding: Agent Configuration
+-------------------------------------------

 .Using virt-manager

@@ -595,6 +597,41 @@  the needed devices for agent support in the guest OS:
 -chardev spiceport,name=org.spice-space.stream.0,id=charchannel1


+Host Video Encoding
+-------------------
+
+For host video encoding, SPICE natively supports MJPEG encoding. For
+using further codecs, SPICE server must be compiled with GStreamer
+support.
+
+.Setting
+
+SPICE video streaming parameter can take three values:
+
+- `off`: no video detection is performed,
+- `all`: any fast-refreshing window can be encoded into a video stream,
+- `filter`: SPICE server adds additional filters to decide if video
+  streaming should be activated (at the moment, only small window
+  surfaces are skipped),
+
+.Using libvirt
+
+The `streaming` tag must be added to Spice `graphics`:
+
+[source,xml]
+
+<graphics type='spice' autoport='yes'>
+    <streaming mode='off|all|filter'/>
+</graphics>
+
+.Using QEMU
+
+Adding the following parameters to your QEMU command line will enable
+SPICE server video encoding:
+
+[source,sh]
+-spice ...,streaming-video=off|all|filter,...
+
 CAC smartcard redirection
 =========================


Comments

> 
> Signed-off-by: Kevin Pouget <kpouget@redhat.com>
> ---
> 
> I removed the codec-selection part from this patch, I'll send it again
> when Qemu/Libvirt patches are accepted.
> 
> ---
>  docs/manual/manual.txt | 49 ++++++++++++++++++++++++++++++++++++------
>  1 file changed, 43 insertions(+), 6 deletions(-)
> 
> diff --git a/docs/manual/manual.txt b/docs/manual/manual.txt
> index ddb7c0f2..e95a563e 100644
> --- a/docs/manual/manual.txt
> +++ b/docs/manual/manual.txt
> @@ -544,12 +544,14 @@ which are described when running remote-viewer with
> `--help-spice`.
>  To get USB redirection working on Windows clients, you need to install
>  http://www.spice-space.org/download/windows/usbdk/[UsbDk]
> 
> -[[streamingagent]]
> -Streaming Agent
> +[[videostreaming]]
> +Video Streaming
>  ===============
> 
> -The SPICE streaming agent allows to send an encoded video stream of the
> guest
> -desktop to the client.
> +SPICE streaming allows sending an encoded video stream of the guest
> +desktop to the client. The encoding can be done from the host (inside
> +SPICE server) or from the guest, with the help of the SPICE streaming
> +agent.
> 
>  The streaming agent is a daemon/service running in the guest OS so it must
>  be
>  installed if it does not yet exist on the guest system.  It relies on a
> @@ -557,8 +559,8 @@ dedicated spiceport char device to achieve communication
> between the guest and
>  the host.  This device must be added to the virtual machine as described
>  below
>  for the streaming agent to work in the guest.
> 
> -Configuration
> --------------
> +Guest Video Encoding: Agent Configuration
> +-------------------------------------------
> 
>  .Using virt-manager
> 
> @@ -595,6 +597,41 @@ the needed devices for agent support in the guest OS:
>  -chardev spiceport,name=org.spice-space.stream.0,id=charchannel1
> 
> 
> +Host Video Encoding
> +-------------------
> +
> +For host video encoding, SPICE natively supports MJPEG encoding. For
> +using further codecs, SPICE server must be compiled with GStreamer
> +support.
> +
> +.Setting
> +
> +SPICE video streaming parameter can take three values:
> +
> +- `off`: no video detection is performed,
> +- `all`: any fast-refreshing window can be encoded into a video stream,
> +- `filter`: SPICE server adds additional filters to decide if video
> +  streaming should be activated (at the moment, only small window
> +  surfaces are skipped),
> +
> +.Using libvirt
> +
> +The `streaming` tag must be added to Spice `graphics`:
> +
> +[source,xml]
> +
> +<graphics type='spice' autoport='yes'>
> +    <streaming mode='off|all|filter'/>
> +</graphics>
> +
> +.Using QEMU
> +
> +Adding the following parameters to your QEMU command line will enable
> +SPICE server video encoding:
> +
> +[source,sh]
> +-spice ...,streaming-video=off|all|filter,...
> +
>  CAC smartcard redirection
>  =========================
> 

Acked

Frediano