Saturday 3 January 2009

ICamView Pro Server and Cameras - Review

I've just bought an ICamView Pro Server, and installed it into my Garage.


9/10 - Multi-featured, robust, powerful little device. For my specific application, the device has a few little quirks, but these can all be worked around, and for £34, this is a must-have.

First Impressions

The server itself is very small and light (about the size of a couple of matchboxes), and was extremely easy to set up ... I just plugged it into the network, and it got an IP address from my modem/router, which it displayed on its LCD display - I plugged in the two cameras I had also bought (CM-51 1280x1024 camera and CM-09 - 640x480 infra-red camera), and they could be viewed via the web front end.

Reviewed Version

This review is for the ICamView Pro server (HCV91), running Firmware 3.3.CV91.8C02 (December 2008).

Setting Passwords

When I connected to the server, there were no password accounts set. The manual told me that if I forget my password and cannot get in, there is a username / password written on the device itself - the username and password are, indeed, written on the box, but it is not clear if they are 'inside' the device, so I've added the account manually.

I want to make the camera available over the internet for viewing stills, so I have created a 'camview' account with no password, and viewing-only permissions.

Configuring The Server

The cameras have loads of features for security applications, such as email or upload images to and FTP server on a specific schedule, or when motion is detected. The server supports automatic registration via dyndns so that it can be found over the internet, and plenty of other features such as a wi-fi dongle configuration.

Scheduled Uploading and Motion Detection

I've not tried the automatic emailing, but the FTP uploading works fine. Files are automatically named in sequence, with a numbering scheme that you choose - it should be noted that on reset, the numbering scheme reverts back to the start, so you can't use this system to record hourly / daily snapshots and keep them forever. The option to name files with the time and date would be a nice feature to add.

Motion detection works fine in a small room, but it is not sensitive enough to detect small animals in a garden, so using it to get snapshots of rare birds is not really an option. There is the option to connect an external PIR to the RS232 port, which may help provide the coverage needed.

Wifi Connection

I pulled a wi-fi dongle from a Reciva internet radio, and it connected and worked fine. Setup was very easy, and the link was quite robust. When I moved the server to my Garage, where the connection is borderline at the best of times, the server kept automatically re-trying to recover the connection whenever it dropped. The connection uses WEP, and it didn't look like WPA was available.

Confguring the Cameras

The cameras are equally easy to configure. The server automatically detects the cameras' capabilities and offers the relevant options (such as resolutions).

The server allows you to configure the rotation the images, to support situations where the cameras are not mounted the usual way up. These rotation options are used to instruct the viewer's Java or ActiveX viewing application to perform image rotation corrections - rotation options do not work when capturing stills (see below).

The options available are:

OptionOverviewAffects VideoAffects Stills
Image SizeAllows image size to be selected - Only camera capable modes are displayed, from 160*120 up to 1280*1024YesYes
BrightnessEnables the camera 'brightness' to be turned up or down
Anti-FlickerEnables the camera to compensate for 50Hz, 60Hz or No (outdoor) flicker
Max Number of Connections
Restricts the maximum number of simultaneous network connections
LocationDescrption of the camera's location. This is printed on the video frames.
Light Compensation
Enables the automatic gain control to support wide lighting variations.
ColorForces the camera output to be colour or black and white.
Camera PositionEnables the output video to be rotated - i.e. supports cameras being mounted upside-down.YesNo
Pan Control
Controls the pan of the camera (if appropriate), supporting legacy cameras which had a reversed pan control.
Tilt Control
As with the Pan Control, enables the tilt control to be reversed.

Accessing the Cameras

The cameras can be accessed in several ways:
  • Email and FTP (pushed), as described above.
  • Streamed (pull) with either ActiveX or Java front-end.
  • Streamed (relay) through an iMage server - this only supports ActiveX.
  • Stills access (and camera control) using a pda.cgi script on the server.
Streamed Pull

