DirectShow source filter for Axis network video cameras. Version 5.0.160
Author: Unreal Streaming Technologies. http://www.umediaserver.net
Freeware for any use.

See LAN and Internet Axis cameras in your Windows Media Player!

This filter works with Axis cameras that support 320x240 and 640x480 resolutions. 
Supported models: 2100, 2110, 205, 206, 210, 211.
The filter downloads live images from the camera over the network using HTTP protocol.

Operating systems: All Windows OS.
You must have DirectX 8+ installed.

Any Windows application that works with video sources will pick this filter up and work with it: 
Video Editing and Video Capturing-Recording applications, 
Streaming servers (Windows Media Encoder, Unreal Media Server, VideoLan etc), 
Macromedia Flash plugin and others.

Windows Media Player will work with this filter via File->Open URL menu item. 
The following is the syntax for Open URL: (case insensitive)
UAXIS://IP=<ip address of axis camera>&Port=<port>&Comp=<Video compression level>
&fps=<number of frames per second>&size=<small (320x240) or big (640x480)>

Valid ranges:
Compression: specify 1 to use camera default compression or use range 1-100 where 100 is the highest compression. 
The higher the compression is, the worse the image quality.
Fps: 1-15
Size: small or big

Here are two examples referencing two existing public Axis cameras:
UAXIS://IP=146.57.180.52&Port=80&Comp=50&fps=10&size=small
UAXIS://IP=webcam.linnea.net&Port=80&Comp=-1&fps=8&size=big

Notes for developers:

The filter uses the following registry location to read/write settings:
HKEY_LOCAL_MACHINE\SOFTWARE\Unreal\Live\UaxisVideo
The filter reads registry when it is created; writes to registry from its property page. 

There are several ways the application can configure the filter:
1. Via custom interface IUAxisVideoSettings (the .h file is attached to the package)
2. Image size and frame rate can be set via IAMStreamConfig interface.
3. Via IFileSourceFilter interface.
4. Property page can be displayed via ISpecifyPropertyPages interface.

You can create the filter specifying one of these interfaces, or QueryInterface from IBaseFilter.
Caution: Assign settings to the filter before you connect it to the other filters in the graph. 
Every time you change settings, all the filters in the graph will disconnect.


