Re: Spice with H264/5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]