Transcoding can be used to reduces the image quality and resolution before the image is send over the network. It is mainly used when connecting through a WAN connection with a low bandwidth. Depending on the BandWidth value and already send images, an image is marked or rejected for sending. When marked, the image is first decompressed and rescaled using the ImageWidth and ImageHeight parameter. Then it is compressed again using the ImageQuality parameter. This way the server will optimize the resulting image before sending it. For best performance and quality the ImageWidth and ImageHeight parameters must be the same as the displayed image.
When transcoding is enabled for the web client, the ImageWidth and ImageHeight parameters can be send along every getLiveImage request. If ommited, the default ImageWidth and ImageHeight values are taken.
The current settings for transcoding can be obtained with the command getServerOptions and set with the command setParameters. WebTranscodedImagesRequested returns 1 when transcoding is active, otherwise 0. WebDefaultImageWidth and WebDefaultImageHeight are used to determine the default ImageWidth and ImageHeight values for transcoding. When transcoding is not active, these values are not used. In that case, the complete image is send, even if it is going to be displayed much smaller.
Transcoding is seperately enabled for web clients. This allows the server to send transcoded images to web clients and normal images to NMS systems. Because transcoded images are send to all clients who requested a transcoded image, the lowest transcoding parameter values for all those clients are used. This could mean that even though you request an 1024 x 786 image, you receive an 400 x 300 images because another client requested that image size. Shortely after this other client stops requesting you will receive the image at your requested size.