The ActiveX and Java front ends work quite well, enabling you to see the live video, and control the camera (if it is a pan and tilt one). In order to access the video using the pull method, you need to ensure that the configuration (http) port and streaming ports are both accessible through your firewall - users needs to log onto your server with a valid account before being able to view / control / administrate your server.

Streamed Relay

The relay method seems to work without you opening up the video streaming port. In this instance, you create an account and log on to an ICamView server e.g., and stream your video via there.

Stills Access

Stills access using the pda.cgi script. This one shows great promise, however, in my opinion, it is still not quite there. Still images can be accessed by connecting to the camera server's web server, and accessing a page such as:
You can also control the camera (if it is a pan and tilt one) by accessing a page such as:
This has a couple of downsides, though:
  1. In order to make the pda.cgi function available, you have to open up your firewall and enable access to the main configuration management page. I do realise that the configuration management is protected by a password, but it would be better to allow just the pda.cgi page through - this could be achieved by running 2 webservers on different ports, and one port would only support the pda.cgi script.

  2. Images are not rotated like they are in the streamed video - this is because the server relays whatever the camera is producing, and the Java or ActiveX control flips it or rotates is to the correct position. The stills need a bit of JavaScript (using the canvas feature), or we need to wait for CSS3 to arrive.
    I've made a start at this - take a look at the garden webcam, the very alpha code is graceful, and does the following: flipping, rotating, scaling titling and dating.

  3. There is no way to limit the requests per second when it comes to still images.
The latest firmware release supports direct access to the cameras with showimga.cgi and showimgb.cgi - this returns the actual jpeg image, or an ASCII string stating that the image is not available. This method prompts for the username / password in order to gain access. It may be better to always return a jpeg image so that the client can embed the result in an IMG tag.


Whilst investigating the ICamView Pro Server, I emailed the tech support guys at ICamView, and they were extremely helpful and supportive, recognising that I was a bit of a techy, and providing thorough explanations to my questions rather than yes/no answers. With this support, I was better able to understand the server's capabilities.

Features I've Not Mentioned

The server has lots of other features too, which I haven't mentioned above. These include:
  • Connection Logging
  • Event Logging
  • Manual / DHCP Network Configuration
  • Configurable HTTP and Video Ports
  • Automatic DDNS regsitration
  • PPPoE support
  • 8 Accounts with own passwords and restrictions
  • Ability to allow accounts access from specific IP address ranges
  • 23 Event types that can be individually selected for reporting
  • 3 sensitivities for motion detection
  • Motion detection and scheduled recording can be enabled during 2 timeslots
  • 1/2 second - 5 second motion detection image recording
  • User defined interval for scheduled image recording
  • Recorded images -> email, FTP or local flash drive
  • Recorded videos -> local flash drive
  • Support for email server authentication
  • Selectable time server and re-synchronisation interval
  • v1 and v2c SNMP support
Good Features.
  • Supports 2 Cameras
  • Multi-featured
  • Can connect via wireless if a wifi dongle is used
  • Quick and simple to setup
  • Cost Effective
  • Excellent Support
Desired Improvements
  • It is not possible to make just the stills available through a firewall - a separate tcp port for the pda.cgi script would be useful.
  • A script needs writing to flip / rotate the stills at the client side.
  • A timestamp option rather than a sequenced number on saved images would be great for those images you want to keep forever.
  • WPA Support.
  • Limiting the maximum throughput rate for stills images
See the Webcams here.
ICamView's websites are here & here.
ICamView FAQ is here.


  1. hello, is very good studio for the HCV91, what web server is bull-it? do you have more commands internals. Sorry for my english.

  2. Hola Ricardo,

    The web server is proprietary - i.e. written by the hardware manufacturer. The only publicly known commands are listed on the ICamView FAQ - I've updated the page to include a link to it. Regards, Steve

  3. Just a quick not to say WPA is now available via the latest firmware .