; PARAMETER TYPES
;
; 1. Normal parameters. 
;
;	For example: PORT=100
;
; 2. Value formats:
;
; 	Each parameter value has a single representation in VideoDR-S -
;	it is a simple integer in range from 0 to some maximum value, for
;	example CAMERA - 0..16, QUALITY - 0..100, BRIGHTNESS - 0..10000.
;	You needn't to know those values actually. You can change its
;	format by using value formats as follows:
;
;		CAMERA={1,2,3,4}
;	replaces 0 with 1, ..., 3 with 4, each value above 3 remains unchanged,
;
;		BRIGHTNESS=<1,100>
;	maps values to range 1-100. In above case it maps <0,10000> to <0,100>
;	for example 5000 becomes 500, 0 is still 0, and 9123 becomes 91.
;
;		QUALITY=(Low,Medium,Good,Excellent)
;	replaces each value with a string. For example if maximum value for
;	this parameter is 100 it replaces all values in range <0,24> with Low,
;	<25-49> with Medium, <50-74> with Good, and <75-100> with Excellent.
; 
; 
; 3. Formatted strings:
;
;	For example for request:
;
;		CAMERA={1,2,3,4}
;		QUALITY=(Low,Medium,Good,Excellent)
;		URI = /media/%CAMERA%/mjpeg.bin?Quality=%QUALITY%&Fps=%FPS%
;
;	All parameters are replaced with their formatted values, before URI
;	string is used. 
;	For parameter values in video server:
;			CAMERA = 0
;			QUALITY = 20 // range 0-100
;			FPS	= 25 // range 0-25
;
;	URI string is used in form as follows:
;
;		/media/1/mjpeg.cgi?Quality=Low&Fps=25
;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;        VIDEO
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[GET_VIDEO_RTP_UNICAST_MPEG4]
; rtsp url
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
URI = /mpeg4/%CAMERA%/media.amp

[GET_VIDEO_RTP_MULTICAST_MPEG4]
; rtsp url
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
URI = /mpeg4/%CAMERA%/media.amp

[GET_VIDEO_RTP_TCP_MPEG4]
; rtsp url
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
URI = /mpeg4/%CAMERA%/media.amp

[GET_VIDEO_RTP_HTTP_MPEG4]
; rtsp-over-http url
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
URI = /mpeg4/%CAMERA%/media.amp

[GET_VIDEO_HTTP_MJPEG]
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
CAMERA_QUALITY	= <100,0>
URI = /axis-cgi/mjpg/video.cgi?camera=%CAMERA%&compression=%CAMERA_QUALITY%&resolution=%CAMERA_FORMAT%&fps=%CAMERA_FPS%

[GET_VIDEO_HTTP_MJPEG_PREVIEW]
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
CAMERA_QUALITY_PREVIEW	= <100,0>
URI = /axis-cgi/mjpg/video.cgi?camera=%CAMERA%&compression=%CAMERA_QUALITY_PREVIEW%&resolution=%CAMERA_FORMAT_PREVIEW%&fps=%CAMERA_FPS_PREVIEW%

;[GET_VIDEO_UDP_MPEG4]
; not supported yet

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;        AUDIO
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[GET_AUDIO_HTTP_MIME]
; supported mimes:
; audio/basic		- G.711 uLaw 64kbit/s
; audio/32KADPCM	- G.726 32kbit/s
; audio/G723		- G.726 24kbit/s (?!)
;
; channel is not used
; CHANNEL = 
URI = /axis-cgi/audio/receive.cgi?httptype=multipart


[MICROPHONE_HTTP_MIME]
; will post sound data
FORMAT = audio/32KADPCM
URI = /axis-cgi/audio/transmit.cgi?httptype=multipart

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;        CAMERA
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[SET_CAMERA_INIT_1]
; send after connecting
CAMERA	=
URI  	= /axis-cgi/admin/param.cgi
POST 	= action=update&Image.TriggerDataEnabled=yes&Image.I%CAMERA%.TriggerData.IOEnabled=yes&Image.I%CAMERA%.TriggerData.VideoLossEnabled=yes&Image.I%CAMERA%.TriggerData.MotionDetectionEnabled=yes

