[Spice-devel] [PATCH v8 00/24] Add GStreamer support for video streaming

Francois Gouget fgouget at codeweavers.com
Wed Jan 13 07:42:07 PST 2016


On Wed, 13 Jan 2016, Sunny Shin wrote:

> Hi Francois,
> 
> I'd like to test your new patch set. Which OS and version did you use? For
> the source, would it be ok to compile it from 'gst' git branch instead of
> main one?
> 
> Do you have any other information for me to test without failure since when
> I tested your old patch last year, the video playback didn't work. I guess
> I made a mistake in some place.

I mostly test on Debian Testing so it's a changing environment. I use 
the distribution's GStreamer packages and otherwise compile 
spice-protocol, spice and spice-gtk mostly from the my gst branches (I 
often have extra commits on top for debugging or whatever I'm working 
on).

I test in Xspice and I have attached the corresponding configuration 
file.


-- 
Francois Gouget <fgouget at codeweavers.com>
-------------- next part --------------
Section "Device"
    Identifier "XSPICE"
    Driver "spiceqxl"

    Option "NumHeads" "2"
    Option "Monitor-qxl-0" "Monitor0"
    Option "Monitor-qxl-1" "Monitor1"
    Option "Monitor-qxl-2" "Monitor2"

    #Option "SpiceDeferredFPS" "24"
    Option "EnableSurfaces" "false"
    
    Option "SpicePlaybackFIFODir"  "/home/fgouget/spice2/client/playback"
    Option "SpicePlaybackCompression" "1"

    Option "SpiceVdagentEnabled" "1"

    #Option "SpiceStreamingMode" "2"
    Option "SpiceVideoCodecs" "gstreamer:vp8;gstreamer:mjpeg"

    # Enable regular port. Either this or SpiceTlsPort, or one of XSPICE_PORT or
    # XSPICE_TLS_PORT environment variables must be specified
    # Defaults to 5900.
    Option "SpicePort" "5903"

    # Do not request any password from client
    Option "SpiceDisableTicketing" "1"

    #Option "SpiceExitOnDisconnect" "1"

    # Set password client will be required to produce.
    #Option "SpicePassword" "spicey"

    # Set streaming video method. Options are filter, off, all
    # defaults to filter.
    Option "SpiceStreamingVideo" "filter"

    #--------------------------------------------------------------
    # Buffer Size notes:
    #  The following buffer sizes are used for Xspice only
    #  If you are using the DFPS mode, surface ram is not used,
    #  and you can set it to 1.
    #  Otherwise, the surface buffer should be at least as large
    #   as the frame buffer, and probably a multiple like 8.
    #  The command buffer ram should also be substantially larger
    #   than the frame buffer, and note that the frame buffer occupies
    #   the front of the command buffer.  Hence, our default size
    #   is a command buffer 7x the size of the frame buffer.
    #  If you see 'Out of memory' errors in your xorg.log, you probably need
    #   to increase the surface or command buffer sizes.
    #--------------------------------------------------------------

    # The amount of surface buffer ram, in megabytes, to allocate
    # defaults to 128
    Option "SurfaceBufferSize" "192"

    # The amount of command buffer ram, in megabytes, to allocate
    # defaults to 128
    Option "CommandBufferSize" "192"

    # The amount of frame buffer ram, in megabytes, to reserve
    #  This is reserved out of the CommandBuffer RAM
    #  This governs the maximum size the X screen can be;
    #   4 Heads at 1920x1080 require 32M of RAM
    # defaults to 16
    Option "FrameBufferSize" "64"


EndSection

Section "InputDevice"
    Identifier "XSPICE POINTER"
    Driver     "xspice pointer"
EndSection

Section "InputDevice"
    Identifier "XSPICE KEYBOARD"
    Driver     "xspice keyboard"
EndSection


Section "Modes"
    Identifier "PortraitModes"
    Modeline "1080x1920" 167.86 1080 1136 1248 1408  1920 1921 1924 1987 -hsync +vsync
    Modeline "900x1440"  105.13 900 952 1040 1176  1440 1441 1444 1490 -hsync +vsync
    Modeline "768x1366"  84.78  768 808 888 1000  1366 1367 1370 1413 -hsync +vsync
    Modeline "768x1024"  63.54  768 808 888 1000  1024 1025 1028 1059 -hsync +vsync
EndSection

Section "Monitor"
    Identifier    "Monitor0"
    UseModes "PortraitModes"
EndSection

Section "Monitor"
    Identifier    "Monitor1"
    Option "RightOf" "qxl-0"
EndSection

Section "Monitor"
    Identifier    "Monitor2"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Monitor        "Monitor0"
    Device        "XSPICE"
    #DefaultDepth    24
    SubSection     "Display"
      Modes      "1024x768"
      Depth    24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Monitor        "Monitor1"
    Device        "XSPICE"
    #DefaultDepth    24
    SubSection     "Display"
      Modes      "800x600"
      Depth    24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen2"
    Monitor        "Monitor2"
    Device        "XSPICE"
    #DefaultDepth    24
    SubSection     "Display"
      Modes      "600x800"
      Depth    24
    EndSubSection
EndSection

Section "ServerLayout"
    Identifier "XSPICE Example"
    Screen "Screen0"
    Screen "Screen1" RightOf "Screen0"
    InputDevice "XSPICE KEYBOARD"
    InputDevice "XSPICE POINTER"
EndSection


More information about the Spice-devel mailing list