Thanks for the response Victor,
I guess from my limited (user) perspective I don't have much to contribute, but it's good to know I wasn't doing anything wrong and support could come in a later release.
Cheers!
On Fri, 30 Jul 2021 at 22:02, Victor Toso <victortoso@xxxxxxxxxx> wrote:
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