[SET_CAMERA_INIT_2]
; send after connecting
; not used

[SET_CAMERA_INIT_3]
; send after connecting
; not used

[SET_CAMERA_QUALITY]
; Leave CAMERA in default format: 0,1,...15
; map quality to compression - reverse direction.
CAMERA_QUALITY = <100,0> 
URI  = /axis-cgi/admin/param.cgi
POST = action=update&Image.I%CAMERA%.Appearance.Compression=%CAMERA_QUALITY%

[GET_CAMERA_QUALITY]
CAMERA_QUALITY 	= <100,0> 
URI  = /axis-cgi/admin/param.cgi
POST = action=list&group=Image.I%CAMERA%.Appearance.Compression
DATA = Image.I%CAMERA%.Appearance.Compression=

[SET_CAMERA_CBR]
CAMERA_CBR = {vbr,cbr}
URI  = /axis-cgi/admin/param.cgi
POST = action=update&Image.I%CAMERA%.RateControl.Mode=%CAMERA_CBR%

[GET_CAMERA_CBR]
CAMERA_CBR = {vbr,cbr}
URI  = /axis-cgi/admin/param.cgi
POST = action=list&group=Image.I%CAMERA%.RateControl.Mode
DATA = Image.I%CAMERA%.RateControl.Mode=

[SET_CAMERA_BITRATE]
; Leave BITRATE int default format
;CAMERA_BITRATE_KBPS = 
URI  = /axis-cgi/admin/param.cgi
POST = action=update&Image.I%CAMERA%.RateControl.TargetBitrate=%CAMERA_BITRATE_KBPS%

[GET_CAMERA_BITRATE]
; Leave BITRATE int default format
;CAMERA_BITRATE_KBPS = 
URI  = /axis-cgi/admin/param.cgi
POST = action=list&group=Image.I%CAMERA%.RateControl.TargetBitrate
DATA = Image.I%CAMERA%.RateControl.TargetBitrate=

[SET_CAMERA_BRIGHTNESS]
CAMERA_BRIGHTNESS = <0,100>
URI  = /axis-cgi/admin/param.cgi
POST = action=update&ImageSource.I%CAMERA%.Sensor.Brightness=%CAMERA_BRIGHTNESS%

[GET_CAMERA_BRIGHTNESS]
CAMERA_BRIGHTNESS = <0,100>
URI  = /axis-cgi/admin/param.cgi
POST = action=list&group=ImageSource.I%CAMERA%.Sensor.Brightness
DATA = ImageSource.I%CAMERA%.Sensor.Brightness=

[SET_CAMERA_SATURATION]
CAMERA_SATURATION = <0,100>
URI  = /axis-cgi/admin/param.cgi
POST = action=update&ImageSource.I%CAMERA%.Sensor.ColorLevel=%CAMERA_SATURATION%

[GET_CAMERA_SATURATION]
CAMERA_SATURATION = <0,100>
URI  = /axis-cgi/admin/param.cgi
POST = action=list&group=ImageSource.I%CAMERA%.Sensor.ColorLevel
DATA = ImageSource.I%CAMERA%.Sensor.ColorLevel=

[SET_CAMERA_CONTRAST]
CAMERA_CONTRAST = <0,100>
URI  = /axis-cgi/admin/param.cgi
POST = action=update&ImageSource.I%CAMERA%.Sensor.Contrast=%CAMERA_CONTRAST%

[GET_CAMERA_CONTRAST]
URI  = /axis-cgi/admin/param.cgi
POST = action=list&group=ImageSource.I%CAMERA%.Sensor.Contrast
DATA = ImageSource.I%CAMERA%.Sensor.Contrast=

[SET_CAMERA_HUE]
; not supported by any camera ?
CAMERA_HUE = <0,100>
URI  = /axis-cgi/admin/param.cgi
POST = action=update&ImageSource.I%CAMERA%.Sensor.Hue=%CAMERA_HUE%

