Axis Camera Emulator

The Axis Camera Emulator is a servlet-based webapp that provides a software simulation of Axis 2100 or 2120 camera hardware. It was born out of a need to load test image acquisition systems without purchasing new hardware. It can simulate an Axis 2100 (~$300 USD, April 2006), or an Axis 2120 (~$1400 USD, April 2006), thus saving you that much money per camera for your development and testing needs! This web application simulates an Axis camera using the version 1.0 camera API.

Raw MJPEG Stream

The raw MJPEG video stream is emulated from a pre-recorded raw MJPEG file. It can be played back at different framerates to provide loadtesting of camera client code through jipCam.

For example, this link provides an raw MJPEG stream at 10 FPS:
raw MJPEG at 10 FPS

This form allows you to easily vary the FPS:

Frames Per Second:

Camera Properties

The Camera Properties servlet simulates a URL query against a camera. This information is used by jipCam to determine what kind of camera it is talking to. Specific camera properties can be queried using the appropriate cgi parameters.

For example:
/axis-cgi/admin/getparam.cgi?root.Network
/axis-cgi/admin/getparam.cgi?root.BRAND.PRODFULLNAME

Video Applet

SORRY, the applet has been disabled due to my bandwidth costs! Constantly streaming video was eating up my connection (think YouTube, but only ONE server :). Please test the video streaming applet by building jipCam and running it in Jetty or Tomcat locally. The SourceForge CVS repository has the latest files: http://jipcam.cvs.sourceforge.net/jipcam/ The MJPEG Streaming Video Applet requires JMF in order to run. It demonstrates jipCam's MJPEG frame parser, and jipCam's integration with the Java Media Framework to provide access to raw JPEG video frames. In the case of this applet, video frames are acquired from the camera emulator's streaming MJPEG via jipCam, and rendered by JMF. In other applications jipCam could send the frames to video analysis libraries for other uses. The JMF notion of a "source" and "sink" for streaming content makes manipulation of the video source straight forward.