VMware video codec
Yesterday I decided to give a look at the VMware video codec. Sample AVI files and a decoder DLL were available from the MPlayer samples archive.
A quick look at the bitstreams revealed that there are tags, like WMVi and WMVf in the file, preceded with a header.
After first investigations the idea was:
- 16bit unknown
- 16bit unknown
- 16bit current block x position
- 16bit current block y position
- 16bit block width
- 16bit block height
- 32bit tag
Sadly nothing resembling a size field was found, thus making just parsing the bitstream hard. Then came an idea for looking at the decoder DLL.
Interesting messages gathered with running ‘’strings’’ on it:
The vnc object is not properly configured.
Invalid VNC colormap.
Received too much VNC cut text.
VNCDecodeReadServerHeader received unsupported/invalid mode!
It was time looking at the VNC protocol specification]. It revealed that the codec is just a VNC session recorded in a custom format. Read more about the technical details of the format at the Multimedia Wiki.
A question remains: why did VMware made this codec closed when operating with publicly known protocols?!
Commenting is closed for this article.