[GET_CAMERA_HUE]
CAMERA_HUE = <0,100>
URI  = /axis-cgi/admin/param.cgi
POST = action=list&group=ImageSource.I%CAMERA%.Sensor.Hue
DATA = ImageSource.I%CAMERA%.Sensor.Hue=

[SET_CAMERA_FPS]
; leave CAMERA_FPS in default format
URI  = /axis-cgi/admin/param.cgi
POST = action=update&Image.I%CAMERA%.Stream.FPS=%CAMERA_FPS%

[GET_CAMERA_FPS]
; leave CAMERA_FPS in default format
URI  = /axis-cgi/admin/param.cgi
POST = action=list&group=Image.I%CAMERA%.Stream.FPS
DATA = I%CAMERA%.Stream.FPS=

[SET_CAMERA_FORMAT]
; resolution formats are defined for each camera 
; model separately in vdrs_camera_model.ini
URI  = /axis-cgi/admin/param.cgi
POST = action=update&Image.I%CAMERA%.Appearance.Resolution=%CAMERA_FORMAT%

[GET_CAMERA_FORMAT]
URI  = /axis-cgi/admin/param.cgi
POST = action=list&group=Image.I%CAMERA%.Appearance.Resolution
DATA = Image.I%CAMERA%.Appearance.Resolution=

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;        DEVICE
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;        OUTPUT
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[SET_OUTPUT_STATE]
OUTPUT		= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
OUTPUT_STATE	= {\,/}
URI		= /axis-cgi/io/output.cgi?action=%OUTPUT%:%OUTPUT_STATE%
DATA		= 

[GET_OUTPUT_STATE]
OUTPUT		= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
OUTPUT_STATE	= {inactive,active}
URI		= /axis-cgi/io/output.cgi?checkactive=%OUTPUT%
DATA		= output%OUTPUT%=

