Live video on a high hit rate site using HTTP upload on the camera

Summary: This article shows how to include a live video from an Axis network camera on a Microsoft IIS Web server page using an intermediate image upload via HTTP, from the camera to an .asp script running on the Web server. This is possible to implement with the products having sequential HTTP upload functionality (most of the products in the new generation).The information in this article applies to Axis network cameras and video servers running firmware version 4.xx and supporting sequential HTTP upload.


If a site has many simultaneous connections, it is recommended to "protect" the Axis network video product from overload. Do this by buffering the images on a high performance Web server. The Axis network camera has built-in functionality that enables it to upload images automatically to the "buffer server".

A high hit-rate Internet site may overload the Axis network camera since the maximum number of users who can receive live images simultaneously is 20. Below we explain how you can set this up on a Microsoft IIS Web server.

Configure the Axis network camera to deliver images sequentially to an HTTP (Web). This is done using the Event Configuration in the product's web interface. The Web server runs a script that receive images and will, from these images, generate an image stream to all users who access the Web page.

Preparing the Web server

  1. Create a virtual directory, for example named 'live' on your IIS server pointing to a folder, for example c:\inetpub\wwwroot\live on the server's hard disk.

  2. Download and unpack the necessary files (includes Global.asa, filesize.asp, http_upload.asp, readImage.asp, view.htm) in the above folder.

  3. Configure an Axis network video product to perform HTTP upload of images to the http_upload.asp file i.e. in this case the necessary URL in the Event Server configuration would be:


    In the Event Type configuration configure HTTP upload to the above server with the desired image frequency (for example 1 frame per second). Use Overwrite option.

  4. View a still image through the readImage.asp script, for example:


  5. View JavaScript updated video from the view.htm file, for example:


    The implementation is done in the following way:

    In the Global.asa file a global variable is defined that will contain the entire image file.

    The http_upload script will insert the image file into this global variable and update it when a new image is sent from the camera. The readImage will simply get the global variable and send it to the user.

Note: Display width and height, BaseURL for the document, URL for script reading images specified in the variable File and update frequency for images can be adjusted in the view.htm file found in the above zip file (see number 2).

Important: Axis does not take any responsibility for how these configuration changes may affect your system. If the modification fails or if you get other unexpected results, you may have to restore the factory default settings as described in the User’s Manual.