MPEG Pixel Encoder

cbeerse@gmail.com cbeerse "at" gmail.com
Mon Aug 8 15:55:02 2005


Shane Walton wrote:

> I have seen mention of MPEG as a pixel encoder for VNC, but
> have not found any implementations.
> 
> It would seem that MPEG type encoding would be more
> efficient than JPEG as MPEG counts for unchanged areas
> where JPEG doesn't maintain any history of the previous
> frame.
> 
> Does anybody see or know of a reason why MPEG encoding
> hasn't been used by VNC implementations?
> 

As far as I know, both mpeg and jpeg have no advantage for vnc as long as the 
grapics are all computer graphics and no pictures or photographs or such.

The compression of mpeg and jpeg is verry good on pictures and photographs, at 
the cost of some cpu-power. However, for computer graphics like windows and 
such, the compression is verry poor. Not to mention the extreme loss of quality. 
You can test this yourself by taking a screen-dump of this window (the one you 
use to read this mail) and store it as a bitmap (*.bmp), a gif and a jpeg. Now 
compare the file-size and view them. I bet the gif is smaller than the jpeg and 
the readability of the jpeg is not that good...

The advantage of mpeg over jpeg is that it only sends the update of the screen 
with every frame, just as vnc does by default. Hence no advantage for mpeg 
there. The disadvantage for mpeg is that it must send a continuous streem (with 
an entire picture once in a while!), where vnc only sends updates if ther are 
updates.

Hence, except for handling pictures and photographs, jpeg is not usable for vnc. 
Due to the continuous data stream, mpeg has no advantage for vnc either.

HOWEVER: If you like to make a demonstration, vnc can be an aid and it would be 
  nice if a session can be recorded and stored in some default video format. I 
know there is such a thing around but I donnot have any ponters at hand. With 
this tool, you can record a session and creat a video-stream out of it. As far 
as I have peeked into this in the past, It acts as a vncviewer that records 
everything it gets.




CBee