[GET_OUTPUT_STREAM]
; doesn't seem to work ?
URI		= /axis-cgi/io/output.cgi?monitor=%MODEL_PARAM_0%
OUTPUT   	= {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
INPUT_STATE 	= {\,/}
; ?????????
PREFIX_OUTPUT  	= OO%OUTPUT%:

[GET_OUTPUT_QUERY]
OUTPUT		= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
OUTPUT_STATE	= {inactive,active}
URI		= /axis-cgi/io/output.cgi?checkactive=%MODEL_PARAM_0%
PREFIX_OUTPUT	= output%OUTPUT%=

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;        INPUT
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[GET_INPUT_STATE]
INPUT	    	= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
INPUT_STATE 	= {inactive,active}
URI		= /axis-cgi/io/input.cgi?checkactive=%INPUT%
DATA	 	= input%INPUT%=

[GET_INPUT_STREAM]
URI		= /axis-cgi/io/input.cgi?monitor=%MODEL_PARAM_1%
INPUT   	= {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
INPUT_STATE 	= {\,/}
PREFIX_INPUT  	= IO%INPUT%:

[GET_INPUT_QUERY]
URI		= /axis-cgi/io/input.cgi?checkactive=%MODEL_PARAM_1%
INPUT   	= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
INPUT_STATE 	= {inactive,active}
PREFIX_INPUT  	= input%INPUT%=

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;        DOME
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[DOME_MOVE]
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
DOME_SPEED_PAN	= <-100,100>
DOME_SPEED_TILT	= <-100,100>
; not used
;DOME_DIR_PAN		= {left,0,right}
;DOME_DIR_TILT		= {down,0,up}
;DOME_DIR_SPEED_PAN 	= <0,100>
;DOME_DIR_SPEED_TILT	= <0,100>
URI = /axis-cgi/com/ptz.cgi?camera=%CAMERA%&continuouspantiltmove=%DOME_SPEED_PAN%,%DOME_SPEED_TILT%

[DOME_STEP]
; hstep, vstep
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
DOME_STEPS_PAN	= <-10,10>
DOME_STEPS_TILT	= <-10,10>
; not used
;DOME_DIR_PAN		= {left,0,right}
;DOME_DIR_TILT		= {down,0,up}
;DOME_DIR_STEPS_PAN 	= <0,100>
;DOME_DIR_STEPS_TILT	= <0,100>
URI = /axis-cgi/com/ptz.cgi?camera=%CAMERA%&rtilt=%DOME_STEPS_TILT%&rpan=%DOME_STEPS_PAN%

[DOME_SET_POSITION_VIEW]
; ( clicked on screen )
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
DOME_VIEW_POS_X = <0,1000>
DOME_VIEW_POS_Y = <0,1000>
URI = /axis-cgi/com/ptz.cgi?camera=%CAMERA%&center=%DOME_VIEW_POS_X%,%DOME_VIEW_POS_Y%&imagewidth=1000&imageheight=1000

[DOME_SET_POSITION_ABS]
; ( absolute coordinates )
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
DOME_ABS_POS_X = <-180,180> 
DOME_ABS_POS_Y = <-180,180>
URI = /axis-cgi/com/ptz.cgi?camera=%CAMERA%&pan=%DOME_ABS_POS_X%&tilt=%DOME_ABS_POS_Y%

[DOME_ZOOM]
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
DOME_DIR_ZOOM	= {-250,0,250}
URI = /axis-cgi/com/ptz.cgi?camera=%CAMERA%&continuouszoommove=%DOME_DIR_ZOOM%

[DOME_ZOOM_STEP]
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
DOME_STEPS_ZOOM	= <-250,250>
; not used
;DOME_DIR_ZOOM		= {left,0,right}
;DOME_DIR_STEPS_ZOOM 	= <0,100>
URI = /axis-cgi/com/ptz.cgi?camera=%CAMERA%&rzoom=%DOME_STEPS_ZOOM%

[DOME_IRIS]
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
DOME_DIR_IRIS	= {-10,0,10}
URI = /axis-cgi/com/ptz.cgi?camera=%CAMERA%&continuousirismove=%DOME_DIR_IRIS%

[DOME_FOCUS]
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
DOME_DIR_ZOOM	= {-10,0,10}
URI = /axis-cgi/com/ptz.cgi?camera=%CAMERA%&continuousfocusmove=%DOME_DIR_FOCUS%

[DOME_AUTOIRIS]
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
DOME_AUTOIRIS = {off,on}
URI = /axis-cgi/com/ptz.cgi?camera=%CAMERA%&autoiris=%DOME_IRIS%

[DOME_AUTOFOCUS]
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
DOME_AUTOFOCUS = {off,on}
URI = /axis-cgi/com/ptz.cgi?camera=%CAMERA%&autofocus=%DOME_AUTOFOCUS%

[DOME_SET_PRESET]
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
DOME_PRESET =
URI = /axis-cgi/com/ptz.cgi?camera=%CAMERA%&setserverpresetno=%DOME_PRESET%
;URI = /axis-cgi/com/ptz.cgi?camera=%CAMERA%&setdevicepreset=%DOME_PRESET%

[DOME_GOTO_PRESET]
CAMERA = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
DOME_PRESET =
URI = /axis-cgi/com/ptz.cgi?camera=%CAMERA%&gotoserverpresetno=%DOME_PRESET%
;URI = /axis-cgi/com/ptz.cgi?camera=%CAMERA%&gotodevicepreset=%DOME_PRESET%


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;        EVENTS
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[EVENTS_USER_DATA]
INPUT   	= {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
CAMERA   	= {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
INPUT_STATE 	= {0,1}
VIDEO_STATE 	= {0,1}
MOTION_STATE	= {0,1}
START_CODE   	= %0x0A%%0x03%
PREFIX_INPUT  	= IO%INPUT%:
PREFIX_OUTPUT 	=
PREFIX_VIDEO   	= V%CAMERA%:
; motion detections is hard coded, sorry :(

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;        MISC
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[WEB_INTERFACE]
GET = operator/basic.shtml

[WEB_MOTION_DETECTION]
CAMERA = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
URI = /operator/motionDetection.shtml?nbr=%CAMERA%

