Hi, On Mon, Jun 21, 2021 at 05:04:59PM +0700, Noah O'Donoghue wrote: > Hi all, > > I'm trying to use gstreamer with spice to encode/decode video, > as I think it will be much faster and smoother than MJPEG, > > I've installed these packages on both client and server (Ubuntu 20.04) > gstreamer1.0-plugins-base > gstreamer1.0-plugins-good, > > And with remote-viewer --spice-debug I can see that my > client/server are advertising a range of protocols (including > H264).. > > But for some reason it only uses MJPEG..? > > Any ideas? You need configure the server to do the encoding, that is not enable by default. You can see in the code [0] that spice:mjpeg is preferred and gstreamer is only enabled if spice compiled with gstreamer. The second thing to keep in mind is how to set the preference of video encoding with mjpeg. The application using spice should use spice_server_set_video_codecs() introduced at [1] API but QEMU never got to implement that so you are a bit limited to how to configure that on the host side. As you have mentioned, there is some support in the protocol to configure the server based on client's requests. It was implemented first as a testing tool, to exchange video-codec on the fly and later it could be used to rank video-codec based on client's capabilities for hw decoding. You can test that in spicy testing tool, there is a radio button list that you can reach from the Menu. Sadly, this feature did not reach the stage we wanted in order to implement for other clients like virt-viewer. [0] https://gitlab.freedesktop.org/spice/spice/-/blob/master/server/reds.cpp#L3425 [1] https://gitlab.freedesktop.org/spice/spice/-/commit/497fcbb0a Sorry delay. Cheers, Victor
Attachment:
signature.asc
Description: PGP signature