Hi, On Thu, Jun 23, 2022 at 02:15:23PM +0800, yipeng@xxxxxxxxxxx wrote: > Hi,Victor Toso! > I am learning spice code recently. I have some doubts about > spice display channel. I hope to get your reply. You got it. I'm cc'ing spice-devel list which is the best place to ask for help related to Spice. > 1. How does spice distinguish between video transmission and > picture transmission. If the server is configured for streaming [0], it'll decide to start a video encoding based on how many updates it is getting from the Guest. We had a demo about it ages ago: https://www.youtube.com/watch?v=VUQYs72hrbM > 2. in the process of video transmission, is it the number of > frames of all videos or the changing part of the transmitted > video. Not sure I understand the question. The streaming will happen based on the amount of updates in a specific region of the Display. Let's say that you are playing a 720x360 video in a 4K display, only that region of the video is being updating too much and will be converted to a video stream. If you had two 720x360 videos playing, that's where the options all/filter would change the behavior, I think. With one, you would get two video streams, with the other it'd combine them in both. I'm talking from memory, so I might be wrong with some details. Note that with most recent Desktop environments like GNOME or windows 10, there is a lot of 3D happening which is full screen, that means it is interesting to stream the whole desktop. > 3. whether the transmission display can be configured to H264 > mode. It can, but it is software encoding. The default is the mjpeg encoder. H264, vp8/vp9 is using gstreamer and the code would most definitely need tweaks and tests to be considered for production... This is a heads up. What is your use case? [0] If using libvirt, that means setting <streaming mode=all> (or filter). See host video encoding at: https://www.spice-space.org/spice-user-manual.html Cheers, Victor
Attachment:
signature.asc
Description: PGP signature