0% found this document useful (0 votes)
251 views

ACTi Camera API and URL Commands 20220803

ACTi

Uploaded by

Caio Kasamatsu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
251 views

ACTi Camera API and URL Commands 20220803

ACTi

Uploaded by

Caio Kasamatsu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 73

Category: Design & Spec Note

Sub-category: Integration, Application


ACTi Model: All Cameras
Knowledge Base Firmware: All
Software: N/A Author: Ando.Meritee
Published: 2012/03/27 Reviewed: 2022/08/03

ACTi Camera API and URL Commands

Contents

Introduction
Differences of Camera Series
How Does URL Command Look Like
Camera Sending URL Commands to Itself
。 Frequently Used URL Commands
。 Hands-on Practice
Camera Sending URL Commands to another Camera
。 Hands-on Practice
Interaction between Camera and Website over WAN
。 Frequently Used URL Commands
Convenient Installation & Configuration using URL Commands
。 Frequently Used URL Commands
。 Hands-on Practice
A-Series URL Commands (except A950, A951)
Z-Series API Commands
A950 & A951 API Commands

Introduction

The communication language of ACTi cameras is very simple – it consists of clearly


understandable text based commands. Since the receiver of the commands is usually the
built-in web server within the camera, those texts are also called URL commands. By using
URL commands it is possible to change the configuration of the camera, check the status of
any of the services or alarms, request video or snapshots, and much more.

While the most common usage of URL commands is ACTi camera integration with video
management systems, the simplicity of the commands allows them to be used in variety of
practical applications even for those who have no previous experience in text-based camera
control.

The most frequently used applications that can take a good use of URL commands are related
to event management – by using the URL commands within the Event Handler system of the
camera it is possible to change the system or video settings or change the PTZ position of the

1 www.acti.com
camera itself or any other ACTi camera upon triggered events.

That’s not all – it is even possible to integrate ACTi cameras with web applications by using
URL commands. You could easily create a web page by which you can display the list of
camera events, snapshots or live video from the camera or change the camera settings by
pressing the buttons on your custom made website.

Last, but not least – URL commands help save lots of camera installation time. Instead of
repeating same configuration steps on multiple cameras, such as full-screen motion detection
region setup, it is possible to take a good use of ACTi IP Utility 4 that allows configuration of
any parameters on multiple devices at the same time by using URL commands.

The following chapters are divided into two main parts – the practical applications for the
end user daily surveillance purpose and convenient installation tips for system
integrators using URL commands.

Please note that throughout product generations, the URL commands have changed a bit. The
first chapters all the way till page 32 are applicable for the following product series:

1. Dxx-series cameras
2. Exx-series cameras
3. Bxx-series cameras
4. Ixx-series cameras
5. KCM-series cameras
6. Q1x-series cameras
7. A310, A311, A71, A74, A416, A418, A811, A818

The rest of the A-series models are covered starting from the page 32.

The Z-series models are covered starting from the page 41.

A950, A951 are covered starting from the page 49.

2 www.acti.com
How Does URL Command Look Like

Before going into details of URL command applications, let’s see how a typical URL command
would look like. Below is the example of the URL command that changes the camera’s frame
rate to 1 fps.

http://172.16.26.92:80/cgi-bin/encoder?USER=Admin&PWD=123456&VIDEO_FPS_NUM=1

IP address & port The target CGI User name and The actual command

of target camera program inside the password that have (forcing the camera to 1

camera to receive permission to send fps immediately after it

the command given URL command receives the command)

It is possible to send multiple commands with one URL command line by separating them
with “&” symbol. For example, if the user wants to change both frame rate and bitrate at the
same time, it is possible to write the ending of the URL command this way:

…&VIDEO_FPS_NUM=1&VIDEO_BITRATE=500K

If it is necessary to have encrypted user name and password, it is possible to use following
URL command syntax:

http://172.16.26.92:80/cgi-bin/cmd/encoder?VIDEO_FPS_NUM=1

Will prompt to require user name

and password that will be encrypted

If you are working with the multi-channel device (including multi-channel encoders, dual
stream media 1 and media 2, KCM series 4VGA and 6VGA) the channel number has to be
added. For channel 1, you may omit the channel command or have it as CHANNEL=1.

http://172.16.26.92:80/cgi-bin/cmd/encoder?CHANNEL=2&VIDEO_FPS_NUM=1

The target of this URL command is channel 2.

For dual stream camera it means media 2.

3 www.acti.com
Camera Sending URL Commands to Itself

With the help of the Event Handler function inside the camera it is possible to change the
camera settings or PTZ position automatically whenever the scheduled or alarm event is
triggered. For example, the camera changes its frame rate from maximum to 1fps together
with lowering the bitrate upon day to night switch, in order to save the recording storage space
during night time.

Such changes are possible thanks to URL commands. When the URL command is written in
the Event Handler rule, it will be executed when the event is triggered. The camera would then
send the URL command to itself to force itself to take pre-defined actions. There are
thousands of combinations of URL commands that can be used with Event Handler system.

Example 1: Use URL commands in Event Handler to set camera on 12 fps when there is
a motion alarm and set it back to 2 fps when the event ends 30 seconds later.

4 www.acti.com
Example 2: Allow access for certain user only for a limited period of time. If you wish a
certain user to have a visitor access to your camera every Wednesday between 2p.m.-3p.m.
then you can first create the user account and then manage its password by event handler.
Then, notify the user of the name and password that is activated during given period of time.

It is a secure method because the user itself will not be able to access the setup page of the
camera to do any Event Handler configurations. Only Admin account can do it.

Please note that in this case, the system cgi is used as a target of URL command instead of
encoder cgi, as it changes the system settings, not video settings.

Prepare the following URL commands to change


User 1 password:
/cgi-bin/cmd/system?ACCOUNT_USER_PASSWORD_1=123

/cgi-bin/cmd/system?ACCOUNT_USER_PASSWORD_1=asdfgh

With these settings, the user can login using the name “visitor” and password “123” on
Wednesdays between 2p.m.-3p.m.

Do you want to check which names and passwords exist in the camera system?
Simply type the following URL to browser’s address bar (using your camera IP instead):
http://172.16.26.92:80/cgi-bin/cmd/system?ACCOUNT

5 www.acti.com
Example 3: Show alarm message as text overlay when digital input is triggered.

It would be useful to display the alarms of digital input


as text overlay – this way the exact moment of the
event trigger will be recorded as a visual evidence
right within the video clip.

The instruction below explains how to take a good


use of URL commands to display “ALARM1-ON” text on video for 5 seconds whenever digital
input 1 is triggered. It is especially useful for the cases when the third party VMS does not
support the event management of digital inputs of the camera.

Prepare the following URL commands to turn on and off the


text overlay:
/cgi-bin/cmd/encoder?OSD_FORMAT=1,1,ffffff,100,TOP,%U,ALARM1-ON

/cgi-bin/cmd/encoder?OSD_FORMAT=1,0,ffffff,100,TOP,%U,ALARM1-ON

Set DI 1 interval as 5 seconds. This


is how long the DI event will be
active.

For the detailed explanation of the URL commands used in this example, please refer to the
list of URL commands at the end of this chapter.

6 www.acti.com
FREQUENTLY USED URL COMMANDS

Video Settings

Receiver
Objective cgi Command with example parameters Allowed parameters
program
GET_STREAM=VIDEO
Get live video or audio Can be without parameters, or:
encoder GET_STREAM=VIDEO,AUDIO
stream VIDEO, AUDIO
GET_STREAM
Can be without parameters (in
which case it follows camera’s
SNAPSHOT=N640x480 MJPEG codec settings), or:
Get snapshot encoder
SNAPSHOT 1. One of the supported
resolutions preceded by N
1~100 (picture quality)
Change the video One of the resolutions of the
encoder VIDEO_RESOLUTION=N1280x1024
resolution camera**
One of the frame rates of the
Change the frame rate encoder VIDEO_FPS_NUM=15
camera**
Change the (average) One of the bitrates of the
bitrate for H.264 or encoder VIDEO_BITRATE=2M camera between 28K and 12M,
MPEG-4 (for CBR*) or UNLIMITED**
Change the maximum One of the bitrates of the
bitrate for H.264 or encoder VIDEO_MAX_BITRATE=2M camera between 28K and 12M,
MPEG-4 (for CBR*) or UNLIMITED**
Change the video
quality (bitrate) for encoder VIDEO_MJPEG_QUALITY=60 1~100
MJPEG
Change the video HIGH, MIDDLE, LOW, NONE (if
quality (bitrate) for encoder VIDEO_MPEG4_QUALITY=HIGH NONE, then the average or max
MPEG-4 (for VBR*) bitrate is used instead = CBR*)
Change the video HIGH, MIDDLE, LOW, NONE (if
quality (bitrate) for encoder VIDEO_H264_QUALITY=HIGH NONE, then the average or max
H.264 (for VBR*) bitrate is used instead = CBR*)
Change the video
quality (bitrate) for encoder VIDEO_H265_QUALITY=HIGH NONE, LOW, MEDIUM, HIGH
H.265 (for VBR*)
Change the GOP
length for MPEG-4 or 0~60 (0 means GOP length =
encoder VIDEO_GOP=5
H.264 or H.265 (for current frame rate)
VBR*)
Change the MJPEG, MPEG4, H264,
encoder VIDEO_ENCODER=MPEG4
compression H265_MAIN
Change H.264 profile encoder H264_PROFILE=HIGH BASELINE, MAIN, HIGH
SINGLE, DUAL, EPTZ,
Change the streaming
encoder VIDEO_STREAM=DUAL MD_PRESET, 4VGA, 6VGA,
mode
SEQUENTIAL, QUAD
Change video settings CHANNEL=2&…. (include any command One of the supported channel
encoder
of other channels from above) numbers of the device
OFF, 720P60, 720P120,
High Frame Rate HIGH_FPS_MODE (for reading)
encoder 1080P60, 720P50, 720P100,
mode*** HIGH_FPS_MODE='720P50' (writing)
1080P50
* CBR = constant bitrate mode; VBR = variable bitrate mode

** You may use system?SYSTEM_INFO URL command to find out all available parameters for given function

*** Not available for A310, A311, A71, A74, A416, A418, A811, A818.

7 www.acti.com
Audio Settings

Receiver
Objective cgi Command with example parameters Allowed parameters
program
Enable Audio-in system V2_AUDIO_ENABLED=1 1 (enabled), 0 (disabled)
Audio-in sensitivity system AUDIO_IN_SENSITIVITY=HIGH LOW (0dB boost), HIGH (20dB)
Audio-in format system AUDIO_IN_FORMAT=PCM PCM, G711A, G711U
Audio-out volume system AUDIO_OUT_VOLUME=50 0~100

Image Settings

Receiver
Objective cgi Command with example parameters Allowed parameters
program
Brightness encoder VIDEO_BRIGHTNESS=60 1~100
Contrast encoder VIDEO_CONTRAST=60 1~100
Saturation encoder VIDEO_SATURATION=60 1~100
AUTO, INDOOR1, INDOOR2,
White Balance Mode encoder VIDEO_WB_MODE=AUTO OUTDOOR1, OUTDOOR2,
HOLD, MANUAL
Manual White Balance 1. R-Gain 1~255
encoder VIDEO_WB_GAIN=128,128
Settings 2. B-Gain 1~255
AUTO, MANUAL, IRIS_PRIORITY,
Exposure Mode encoder VIDEO_EXPOSURE_MODE=AUTO
SHUTTER_PRIORITY
Shutter Mode encoder VIDEO_SHUTTER_MODE=AUTO AUTO, MANUAL
Exposure Reference
encoder VIDEO_EXPOSURE_GAIN=128 1~255
Target
Shutter Speed for VIDEO_SHUTTER_SPEED=60 13, 15, 30, 60, 120, 25, 50, 100, 250,
encoder
Manual Mode (it means 1/60s) 500, 1000, 2000, 5000, 10000
Settings of CMOS ; CCD
0: sensor’s default setting
1: 1/60 or 1/50 s ; 1/500s
2: 1/30s or 1/25s ; 1/250s
3: 1/10s ; 1/120s or 1/100s
4: 1/5s ; 1/60s or 1/50s
5: 1/120 or 1/100 ; 1/30 or 1/25
Slowest Shutter Speed
6: 1/250s ; 1/15 or 1/10s
encoder VIDEO_MAX_SHUTTER=4
7: 1/500 ; 1/5
Limit for Auto Mode
8: 1/1000 ; 1
9: 1/2000 ; 2
10: 1 ; 3
11: 2 ; 4
12: 3 ; N/A
13: 4 ; N/A
14: 1/15 or 1/13 ; N/A
AGC Target Gain encoder VIDEO_AGC_GAIN=55 1~255

8 www.acti.com
Image Settings

Receiver
Objective cgi Command with example parameters Allowed parameters
program
Iris Mode for Auto Iris encoder VIDEO_IRIS_MODE=AUTO AUTO, MANUAL
Set DC level for DC iris The range depends on the
encoder VIDEO_DC_LEVEL=123
lens camera type
F220 (means F22.0), F190,
Set specific F-number
VIDEO_IRIS=F40 F160, F140, F110, F96, F80,
for DC iris that has encoder
(means F4.0) F68, F56, F48, F40, F34, F28,
controllable F-stops
F24, F20, F18, F16, F14, F10
P-Iris encoder PIRIS_OPTION=1 1 (enabled), 0 (disabled)
BLC encoder VIDEO_BLC_MODE=1 1 (enabled), 0 (disabled)
Mirror encoder VIDEO_MIRROR_MODE=1 1 (enabled), 0 (disabled)
Flip encoder VIDEO_FLIP_MODE=1 1 (enabled), 0 (disabled)
Rotation encoder IMAGE_ROTATION=90 0, 90, 270
KCM C1 ISP:
1 (enabled), 0 (disabled)
2D DNR encoder VIDEO_DNR=1
KCM C2 or C3 ISP:
1~4 (levels), 0 (disabled)
3D DNR encoder VIDEO_3DNR=1 1 (enabled), 0 (disabled)
Defogging* encoder VIDEO_DEFOG=2 1~4 (levels), 0 (disabled)
1. AUTO, ON, OFF
WDR / ExDR* encoder VIDEO_WDR=AUTO,120,0 2. 0~255 (day level)
3. 0 (night level)
HDR ** encoder HDR=3 0, 1, 2, 3, 4, AUTO
Sharpness encoder VIDEO_SHARPNESS=192 1~255
KCM image settings
encoder IMAGE_QUALITY_RESET -
reset to factory default

* Not available for A310, A311, A71, A74, A416, A418, A811, A818.

** Available for A310, A311, A71, A74, A416, A418, A811, A818.

9 www.acti.com
OSD & Motion Detection Settings

Receiver
Objective cgi Command with example parameters Allowed parameters
program
1. Region: 1~4
2. State 0,1 (disable, enable)
3. Color: 000000~ffffff
Manage the
encoder OSD_FORMAT=1,1,ffffff,0,TOP,%U,test 4. Transparency: 0~100
On-Screen Text
5. Position: TOP, BOTTOM
6. Format: %U is user’s text
7. String: Content of text
PRIVACY_REGION=1,1,ffddaa,100,100, 1. Region: 1~4
Manage the Privacy 300,400 2. State 0,1 (disable, enable)
encoder
Masks (using URL command, any color is 3. Color: 000000~ffffff
selectable, while UI only has 4 colors) 4. Coordinates (pixels)
Motion Detection 1. Disable: 0x00
encoder MOTION_ENABLED=0x01
System Activation 2. Enable: 0x01
1. Region: 1~3
MOTION_CONFIG=
2. State 0,1 (disable, enable)
1,1,0,0,1279,959,70,5,10
Motion Detection 3. Coordinates (pixels)
encoder
Region Management 4. Sensitivity:0~100
(MOTION_ENABLED has to be 0x01 in
5. Timer: 0~300
order to have regions take effect)
6. Threshold: 0~100

Day and Night Control

Receiver
Objective cgi Command with example parameters Allowed parameters
program
Day & Night Mode encoder VIDEO_DAYNIGHT_MODE=AUTO AUTO, DAY, NIGHT
Day to Night switch NIGHT_GAIN_THD=90
encoder 0~100
threshold (only works in AUTO mode)
Night to Day switch DAY_GAIN_THD=75
encoder 0~100
threshold (only works in AUTO mode)
1 (IR LED follows D/N switches)
IR LED control* encoder VIDEO_DN_IRLED=1 0 (IR LED will not be controlled
upon D/N switches)
1. Night-to-day timer
Timer to avoid false (0~255s)
encoder VIDEO_DN_TIMER=10,10
day & night switches 2. Day-to-night timer
(0~255s)
Set the day & night
encoder VIDEO_DN_TYPE=CDS CDS, DSP
detection source
* Not available for A310, A311, A71, A74, A416, A418, A811, A818.

10 www.acti.com
PTZ and Focus

Receiver
Objective cgi Command with example parameters Allowed parameters
program
ZOOM=DIRECT,300
or Exact positioning: DIRECT,n (n
ZOOM=TELE,6 is a decimal for zoom position)
or Zooming in: TELE,n (n is the
Continuous Zoom encoder ZOOM=STOPS zoom speed between 2~7)
Zooming out: WIDE,n (n is the
(KCM-5211 zoom range is 30-2520) zoom speed between 2~7)
(Check range by ZOOM_CAP_GET) Stop zooming: STOP
(Current pos by ZOOM_POSITION)
1. TELE, WIDE (direction)
Stepped Zoom encoder STEPPED_ZOOM=TELE,100
2. 1~255 (step size)
1. NEAR, FAR (direction)
Stepped Focus encoder STEPPED_FOCUS=NEAR,10
2. 1~255 (step size)
STOP (stop focus action)
FOCUS=DIRECT,800 FAR (shift focus to far)
(focus has to be in MANUAL mode for NEAR (shift focus to near)
this command) AUTO (adjust focus all the time)
Focus encoder MANUAL (manual focus mode)
(KCM-5211 focus range is 1029~221) ZOOM_AF (refocus when zoom)
(Check range by FOCUS_CAP_GET) REFOCUS (refocus w/o zoom),
(Current pos by FOCUS_POSITION) DIRECT,n (exact focus location;
n is a decimal for focus position)
UP,n (n is tilt speed 1~5)
DOWN,n
LEFT,m (m is pan speed 1~5)
RIGHT,m
UPLEFT,m,n
Pan and Tilt Move encoder MOVE=UPLEFT,5,5
UPRIGHT,m,n
DOWNLEFT,m,n
DOWNRIGHT,m,n
STOP
HOME

11 www.acti.com
PTZ and Focus

1. ABSOLUTE, RELATE
2. -32767~32767 (ACM,KCM)
POSITION=ABSOLUTE,100,100,5,5 or 0~32767 (TCM) (pan
position)
Pan and Tilt Go to
encoder (Current pos by XYZ_POSITION_GET 3. -32767~32767 (ACM,KCM)
Specific Location
as decimal, or POSITION_GET as or 0~32767 (TCM) (tilt
hexadecimal) position)
4. 1~5 (pan speed)
5. 1~5 (tilt speed)
1 (set current position as home)
PTZ Home Position encoder HOME_POS=1
0 (clear the home position)
1. 1~32 (ACM), 1~64 (others)
(ID of preset point)
2. 1 (create), 0 (delete)
3. Decimal pan position
PTZ_PRESET_SET=1,1,100,100,100,3 4. Decimal tilt position
5,5,7,10,Door1 5. 0~65535 (zoom position)
Set PTZ Preset Point encoder 6. 5 (fixed max pan speed)
(Check existing PTZ preset points by 7. 5 (fixed max tilt speed)
PTZ_PRESET_GET) 8. 7 (fixed max zoom speed)
9. 10 (fixed dwell time,
unused by system)
10. Name of preset point
(maximum length 31)
Go to PTZ Preset 1~32 (ACM), 1~64 (others) (ID
encoder PTZ_PRESET_GO=1
Point of preset point)
1. 1~64 (ID of preset point)
2. 1 (enabled), 0 (disabled)
3. 1 (use current zoom and
ZOOM_PRESET_SET=1,1,1,30,306
focus as preset position), 0
(use the focus and zoom
(Check existing Zoom preset points by
Set Zoom Preset Point encoder position defined by
ZOOM_PRESET_GET)
following 2 parameters)
4. 0~65535 (absolute position
(For cameras with zoom lens)
of zoom)
5. 0~65535 (absolute position
of focus)
ZOOM_PRESET_GO=1
Go to Zoom Preset
encoder 1~64 (ID of zoom preset point)
Point
(For cameras with zoom lens)

1. 1~5 (pan speed)


2. 1 (counter-clockwise), 0
(clockwise). Non-endless
pan cameras ignore this.
3. -32767~32767 (left limit. If
Set Scanning Tour value is bigger than
encoder PTZ_TOUR_SCAN=1,0,-32767,32767
(Auto-pan) camera limit, maximum
camera left pan is used)
4. -32767~32767 (right limit. If
value is bigger than
camera limit, maximum
camera right pan is used)

12 www.acti.com
PTZ and Focus

1. 1~10 (ID of tour)


2. 1~32 (ACM), 1~64 (others)
(ID of preset point slot
within tour), 0 (delete all
the preset points from
given tour)
3. 1 (enable tour), 0 (delete
tour)
Add PTZ Preset Point 4. 1~32 (ACM), 1~64 (others)
encoder PTZ_TOUR_SET=2,30,1,1,10,30,5,5,7
into Tour (ID of preset point defined
by PTZ_PRESET_SET)
5. 1~128 (dwell time, sec)
6. Sequence ID. Not used.
Keep it same as 2nd
parameter.
7. 1~5 (pan speed)
8. 1~5 (tilt speed)
9. 2~7 (zoom speed)
Set name of the PTZ 1. 1~10 (tour ID)
encoder PTZ_TOUR_NAME=1,daytour
Tour 2. Tour name
DISABLE, TOUR1, TOUR2,
TOUR3, TOUR4, TOUR5,
Start or Stop the Tour encoder PTZ_TOUR_STATE=TOUR1
TOUR6, TOUR7, TOUR8,
TOUR9, TOUR10, SCAN
Auto speed for Pan
and Tilt according to encoder PTZ_AUTO_SPEED=1 1 (enabled), 0 (disabled)
Zoom position
Digital Zoom* encoder DIGITAL_ZOOM=1 1 (enabled), 0 (disabled)
* Not available for A310, A311, A71, A74, A416, A418, A811, A818.

13 www.acti.com
Video Analytics

Receiver
Objective cgi Command with example parameters Allowed parameters
program
Explanation of possible results:
OD – object detection
FD – face detection
FC – face counting
MD – object based motion det.
LC – line crossing
EA – enter area
EO – loitering
EN - enter area
EL – leave area
MO – missing object
UO – unattended object
SO- suspected object
TA – tampering
LD – LPR
LR – ALPR
CD – car detection
CC – car counting
Analytics capability
encoder IVS_CAP PD – car detection for parking
check
CS – car speed estimation
ID – incorrect direction
CR – crowd detection
LQ – long queue
FR – face recognition
OC – object counting
PC – people counting
PS – people detection
SD – smoke detection
SK – shock detection by G-sens.
AT – auto object tracking
DT – digital object tracking
FI – fire detection
HM – heatmap
DW – dwell
RF – RFID events
RC – ROI counting
GS – gunshot detection
Get analytics event encoder GET_IVS_MSG=SK,TA,FD,0 Follow the codes of IVS_CAP
Get algorithm info encoder IVS_ALGORITHM_INFO=FD Follow the codes of IVS_CAP

14 www.acti.com
Alarm

Receiver
Objective cgi Command with example parameters Allowed parameters
program
1. 1 or 2 (DO1 or DO2)
Activate Digital Output encoder SET_DO=1,1
2. 1 (high), 0 (low)

Account Management

Receiver
Objective cgi Command with example parameters Allowed parameters
program
Change the root
system ACCOUNT_ROOT=Admin,123 Type any name and password
account & password
Change the user 1
system ACCOUNT_USER_1=visitor,123 Type any name and password
account & password

15 www.acti.com
Date & Time

In Type 1, 4 arguments are used to give the start/end


time. The format is described below.
<month>,<the order of week in a
month>,<hour:minute>,<weekday>. If the start or
end time begins on the hour, the third argument
could be <hour>. The minute could be omitted in this
URL.
For example, the "3,1,2:30,7" sets the time to
2:30:00 on the first Sunday in March. And, the
"3,1,2,7" sets the time to 2:00 on the first Sunday in
March.

In Type 2, 3 arguments are used to give the start/end


time. the format is described below.
<month>,<month day>,<hour:minute>. If the start or
end time begins on the hour, the third argument
could be <hour>. The minute could be omitted in this
URL.
For example, the "3,31,14" sets the time to 14:00 in
DAYLIGHT_SAVIN
Get or Set Day Light the March 31. And, the "3,31,14:30" sets the time to
system G_CONFIG='0,1,7,1
Saving configurations. 14:30 in the March 31.
,2:30,7,2,3,5,2:30'

Parameters: a,b1,c1,d1,e1,f1,b2,c2,d2,e2,f2, where:


The <b1,c1,d1,e1,f1> indicates the start time of the
Day Light Saving. The <b2,c2,d2,e2,f2> indicates the
end time of the Day Light Saving.

a: 0 or 1 (day light saving enable disable control)


b1/b2:1 or 2 (input argument type)
c1/c2: month number (1-12)
d1/d2: in case of type 1, d1/d2 are the order of the
week in a month. It could be 1, 2, 3, 4 for the first,
second, third and last week in a month. In case of
type 2, d1/d2 are the month day started from 1 to 31.
e1/e2: the hour:minute of a day started from 0:00 to
23:59.
f1/f2: In case of type 1, f1/f2 are the week day which
started from 1 to 7, where 1 is for Monday and 7 is
for Sunday. In case of type 2, f1/f2 are not used and
will not be the input argument.
0: the daylight saving offset information is not in
V2_QUERYLS
1: the daylight saving offset information is in
V2_QUERYLS.

could ask the firmware When DLS_OFFSET_ON_STORAGE=0, the time in


to provide the daylight DLS_OFFSET_ON_ StartTime, StartUTC, StopTime and StopUTC in the
system
saving offset in the STORAGE='0' return of V2_QUERYLS is balanced the time offset of
V2_QUERYLS or not daylight saving. There is no DLS in the return
message.
When DLS_OFFSET_ON_STORAGE=1, the time in
StartTime, StartUTC, StopTime and StopUTC in the
return of V2_QUERYLS isn't balanced the time offset
of daylight saving. The DLS is in the return message.

16 www.acti.com
Recording & Event Query

Recording Query
The recording query could get the beginning and end
time of every recordings. The remote client could
know how many recording intervals in the camera's
storage media during a given time interval by using
recording query.
Event Query
The event recording could get the beginning and end
time of selected events.
The remote client could know how many events with
recordings during a given time interval by using
event query. Counting Data Query
The counting data (object, people and car counting
data) could get by selected counting types.
The remote client could know the counter values
during a given time interval by using counting data
query. The counter values are not accumulated from
the beginning of counting.
The camera returns up to 100 records for a query.
The serial number of records in the return message
gives the last record index of query. Host could use
this serial number to query next 100 records.

Parameters:
V2_QUERYLS=946
StartQueryTime,EndQueryTime,QueryType,SerialNu
686480,956686499,
mber,TimeScale
RECORDING,0
Where
Recording and event
system
queries V2_QUERYLS=946
StartQueryTime: integer number, ALL(=all). It is the
686480,956686499,
start time in seconds of query time interval and is the
DI1|DI2|MD1|MD2|
UTC time.
MD3,101
0 : means the start time of query is the time of the
first recording or event in device database.
ALL: means the time interval is form
StartQueryTime=0 and EndQueryTime=NOW. The
setting of EndQueryTime will not be used.

EndQueryTime: integer number, NOW(=now)


QueryType: RECORDING or RECORDINGn
where
RECORDING : recordings of video stream 1.
RECORDINGn : recordings of video stream n which
it is stream ID started form 1.
or EVENT, DIn, MDn, LCn, ENn, MOn, UOn, EOn,
FACE_ALG_ROI1, AUDIO_IN, TAMPER and
SHOCK
where n is the port number in DI and motion window
number in motion detection.
(LC: Line Crossing, EN: Enter Area, MO: Missing
Object, UO: Unattended Object, EO: Loitering, FD:
Face Detection, AUDIO_IN: sound detection,
TAMPER: Tampering, SHOCK: Shocking
In FACECNT, the In counter is used only. The Out
counter is fixed to 0.)

17 www.acti.com
HANDS-ON PRACTICE

TASK 1
Normally there are beige color privacy masks covering the discreet items in the office, such
as the computer screen, etc. When the panic button is pressed by the user at the camera
site, all the privacy masks are removed for capturing the evidence of the intrusion until the
panic button is released. How to set it all up?

TASK 2
I want the motion detection regions to be in different locations for daytime and night time.
How to do that?

TASK 3
I have a cube camera with built-in microphone. Although I wish to have video stream from the
camera to VMS 24 hours a day, I don’t want the conversations to be listened and
recorded during office hours for privacy reasons. However, during night time and
weekends, the audio-in should be enabled to capture the sounds of potential intruders. How
to do that?

TASK 4
I have an optical zoom camera. When the door is opened across the corridor, the digital input
of the camera will get the alarm signal and the camera zooms in to the door area in order to
capture clear details of the intruder. How do set it up?

TASK 5
I have a PTZ camera. During office hours, I want the camera to run the tour between three
important locations. The rest of the time, the camera should be pointed at location 1 only.

18 www.acti.com
Camera Sending URL Commands to another Camera

The beauty of Event Handler and URL commands is the possibility of managing not only the
camera that is the source of the event, but in fact any ACTi camera within the network. When
there is an intrusion in the camera site, we might want all the neighboring cameras within the
site have certain response – either letting them have more advanced streaming settings for
better video quality, or requesting nearby PTZ cameras to point towards the region of intrusion
automatically.

Since all the URL commands that can be used for communication between two cameras
have already been listed in previous chapter, we will only list one example here for your
reference, to get the idea how easy it is to set it up.

Compared to camera sending URL commands to itself, sending URL commands to other
cameras has only 1 slight difference – instead of using camera’s own IP as the target, the
other camera’s IP will be used instead. The rest is exactly the same.

Example 1: Command the PTZ camera to turn towards the region of intrusion (“Left
Door”) when the fixed camera of that region has detected motion. When event ends, go
back to “Normal Position”.

PTZ Camera Settings (to be the receiver of commands later)


The PTZ camera in our example has an IP address 172.16.26.99.
First, create preset points. The camera will be normally staying at “Normal Position” preset
point when there is no event.

19 www.acti.com
Fixed Camera Settings (to be the one to detect motion and send commands)
Set the IP of PTZ camera as a target IP in
Event Handler of the fixed camera.

Prepare the following URL commands to


control the PTZ preset points of the other
camera:
/cgi-bin/cmd/encoder?PTZ_PRESET_GO=1

/cgi-bin/cmd/encoder?PTZ_PRESET_GO=3

HANDS-ON PRACTICE

TASK 1
We would like to have all the lights turned on for better exposure of the intruder whenever
there is motion detected at night. Technically, it is possible to control the lights system of the
area through the digital output of the cameras. For the convenience of installation, we would
like to do the wiring of the digital output using the closest camera to the lights system switches.
However, that camera is not necessarily the one to detect the intrusions. Therefore, we might
have the situations where one camera would detect motion, and then command the other
camera that is connected to the lights system by digital output to turn on all the lights in the
area. How to set up the system so that whenever one camera detects the motion, it can
activate the digital output of the other camera?

20 www.acti.com
Interaction between Camera and Website over WAN

Since the IP cameras are pure network devices, just like any other computers online, it is really
easy to integrate them with FTP, mail or web servers. The possibility to integrate with web
servers gives the whole new range of useful applications.

There are three kinds of interactions between camera and Web server:
1. Camera sends data (event information) to Web server upon camera events. Web
server might store the retrieved data.
2. Web server or client requests data (snapshots, system status) from the camera
either periodically or by user’s request. Web server might store the retrieved data.
3. Web server or client commands the camera to take certain actions or change
settings

At the same time, we should keep in mind that the camera itself should not be treated as a
multi-user server – in ideal concept there should be only one session between Web server and
the camera. It is strongly advised not to get multiple video streams from the camera – it is best
to get just 1 video stream from the camera and then manage the video distribution on web
server side.

21 www.acti.com
Example 1: Turn on the lights by pressing the button on the Web page. Having the digital
output of the camera connected to lights system, it is possible to turn the lights on or off
remotely. To do that, we have to prepare two URL commands – one for turning on the lights,
and the other one for turning off the lights.

To turn on the lights (set digital output 1 as “high”):


http://172.16.26.127/cgi-bin/encoder?USER=Admin&PWD=123456&SET_DO=1,1
To turn off the lights (set digital output 1 as “low”):
http://172.16.26.127/cgi-bin/encoder?USER=Admin&PWD=123456&SET_DO=1,0

There are many ways to implement these URL commands within the web page either by using
pure HTML code only, or more advanced methods, such as Ajax. The example code below is
quite simple to have your first lights controller ready.

<html>
<head>
<title>Lights Control</title>
<script language="Javascript">
function switcher(st) {
var a="http://172.16.26.127/cgi-bin/encoder?USER=Admin&PWD=123456&SET_DO=1," + st;
window.urltarget.location=a;
}
</script>
</head>
<body>
<button OnClick="switcher(1);">Lights ON</button>
<button OnClick="switcher(0);">Lights OFF</button>
<iframe name="urltarget" width="0" height="0" frameborder="0"></iframe>
</body>
</html>

22 www.acti.com
Example 2: Get snapshots from the camera and show directly within the web page. It is
possible to define the quality and resolution of the snapshot. When the specific resolution of
the snapshot is requested, it has to be one of the supported resolutions of the camera;
otherwise the snapshot request will be ignored by the camera.

In this example, we are using 1.3-Megapixel camera which supports following resolutions:
1280x1024, 640x480, 320x240, 160x112. Our aim is to get the snapshot with the VGA
resolution (640x480) with the best possible quality (100).

We will prepare the following URL command:


http://172.16.26.127/cgi-bin/encoder?USER=Admin&PWD=123456&SNAPSHOT=N640x480,100&DUM

MY=n

, where n will be a different number each time, to force browser to get a snapshot from the
camera instead of using browser’s own cache. The DUMMY command is specially designed
command for such purposes – the camera will accept it and ignore its parameters.

<html>
<head>
<title>Snapshot</title>
<script language="Javascript">
var counter=0;
function snapshot() {
var a="http://172.16.26.127/cgi-bin/encoder?USER=Admin&PWD=123456&SNAPSHOT=N640x480,100&DUMMY=" +
counter;
document.images.img.src=a;
counter++;
}
</script>
</head>
<body>
<button OnClick="snapshot();">Get a Snapshot</button><br/>
<img border="1" width="640" height="480" name="img"
src="http://172.16.26.127/cgi-bin/encoder?USER=Admin&PWD=123456&SNAPSHOT=N640x480,100">
</body>
</html>

23 www.acti.com
Example 3: Show live video from the camera right within the browser without any
ActiveX controls or other plug-ins. Several browsers (Firefox, Chrome, Safari) are able to
decode MJPEG video without requiring any plug-ins. Please note that the video has to be
clean sequence of JPEG images without any additional information. To achieve that, there are
3 settings to be adjusted:

1. Set the compression type to MJPEG (VIDEO_ENCODER=MJPEG)


2. Disable audio-in (V2_AUDIO_ENABLED=0)
3. Disable B2 frames (ACTi proprietary protocol, RTP_B2=1)

After these 3 steps, it is possible to get video stream from the camera with a single URL
command. It is also possible to make further adjustments before starting the video streaming,
such as choosing specific resolution (VIDEO_RESOLUTION) or frame rate
(VIDEO_FPS_NUM). Make sure that you only use supported resolution and frame rate.

With the implementation of <iframe> tag in the html code, it is possible to see camera
responses upon successful changes of settings.
When everything is done, you may use GET_STREAM command to start video streaming.

<html>
<head>
<title>Video Streaming</title>
</head>
<body>
<button
OnClick="window.urltarget.location='http://172.16.26.127/cgi-bin/system?USER=Admin&PWD=123456&V2_AUDIO_ENABLED=0';">
Disable Audio </button>
<button OnClick="window.urltarget.location='http://172.16.26.127/cgi-bin/system?USER=Admin&PWD=123456&RTP_B2=1';">
Disable B2 Frames </button>
<button
OnClick="window.urltarget.location='http://172.16.26.127/cgi-bin/encoder?USER=Admin&PWD=123456&VIDEO_ENCODER=MJPEG';">
Set MJPEG Compression </button>
<button
OnClick="window.urltarget.location='http://172.16.26.127/cgi-bin/encoder?USER=Admin&PWD=123456&VIDEO_RESOLUTION=N640x48
0';"> Set VGA Resolution </button>
<button
OnClick="window.urltarget.location='http://172.16.26.127/cgi-bin/encoder?USER=Admin&PWD=123456&VIDEO_FPS_NUM=2';"> Set 2
fps </button>
<button
OnClick="window.videotarget.location='http://172.16.26.127/cgi-bin/encoder?USER=Admin&PWD=123456&GET_STREAM';"> START
VIDEO STREAMING </button>
<br/>
<iframe name="urltarget" width="300" height="50" frameborder="0"></iframe>
</br/>
<iframe name="videotarget" width="660" height="500" frameborder="0"></iframe>
</body>
</html>

24 www.acti.com
Example 4: Camera sends intrusion alarms to web server and web server logs all the
events into database and lists the reports to web users whenever they open the web
page. This application does not require any specific ACTi URL commands since the receiver of
the messages is the web server, not the camera. The developer of the web page can freely
decide the format of the message and how it will be handled by the web server.

Let’s say that you have a web hosting service (for example with IP 123.123.123.123) that
supports php and mysql database. You could then create a php that writes a record into a
mysql database each time it is called. In order to be more specific, the query would contain a
variable with some text, describing the nature of the event. For example, we have a php file
that accepts a variable name “event” within the query string. When camera detects the motion,
it would send out following query (the text MD1_triggered is chosen freely):

http://123.123.123.123/event.php?event=MD1_triggered

And when the event ends, the camera would send another query to the web server:

http://123.123.123.123/event.php?event=MD1_end

When the server receives the query, it would write it into the database together with current
date and time of the server. There will also be a specific web page that would list the report of
all the events, retrieved from the database. It might look something like this:

Having prepared everything on the web server side, it is time to configure the Event Handler of
the camera to send out the above listed commands whenever motion is detected.

25 www.acti.com
26 www.acti.com
FREQUENTLY USED URL COMMANDS

Most of the frequently used URL commands have already been introduced in the chapter
“Camera Sending URL Commands to Itself”. Here we will only list the URL commands that
are specifically used for web integration.

Video and Audio

Receiver
Objective cgi Command with example parameters Allowed parameters
program
Get live video or audio Can be without parameters, or:
encoder GET_STREAM=VIDEO
stream VIDEO, AUDIO
Check the status of
encoder GET_DI_STATE -
digital input
Request camera to
send the notification of
DIs, motion, video loss encoder GET_CTRL_MSG -
and serial output data
to the remote host
Can be without parameters (in
which case it follows camera’s
MJPEG codec settings), or:
Get a snapshot encoder SNAPSHOT=N640x480,100
2. One of the supported
resolutions preceded by N
3. 1~100 (picture quality)
A dummy command
encoder DUMMY=123 Any parameter, text or numbers
without any action

System

Enable or disable
system POWER_LED=0 1 (enabled), 0 (disabled)
Power LED
Enable or disable
system ONVIF_STATE=1 1 (enabled), 0 (disabled)
ONVIF compliance
Enable or disable PSIA
system PSIA_STATE=1 1 (enabled), 0 (disabled)
compliance
System information in
system SYSTEM_INFO_XML -
XML format
Get date and time
system DATE -
settings of the camera
Get the WAN port
system WAN_STATUS -
runtime status
Get the WAN port
system WAN -
configuration
Get the host name system LAN -
A dummy command
system DUMMY=123 Any parameter, text or numbers
without any action
The full report

including system info,


system SERVER_REPORT -
WAN status, system

log, parameters.

27 www.acti.com
Local Storage of the Camera

Get the recorded files


system DISK_FILE_LIST -
list
Get the recorded file system DISK_GET_FILE=[filename.raw] Any file name from the file list
Delete the recorded
system DISK_REMOVE_FILE=[filename.raw] Any file name from the file list
file
Get the status of local
system DISK_INFO -
storage
Mount or unmount the
system DISK_STATE=MOUNT MOUNT, UNMOUNT
disk
Format the local
system DISK_FORMAT -
storage
Check the report of
system DISK_FORMAT_LOG -
disk format
The number represents the
Remove older files amount of oldest files to be
system DISK_REMOVE_OLD_FILES=0
from local storage deleted. 0 means deleting all
files.
1. 1 (use time filter), 0 (not
use time filter)
2. 4 digits for year
3. 2 digits for month
Set date and time filter 4. 2 digits for day
DISK_FILE_SEARCH_TIME=1,2011,09,
for local storage file system 5. 2 digits for hours
23,13,40,30,60
search 6. 2 digits for minutes
7. 2 digits for seconds
8. 1-60 (time period in
minutes, defines the end
time of search range)
NONE, DI1, DI2, MD1, MD2,
Search for event MD3, PIR, SCH (scheduled
system DISK_FILE_SEARCH_EVENT=DI1,DI2
related recordings recording), READY (continuous
recording)
Scan the disk for
system DISK_SCAN -
possible errors
Check the report of the
system DISK_SCAN_LOG -
disk scan
1. 0 (not allow overwriting), 1
(allow overwriting of oldest
Set overwrite
files)
parameters and low system DISK_CONFIG=1,5
2. 1~50 (% of remaining
disk warning rule
storage at which camera
sends warning message)

28 www.acti.com
Convenient Installation & Configuration using URL Commands

When you are installing and configuring just one camera, it is reasonable to use the Web
Configurator of the camera to set up everything. However, if you are installing tens of cameras,
you might need more efficient methods to save the labor cost of installers.

ACTi IP Utility 4 is a powerful tool that provides several convenient functions for one-to-many
configurations. It can be downloaded here:

http://www.acti.com/IP_utility

Although several frequently used settings can be directly managed by special buttons of IP
Utility 4 (such as full screen motion detection region setup of multiple cameras), there are still
several commands that do not have their own buttons in IP Utility. For such cases, it is possible
to take a good use of the possibility to enter URL Commands into IP Utility so that the utility
could then deliver these commands to multiple cameras at the same time.

Example 1: After all the tests, I want to reset all the cameras back to factory default
settings. How to do it by using IP Utility 4 and URL commands?

It is very easy to do it. Just select “system” cgi and type the FACTORY_DEFAULT into URL
section of IP Utility. After pressing “Apply”, all the checked devices will be reset to factory
default at the same time. More than one hour of labor has been saved with this simple
operation!

29 www.acti.com
FREQUENTLY USED URL COMMANDS

System Settings

Reset all settings to


system FACTORY_DEFAULT -
factory default
Reset settings to
factory default except system CONFIG_RESET -
IP settings
Save settings and
system SAVE_REBOOT -
restart the camera
Change the root
system ACCOUNT_ROOT=Admin,123 Type any name and password
account & password
1. 1 (manual date), 2 (SNTP
synchronization)
DATE_CONFIG=1,010100002004,00:00:00,+0 2. Date as mmdd0000yyyy (if
0 (manual) manual), IP of SNTP server
Set the date and time system or (if SNTP)
DATE_CONFIG= 2,192.168.0.2,86400,+00 3. Time as hh:mm:ss (if
(SNTP synchronization) manual), update interval in
seconds (if SNTP)
4. Time zone setting
a,b1,c1,d1,e1,f1,b2,c2,d2,e2,f2
where
a: 1 (enabled), 0 (disabled)
b1/b2: 1,2 (input argument type)
c1/c2: 1~12 (month)
d1/d2: (if b1/b2=1): 1,2,3,4
Set daylight saving DAYLIGHT_SAVING_CONFIG=
system (order of weeks in a month)
configuration 0,1,7,1,2:45,7,2,3,5,2:45
d1/d2: (if b1/b2=2): 1~31 (day of
month)
e1/e2: hh:mm
f1/f2: (if b1/b2=1): 1~7 (day of
the week, 7=Monday)
f1/f2: (if b1/b2=2): (empty)

30 www.acti.com
Network Settings

1. 1 (enabled), 0 (disabled)
UPnP configuration system UPNP_CONFIG=1,IPCAM-00001
2. Friendly name (max 31)
1. 1 (enabled), 0 (disabled)
Bonjour configuration system BONJOUR_CONFIG=1,IPCAM-00001
2. Friendly name (max 31)
1. 1 (enabled), 0 (disabled)
Set IEEE 802.1X 2. 1 (ver 1.0), 2 (ver 2.0)
system 8021X=0,2,,
authentication config. 3. User name (0~16 symbols)
4. Password (0~16 symbols)
Change HTTP port system PORT_HTTP=80 port number
Change HTTPs port system PORT_HTTPS=443 port number
Change streaming port system PORT_VIDEO=6002 port number

Change control port system PORT_CONTROL=6001 port number

Change multicast port system PORT_MULTICAST=5000 port number

Set primary DNS system DNS_PRIMARY=168.95.1.1 IPv4 address

Set secondary DNS system DNS_SECONDARY=168.95.1.1 IPv4 address

Set IP system WAN_IP=192.168.0.100 IPv4 address

Set network mask system WAN_NETMASK=255.255.255.0 IPv4 mask

Set gateway system WAN_GATEWAY=192.168.0.254 IPv4 address

HANDS-ON PRACTICE

TASK 1
Change streaming ports of all the cameras from 6002 to another value.

TASK 2
Set all the cameras to have current date and time.

TASK 3
Change the password of “Admin” account of all the cameras to be other than 123456.

31 www.acti.com
A-Series URL Commands

The models A310, A311, A71, A74, A416, A418, A811, A818 were covered in the previous
chapters of this document. The rest of the A-series models are covered in this chapter (except
A950, A951).

Video Settings

Receiver
Objective cgi Command with example parameters Allowed parameters
program
GET_STREAM=VIDEO
Get live video or audio Can be without parameters, or:
encoder GET_STREAM=VIDEO,AUDIO
stream VIDEO, AUDIO
GET_STREAM
Can be without parameters (in
which case it follows camera’s
SNAPSHOT=N640x480 MJPEG codec settings), or:
Get snapshot encoder
SNAPSHOT 4. One of the supported
resolutions preceded by N
1~100 (picture quality)
Change the video One of the resolutions of the
encoder VIDEO_RESOLUTION=N1280x1024
resolution camera**
One of the frame rates of the
Change the frame rate encoder VIDEO_FPS_NUM=15
camera**
Change the (average) One of the bitrates of the
bitrate for H.264 or encoder VIDEO_BITRATE=2M camera between 28K and 12M,
MPEG-4 (for CBR*) or UNLIMITED**
Change the maximum One of the bitrates of the
bitrate for H.264 or encoder VIDEO_MAX_BITRATE=2M camera between 28K and 12M,
MPEG-4 (for CBR*) or UNLIMITED**
Change the video
quality (bitrate) for encoder VIDEO_MJPEG_QUALITY=60 1~100
MJPEG
Change the video HIGH, MIDDLE, LOW, NONE (if
quality (bitrate) for encoder VIDEO_H264_QUALITY=HIGH NONE, then the average or max
H.264 (for VBR*) bitrate is used instead = CBR*)
Change the video
quality (bitrate) for encoder VIDEO_H265_QUALITY=HIGH NONE, LOW, MEDIUM, HIGH
H.265 (for VBR*)
Change the GOP
encoder VIDEO_GOP_LENGTH=5 1-5 (seconds)
length for VBR*
Change H.264 profile encoder H264_PROFILE=HIGH BASELINE, MAIN, HIGH
Change the
encoder VIDEO_ENCODER=H264 MJPEG, H264, H265_MAIN
compression
Change the streaming
encoder VIDEO_STREAM=DUAL DUAL, TRIPLE
mode
Change video settings CHANNEL=2&…. (include any command One of the supported channel
encoder
of other channels from above) numbers of the device
OFF, 720P60, 720P120,
High Frame Rate HIGH_FPS_MODE (for reading)
encoder 1080P60, 720P50, 720P100,
mode HIGH_FPS_MODE='720P50' (writing)
1080P50
* CBR = constant bitrate mode; VBR = variable bitrate mode

** You may use system?SYSTEM_INFO URL command to find out all available parameters for given function

32 www.acti.com
Audio Settings

Receiver
Objective cgi Command with example parameters Allowed parameters
program
1 (enabled), 0 (disabled)
If the device supports two-way
Enable Audio-in system V2_AUDIO_ENABLED=1 audio, the Audio Out will be NOT
disabled when the
V2_AUDIO_ENABLED=0
Audio-in sensitivity system AUDIO_IN_SENSITIVITY=HIGH LOW (0dB boost), HIGH (20dB)
Audio-in format system AUDIO_IN_FORMAT=PCM PCM, G711A, G711U, AAC
Audio-out volume system AUDIO_OUT_VOLUME=50 0~100

Image Settings

Receiver
Objective cgi Command with example parameters Allowed parameters
program
Brightness encoder VIDEO_BRIGHTNESS=60 1~100
Contrast encoder VIDEO_CONTRAST=60 1~100
Saturation encoder VIDEO_SATURATION=60 1~100
White Balance Mode encoder VIDEO_WB_MODE=AUTO AUTO, HOLD, MANUAL
Manual White Balance 3. R-Gain 1~255
encoder VIDEO_WB_GAIN=128,128
Settings 4. B-Gain 1~255
Exposure Mode encoder VIDEO_EXPOSURE_MODE=AUTO AUTO, MANUAL
IQ (image quality driven)
Video Exposure Profile encoder VIDEO_EXPOSURE_PROFILE=IQ FR (frame rate driven)
EX (expert setings)
Exposure Reference
encoder VIDEO_EXPOSURE_GAIN=128 1~255
Target
5, 13, 15, 30, 60, 120, 25, 50, 100,
Shutter Speed for VIDEO_SHUTTER_SPEED=60
encoder 250, 500, 1000, 2000, 4000, 8000,
Manual Mode (it means 1/60s)
16000, 30000, 32000, 64000
1: 1/60s or 1/50s
2: 1/30s or 1/25s
4: 1/5s
5: 1/120s or 1/100s
6: 1/250s
7: 1/500
8: 1/1000
9: 1/2000
Slowest Shutter Speed 14: 1/15 or 1/13
encoder VIDEO_MAX_SHUTTER=4 15: 1/4000
Limit for Auto Mode 16: 1/8000
17: 1/16000
18: 1/30000
19: 1/32000
20: 1/64000
21: 1/350
22: 1/750
23: 1/1500
24: 1/3000
AGC Target Gain encoder VIDEO_AGC_GAIN=55 1~255

33 www.acti.com
Image Settings

Receiver
Objective cgi Command with example parameters Allowed parameters
program
IRIS_CAP=IRIS2,F16,F18,F20,F24,F28, NONE
Iris Modes encoder F34 or
IRIS_CAP IrisType,IrisSetting1,IrisSetting2
F220 (means F22.0), F190,
Get or Set the camera IRIS_NUMBER=F40
F160, F140, F110, F96, F80,
manual IRIS encoder (means F4.0)
F68, F56, F48, F40, F34, F28,
F-Number IRIS_NUMBER
F24, F20, F18, F16, F14, F10
Iris Control encoder IRIS_CONTROL=AUTO AUTO, MANUAL, LOCKED
Mirror encoder VIDEO_MIRROR_MODE=1 1 (enabled), 0 (disabled)
Flip encoder VIDEO_FLIP_MODE=1 1 (enabled), 0 (disabled)
Rotation encoder IMAGE_ROTATION=90 0, 90, 270
KCM C1 ISP:
1 (enabled), 0 (disabled)
2D DNR encoder VIDEO_DNR=1
KCM C2 or C3 ISP:
1~4 (levels), 0 (disabled)
3D DNR encoder VIDEO_3DNR=1 1 (enabled), 0 (disabled)
Defogging encoder VIDEO_DEFOG=2 1~4 (levels), 0 (disabled)
4. AUTO, ON, OFF
WDR / ExDR encoder VIDEO_WDR=AUTO,120,0 5. 0~255 (day level)
6. 0 (night level)
HDR encoder HDR=3 0, 1, 2, 3, 4, AUTO
Sharpness encoder VIDEO_SHARPNESS=192 1~255
LINE_FREQ=50HZ
Line Frequency encoder 50HZ, 60HZ
LINE_FREQ

34 www.acti.com
OSD & Motion Detection Settings

Receiver
Objective cgi Command with example parameters Allowed parameters
program
8. Region: 1~4
9. State 0,1 (disable, enable)
10. Color: 000000~ffffff
Manage the
encoder OSD_FORMAT=1,1,ffffff,0,TOP,%U,test 11. Transparency: 0~100
On-Screen Text
12. Position: TOP, BOTTOM
13. Format: %U is user’s text
14. String: Content of text
PRIVACY_REGION=1,1,ffddaa,100,100, 5. Region: 1~4
Manage the Privacy 300,400 6. State 0,1 (disable, enable)
encoder
Masks (using URL command, any color is 7. Color: 000000~ffffff
selectable, while UI only has 4 colors) 8. Coordinates (pixels)
7. Region: 1~3
8. State 0,1 (disable, enable)
MOTION_CONFIG=
Motion Detection 9. Coordinates (pixels)
encoder 1,1,0,0,1279,959,70,5,10
Region Management 10. Sensitivity:0~100
11. Timer: 0~300
12. Threshold: 0~100
Read the Motion
Configuration by encoder MOTION_CONFIG_GET
motion region basis

Day and Night Control

Receiver
Objective cgi Command with example parameters Allowed parameters
program
Day & Night Mode encoder VIDEO_DAYNIGHT_MODE=AUTO AUTO, DAY, NIGHT
Day to Night switch NIGHT_GAIN_THD=90
encoder 0~100
threshold (only works in AUTO mode)
Night to Day switch DAY_GAIN_THD=75
encoder 0~100
threshold (only works in AUTO mode)
1 (IR LED follows D/N switches)
IR LED control encoder VIDEO_DN_IRLED=1 0 (IR LED will not be controlled
upon D/N switches)
3. Night-to-day timer
Timer to avoid false (0~255s)
encoder VIDEO_DN_TIMER=10,10
day & night switches 4. Day-to-night timer
(0~255s)
Set the day & night
encoder VIDEO_DN_TYPE=CDS CDS, DSP
detection source

35 www.acti.com
PTZ and Focus

Receiver
Objective cgi Command with example parameters Allowed parameters
program
ZOOM=DIRECT,300
or Exact positioning: DIRECT,n (n
ZOOM=TELE,6 is a decimal for zoom position)
or Zooming in: TELE,n (n is the
Continuous Zoom encoder ZOOM=STOPS zoom speed between 2~7)
Zooming out: WIDE,n (n is the
(KCM-5211 zoom range is 30-2520) zoom speed between 2~7)
(Check range by ZOOM_CAP_GET) Stop zooming: STOP
(Current pos by ZOOM_POSITION)
3. TELE, WIDE (direction)
Stepped Zoom encoder STEPPED_ZOOM=TELE,100
4. 1~255 (step size)
3. NEAR, FAR (direction)
Stepped Focus encoder STEPPED_FOCUS=NEAR,10
4. 1~255 (step size)
STOP (stop focus action)
FAR (shift focus to far)
FOCUS=DIRECT,800
NEAR (shift focus to near)
(focus has to be in MANUAL mode for
AUTO (adjust focus all the time)
this command)
Focus encoder MANUAL (manual focus mode)
ZOOM_AF (refocus when zoom)
(Check range by FOCUS_CAP_GET)
REFOCUS (refocus w/o zoom),
(Current pos by FOCUS_POSITION)
DIRECT,n (exact focus location;
n is a decimal for focus position)
UP,n (n is tilt speed 1~5)
DOWN,n
LEFT,m (m is pan speed 1~5)
RIGHT,m
UPLEFT,m,n
Pan and Tilt Move encoder MOVE=UPLEFT,5,5
UPRIGHT,m,n
DOWNLEFT,m,n
DOWNRIGHT,m,n
STOP
HOME

36 www.acti.com
PTZ and Focus

6. ABSOLUTE, RELATE
7. -32767~32767 (ACM,KCM)
POSITION=ABSOLUTE,100,100,5,5 or 0~32767 (TCM) (pan
position)
Pan and Tilt Go to
encoder (Current pos by XYZ_POSITION_GET 8. -32767~32767 (ACM,KCM)
Specific Location
as decimal, or POSITION_GET as or 0~32767 (TCM) (tilt
hexadecimal) position)
9. 1~5 (pan speed)
10. 1~5 (tilt speed)
1 (set current position as home)
PTZ Home Position encoder HOME_POS=1
0 (clear the home position)
11. 1~32 (ACM), 1~64 (others)
(ID of preset point)
12. 1 (create), 0 (delete)
13. Decimal pan position
PTZ_PRESET_SET=1,1,100,100,100,3 14. Decimal tilt position
5,5,7,10,Door1 15. 0~65535 (zoom position)
Set PTZ Preset Point encoder 16. 5 (fixed max pan speed)
(Check existing PTZ preset points by 17. 5 (fixed max tilt speed)
PTZ_PRESET_GET) 18. 7 (fixed max zoom speed)
19. 10 (fixed dwell time,
unused by system)
20. Name of preset point
(maximum length 31)
Go to PTZ Preset 1~32 (ACM), 1~64 (others) (ID
encoder PTZ_PRESET_GO=1
Point of preset point)
6. 1~64 (ID of preset point)
7. 1 (enabled), 0 (disabled)
8. 1 (use current zoom and
ZOOM_PRESET_SET=1,1,1,30,306
focus as preset position), 0
(use the focus and zoom
(Check existing Zoom preset points by
Set Zoom Preset Point encoder position defined by
ZOOM_PRESET_GET)
following 2 parameters)
9. 0~65535 (absolute position
(For cameras with zoom lens)
of zoom)
10. 0~65535 (absolute position
of focus)
ZOOM_PRESET_GO=1
Go to Zoom Preset
encoder 1~64 (ID of zoom preset point)
Point
(For cameras with zoom lens)

5. 1~5 (pan speed)


6. 1 (counter-clockwise), 0
(clockwise). Non-endless
pan cameras ignore this.
7. -32767~32767 (left limit. If
Set Scanning Tour value is bigger than
encoder PTZ_TOUR_SCAN=1,0,-32767,32767
(Auto-pan) camera limit, maximum
camera left pan is used)
8. -32767~32767 (right limit. If
value is bigger than
camera limit, maximum
camera right pan is used)

37 www.acti.com
PTZ and Focus

10. 1~10 (ID of tour)


11. 1~32 (ACM), 1~64 (others)
(ID of preset point slot
within tour), 0 (delete all
the preset points from
given tour)
12. 1 (enable tour), 0 (delete
tour)
Add PTZ Preset Point 13. 1~32 (ACM), 1~64 (others)
encoder PTZ_TOUR_SET=2,30,1,1,10,30,5,5,7
into Tour (ID of preset point defined
by PTZ_PRESET_SET)
14. 1~128 (dwell time, sec)
15. Sequence ID. Not used.
Keep it same as 2nd
parameter.
16. 1~5 (pan speed)
17. 1~5 (tilt speed)
18. 2~7 (zoom speed)
Set name of the PTZ 3. 1~10 (tour ID)
encoder PTZ_TOUR_NAME=1,daytour
Tour 4. Tour name
DISABLE, TOUR1, TOUR2,
TOUR3, TOUR4, TOUR5,
Start or Stop the Tour encoder PTZ_TOUR_STATE=TOUR1
TOUR6, TOUR7, TOUR8,
TOUR9, TOUR10, SCAN
Auto speed for Pan
and Tilt according to encoder PTZ_AUTO_SPEED=1 1 (enabled), 0 (disabled)
Zoom position
Digital Zoom encoder DIGITAL_ZOOM=1 1 (enabled), 0 (disabled)

38 www.acti.com
Video Analytics

Receiver
Objective cgi Command with example parameters Allowed parameters
program
Explanation of possible results:
OD – object detection
FD – face detection
FC – face counting
MD – object based motion det.
LC – line crossing
EA – enter area
EO – loitering
EN - enter area
EL – leave area
MO – missing object
UO – unattended object
SO- suspected object
TA – tampering
LD – LPR
LR – ALPR
CD – car detection
CC – car counting
Analytics capability
encoder IVS_CAP PD – car detection for parking
check
CS – car speed estimation
ID – incorrect direction
CR – crowd detection
LQ – long queue
FR – face recognition
OC – object counting
PC – people counting
PS – people detection
SD – smoke detection
SK – shock detection by G-sens.
AT – auto object tracking
DT – digital object tracking
FI – fire detection
HM – heatmap
DW – dwell
RF – RFID events
RC – ROI counting
GS – gunshot detection
Get analytics event encoder GET_IVS_MSG=SK,TA,FD,0 Follow the codes of IVS_CAP
Get algorithm info encoder IVS_ALGORITHM_INFO=FD Follow the codes of IVS_CAP

39 www.acti.com
Alarm

Receiver
Objective cgi Command with example parameters Allowed parameters
program
3. 1 or 2 (DO1 or DO2)
Activate Digital Output encoder SET_DO=1,1
4. 1 (high), 0 (low)

Account Management

Receiver
Objective cgi Command with example parameters Allowed parameters
program
Change the root
system ACCOUNT_ROOT=Admin,123 Type any name and password
account & password
Change the user 1
system ACCOUNT_USER_1=visitor,123 Type any name and password
account & password

40 www.acti.com
Z-Series API Commands

Z-Series cameras are using quite different method of integration with the remote systems than
the rest of the ACTi camera series. Z-series models do not have their own web interface to set
up the commands as the event responses. The Z-series cameras can only receive API
commands. The Z-series cameras are using RESTful API.

The API is mainly used to do the following:


1. Manage the system, such as adjusting the clock of the camera or rebooting the
device.
2. Manage PTZ camera’s preset points and patrols, including setup and operations.
3. Requesting video stream with custom defined parameters
4. Request on-board video recordings
5. Adjust audio settings
6. Configure OSD
7. Get snapshot
8. Configure the motion detection settings

The commands below are the most frequently used. For other commands, please
contact the technical support team.

The easiest way to test the API of Z-series cameras is to use the Apache JMeter™. Here is
an example:

1. Provide the user name and the password:

41 www.acti.com
2. Provide the IP address (and port 80) and prepare the HTTP Request:

The request format is:

PUT /LAPI/V1.0/System/Time/NTP HTTP/1.1


{
"Enabled":1,
"AddressType":0,
"Address":"24.56.178.140",
"Port":123,
"SynchronizeInterval":60
}

42 www.acti.com
3. Response:

The response format is:

HTTP/1.1 200 Ok

{
"Response":
{
"ResponseURL": "URL",
"ResponseCode": 0,
"SubResponseCode": 101,
"ResponseString": "Succeed",
"StatusCode": 0,
“Data”: “null” or {…}
}
}

43 www.acti.com
System API

/LAPI/V1.0/System/Time
Get the time
(Method: GET)
Example parameters:
{"TimeZone":"GMT+08:00","DeviceTime":"16
44476461"}
The 10-digit number is UTC, unit “second”.
/LAPI/V1.0/System/Time
Change the time HourFormat=0 (12h mode)
(Method: PUT)
HourFormat=1 (24h mode)
DateFormat=0 (YYYY-MM-DD)
DateFormat=1 (MM-DD-YYYY)
DateFormat=2 (DD-MM-YYYY)

PTZ API

/LAPI/V1.0/Channels/<ID>/PTZ/Presets
Check the presets
(Method: GET)
/LAPI/V1.0/Channels/<ID>/PTZ/Presets Example parameters:
Add a new preset point
(Method: PUT) {"ID": 7,"Name": "test2"}
/LAPI/V1.0/Channels/<ID>/PTZ/Presets/
Go to the preset point <ID>/Goto
(Method: PUT)
/LAPI/V1.0/Channels/<ID>/PTZ/Patrols/
Start the patrol/tour <ID>/Start
(Method: PUT)
/LAPI/V1.0/Channels/<ID>/PTZ/Patrols/
End the patrol/tour <ID>/Stop
(Method: PUT)

44 www.acti.com
ALARM API

/LAPI/V1.0/Channels/<ID>/Alarm/Motion
Check motion
Detection/AreaType
detection area type
(Method: GET)
Example:
/LAPI/V1.0/Channels/<ID>/Alarm/Motion {"Type":0}
Change motion
Detection/AreaType Options:
detection area type
(Method: PUT) 0: rectangle area
1: grid area
/LAPI/V1.0/Channels/<ID>/Alarm/Motion
Check the rectangular
Detection/Areas/Rectangle
motion detection area
(Method: GET)
{
"Num":4,
"RectangleAreas":[
{"ID":0,"Enabled":1,"Sensitivity":70,"Duration"
:1,"TargetSize":70,"Area":{"TopLeft":{"X":120
0,"Y":2000},"BottomRight":{"X":3000,"Y":400
0}}},
{"ID":1,"Enabled":0,"Sensitivity":98,"Duration"
Change the /LAPI/V1.0/Channels/<ID>/Alarm/Motion
:1,"TargetSize":4,"Area":{"TopLeft":{"X":0,"Y":
rectangular motion Detection/Areas/Rectangle
0},"BottomRight":{"X":1000,"Y":1000}}},
detection area (Method: PUT)
{"ID":2,"Enabled":0,"Sensitivity":98,"Duration"
:1,"TargetSize":4,"Area":{"TopLeft":{"X":0,"Y":
0},"BottomRight":{"X":1000,"Y":1000}}},
{"ID":3,"Enabled":0,"Sensitivity":98,"Duration"
:1,"TargetSize":4,"Area":{"TopLeft":{"X":0,"Y":
0},"BottomRight":{"X":1000,"Y":1000}}}
]
}

45 www.acti.com
Video and Audio API

/LAPI/V1.0/Channels/<ID>/Media/Video/
Streams/<ID>/Records?Begin=<Begin> Example:
&End=<End>&Limit=<Limit>&Offset=<Of /LAPI/V1.0/Channels/0/Media/Video/Streams
Query the on-board
fset>&Types=<Types>&RelationOfTypes /1/Records?Begin=1644485507&End=16444
recordings
=<RelationOfTypes>&Position=<Position 85510&Types=140&RelationOfTypes=1&Pos
> ition=1
(Method: GET)
/LAPI/V1.0/Channels/<ID>/Media/Video/
Streams/RecordURL?Begin=<Begin>&E
Query the RTSP URL nd=<End>&Types=<Types>&RelationOf The URL returned by this command is only
of specific time, record Types=<RelationOfTypes>&Position=<P used for play and download stream that is
type and channel osition>&SessionID=<SessionID>&Tran based on RTSP
sType=<TransType>
(Method: GET)
<ID> is the video stream ID starting from 0.
TransType options: 0: transmit, 1:direct
/LAPI/V1.0/Channels/<ID>/Media/Video/
connection
Streams/<ID>/LiveStreamURL?TransTy
TransProtocol options: 0:TCP, 1:UDP
Get Live Stream pe=<TransType>&TransProtocol=<Trans
LoginName is required if TransType=1
Protocol>
PIN is required if TransType=1
(Method: GET)
Live video URL example:
rtsp://192.168.0.100:554/media/video1
/LAPI/V1.0/Channels/<ID>/Media/Video/
Get Video Settings Streams/DetailInfos
(Method: GET)
Example:
{"Num":3,"VideoStreamInfos":[{"ID":0,"Enabl
ed":1,"VideoEncodeInfo":{"EncodeFormat":1,
"Resolution":{"Width":1920,"Height":1080},"Bi
tRate":3072,"BitRateType":0,"FrameRate":25
,"GOPType":0,"IFrameInterval":60,"ImageQu
ality":5,"SmoothLevel":5,"SVCMode":0,"Smar
tEncodeMode":1}},{"ID":1,"Enabled":1,"Video
/LAPI/V1.0/Channels/<ID>/Media/Video/ EncodeInfo":{"EncodeFormat":1,"Resolution"
Change Video Settings Streams/DetailInfos :{"Width":720,"Height":576},"BitRate":768,"Bit
(Method: PUT) RateType":0,"FrameRate":30,"GOPType":0,"I
FrameInterval":60,"ImageQuality":5,"Smooth
Level":5,"SVCMode":0,"SmartEncodeMode":
1}},{"ID":2,"Enabled":0,"VideoEncodeInfo":{"
EncodeFormat":2,"Resolution":{"Width":352,"
Height":288},"BitRate":128,"BitRateType":1,"
FrameRate":30,"GOPType":0,"IFrameInterval
":60,"ImageQuality":5,"SmoothLevel":5,"SVC
Mode":0,"SmartEncodeMode":0}}]}
/LAPI/V1.0/Channels/<ID>/Media/Video/
Get image capturing
Mode
mode
(Method: GET)
{
“Resolution”: {
“Width”: ,
/LAPI/V1.0/Channels/<ID>/Media/Video/
Change image “Height”:
Mode
capturing mode },
(Method: PUT)
“FrameRate”:
}

46 www.acti.com
Example values: 1920, 1080 and 30
/LAPI/V1.0/Media/Audio/Input
Get audio settings
(Method: GET)
{
"IsMute":1,
"Type":0,
"EncodeFormat":2,
"SampleRate":0,
"InputGain":127,
"NoiseReduction":{
"Enabled":1,
/LAPI/V1.0/Media/Audio/Input "Mode":0,
Change Audio settings
(Method: PUT) "Strength":0
},
"AudioInputNum":1,

"AudioInputList":[{"ID":1,"Enabled":1,"Mode":
0}],
"SerialInputNum":0,
"SerialIInputList":[]
}
Example:
/LAPI/V1.0/Channels/0/Media/Video/Streams
/1/Snapshot
/LAPI/V1.0/Channels/<ID>/Media/Video/
Snapshot (without
Streams/<ID>/Snapshot
preview) ID: stream ID
(Method: GET)
0:Main stream
1:Sub stream
2:Third stream
Alarm type:
"MotionAlarmOn": start of motion alarm
/LAPI/V1.0/Channels/<ID>/Alarm/Snaps "VideoLossAlarmOn": Start of video loss
Get URL of alarm
hotURL?Type=<Type>&Time=<Time> alarm
triggered snapshot
(Method: GET) "AbnormalAudioOn": start of abnormal audio
alarm
Time is UTC (seconds from 1970)
/LAPI/V1.0/IO/InputSwitches/<ID>/Alarm
Get URL of DIDO ID of alarm input
/SnapshotURL?Time=<Time>
triggered snapshot Time is UTC (seconds from 1970)
(Method: GET)
/LAPI/V1.0/Channels/<ID>/Alarm/Snaps
Query snapshot Name length max 64.
hot?Name=<Name>&Size=<Size>
picture Size of a picture in bytes.
(Method: GET)
/LAPI/V1.0/Channels/<ID>/Media/Snaps
Get snapshot info hot/Info
(Method: GET)
/LAPI/V1.0/Channels/<ID>/Media/OSDs/
Check OSD Styles ContentStyle
(Method: GET)
{
"FontStyle": 0,
"FontSize": 2,
/LAPI/V1.0/Channels/<ID>/Media/OSDs/ "Color": 16777215,
Change OSD Style ContentStyle "DateFormat": 100,
(Method: PUT) "TimeFormat": 0,
"FontAlignList": [0, 0, 0, 0, 0, 0, 0, 0],
"Margin": 0
}
Check OSD Contents /LAPI/V1.0/Channels/<ID>/Media/OSDs/

47 www.acti.com
Contents
(Method: GET)
{
"ID": ,
"Enabled": ,
"Num": ,
"ContentInfo": [{
"ContentType": ,
/LAPI/V1.0/Channels/<ID>/Media/OSDs/
Change OSD "Value":
Contents
Contents },......]
(Method: PUT)
"Area": {
"TopLeft": {
"X": ,
"Y":
}
}

48 www.acti.com
A950 & A951 API Commands

Syntax
The syntax of the command: http://<servername>/cgi-bin/admin/userinfo.cgi
The syntax of the return message: HTTP/1.0 <HTTP code> <HTTP text>\r\n

Example
http://myserver/cgi-bin/privacy.cgi
HTTP/1.0 200 Ok\r\n

CGI URLs are written in lower-case. CGI parameters are written in lower-case and as one
word. When the CGI request includes internal camera parameters, the internal parameters
must be written exactly as named in the camera or video server. For the POST method, the
parameters must be included in the body of the HTTP request. The CGIs are organized in
function related directories under the cgi-bin directory. The file extension of the CGI is
required.

Syntax
http://<servername>/cgi-bin/<subdir>[/<subdir>...]/<cgi>.<ext>
[?<parameter>=<value>[&<parameter>=<value>...]]

Example
http://<servername>/cgi-bin/admin/param.cgi?action=list&group=Network

HTTP Status Codes

HTTP Status Codes

HTTP code HTTP text Description


The request has succeeded, but an
200 OK application error can still occur, which will be
returned as an application error code.
The server has fulfilled the request, but there
204 No Content
is no new information to send back.
The server redirects the request to the URI
302 Moved Temporarily
given in the Location header.
The request had bad syntax or was
400 Bad Request
impossible to fulfill.
The request requires user authentication or
401 Unauthorized
the authorization has been refused.
The server has not found anything matching
404 Not Found
the request.
The request could not be completed due to a
409 Conflict
conflict with the current state of the resource.
The server encountered an unexpected
500 Internal Error
condition that prevented it from fulfilling the

49 www.acti.com
request.
The server is unable to handle the request
503 Service Unavailable
due to temporary overload.

Example
HTTP/1.0 404 Not Found\r\n

GENERAL: UPDATING AND LISTING

Method
GET

Syntax
http://<servername>/cgi-bin/admin/param.cgi?
<parameter>=<value>[&<parameter>=<value>...]

<parameter>=<value> Values Description

action=<string> add, remove, update or list Specifies the action to take.

Depending on this parameter,

various parameters may be set, as

described in the following sections.

Syntax of the List


http://<servername>/cgi-bin/admin/param.cgi?action=list
[&<parameter>=<value>...]

<parameter>=<value> Values Description

group=<string>[& group=<string>...] <group[.name]>[,<group[.name]>...] Returns the value of the camera

parameter named <group>.<name>.

The camera parameters must be

entered exactly as they are named in

the camera.

Syntax of the List parameter options


http://<servername>/cgi-bin/admin/param.cgi?action=options

List Output Format


HTTP/1.0 200 OK\r\n

50 www.acti.com
Content-Type: text/plain\n
\n
<parameter pair>
where <parameter pair> is
<parameter>=<value>\n
[ <parameter pair> ]

Example
HTTP/1.0 200 OK\r\n
Content-Type: text/plain\n \n
root.Network.IPAddress=192.168.0.250\n
root.Network.SubnetMask=255.255.255.0\n

Syntax for Updating


http://<servername>/cgi-bin/admin/param.cgi?action=update
[&<parameter>=<value>...]
<parameter>=<value> Values Description

<string>=<string> <group.name>=<value> Assigns <value> to the parameter

<group.name>.

The <value> must be URL-encoded

when it contains non-alphanumeric

characters.

The camera parameters must be

entered exactly as named in the

camera.

Example
http://myserver/cgi-bin/admin/param.cgi?
action=update&ImageSource.I0.Sensor.Exposure=auto

GENERAL: ADDING, MODIFYING AND DELETING USERS

Method
GET

Syntax
http://<servername>/cgi-bin/admin/pwdgrp.cgi?
<parameter>=<value>[&<parameter>=<value>...]

51 www.acti.com
<parameter>=<value> Values Description

action=<string> add, remove, update or get add = create a new user account.

update = change account information

of specified parameters if the

account exists.

remove = remove an existing

account if it exists.

get = get a list of the users which

belong to each group defined.

user=<string> <string> The user account name, a

non-existing user name. Valid

characters are a thru z, A thru Z and

0 thru 9.

pwd=<string> <string> The unencrypted password of the

account. Valid characters are a thru

z, A thru Z and 0 thru 9.

sgrp=<string>:[<string>...] <string>[,<string>...] Colon separated existing secondary

group names of the account.

Ex: dido:camctrl:talk:listen

Example of creating a new account


http://myserver/cgi-bin/admin/pwdgrp.cgi?action=add&user=joe&pwd=foo&sgrp=dido:camctrl:
talk:listen

Example of changing the password


http://myserver/cgi-bin/admin/pwdgrp.cgi?action=update&user=joe&pwd=bar

GENERAL: LISTING USERS INFORMATION

Method
GET

Syntax
http://<servername>/cgi-bin/admin/privacy.cgi

Response
HTTP/1.0 200 OK\r\n
Content-Type: text/plain\n \n
Username:Dido:Camset:Talk:Listen \n

52 www.acti.com
Admin:1:1:1:1\n

Syntax
http://<servername>/cgi-bin/admin/userinfo.cgi

Response
HTTP/1.0 200 OK\r\n
Content-Type: text/plain\n \n
List username and password\n
Admin:1234\n

GENERAL: GETTING AND MODIFYING THE SNAPSHOT PATH

Get or modify Admin snapshot path, Admin can capture images by the web page snapshot
button, and the images are stored at the path you set.

Method
GET

Syntax
http://<servername>/cgi-bin/admin/snapshot.cgi? <parameter>=<value>]

<parameter>=<value> Values Description

path=<string> <string> Valid character: A-Za-z0-9and some

special tokens _/\~!@#$%^&+-:

action=<string> get Get the Admin snapshot path.

set Set the Admin snapshot path, with

action=set parameter path is

required.

Example
http://myserver/cgi-bin/admin/snapshot.cgi?action=set&path C%3A%5Ccapture

GENERAL: MANAGING LOCAL STORAGE

Manage the local storage, including format storage, list existing file, remove or download an
existing file.

Method

53 www.acti.com
GET

Syntax
http://<servername>/cgi-bin/admin/storagemanagement.cgi?
<parameter>=<value>[&<parameter>=<value>...]

<parameter>=<value> Values Description

action=<string> format, format = format the local storage

list, device

remove, list = get a list of the existing files in

download the local storage

remove = remove an existing file in

local storage

download = download an existing file

from the local storage .

filename=<string> <string> The filename of the file that is to be

removed or downloaded.

Example: Format the local storage


http://myserver/cgi-bin/admin/storagemanagement.cgi?action=format

Example: Get the file list of the local storage


http://myserver/cgi-bin/admin/storagemanagement.cgi?action=list

Example: Remove an existing file


http://myserver/cgi-bin/admin/storagemanagement.cgi?action=remove&filename=A_2011010
1_010101.avi

Example: Download an existing file


http://myserver/cgi-bin/admin/storagemanagement.cgi?action=download&filename=A_201101
01_010101.avi

GENERAL: FACTORY DEFAULT

Reload factory default. All parameters except Network.BootProto, Network.IPAddress,


Network.SubnetMask, Network.Broadcast, Network.DefaultRouter and Network port are set to
their factory default values.

Method

54 www.acti.com
GET

Syntax
http://<servername>/cgi-bin/admin/factorydefault.cgi

GENERAL: HARD FACTORY DEFAULT

Reload factory default. All parameters are set to their factory default value.

Method
GET

Syntax
http://<servername>/cgi-bin/admin/hardfactorydefault.cgi

GENERAL: BACKUP

Download a unit specific backup of all files in the folder /etc in tar format.

Method
GET

Syntax
http://<servername>/cgi-bin/admin/backup.cgi

Response
HTTP/1.0 200 OK\r\n
Content-Type: application/octet-stream\r\n
Content-length: 15899\r\n
Content-Disposition: attachment; filename=config_file.bin\r\n
<file content of config_file.bin >

GENERAL: RESTORE

Upload a unit specific backup previously created by the backup.cgi.

Method
POST

55 www.acti.com
Syntax
http://<servername>/cgi-bin/admin/restore.cgi

Response
POST /cgi-bin/admin/restore.cgi? HTTP/1.0\r\n
Content-Type: multipart/form-data; boundary=AaBo3x\r\n
Content-Length: <content length>\r\n
\r\n
--AaBo3x\r\n
Content-Disposition: form-data; name=" config_file.bin ";
filename=" config_file.bin "\r\n
Content-Type: application/octet-stream\r\n
\r\n
<file content of config_file.bin>
\r\n
--AaBo3x--\r\n

GENERAL: BEFORE FIRMWARE UPGRADE

It will stop some process (like stream server, image transfer, etc) to prepare firmware upgrade.

Method
GET

Syntax
http://<servername>/cgi-bin/admin/beforeupgrade.cgi

GENERAL: STARTING FIRMWARE UPGRADE

Upgrade the firmware version.

Method
POST

Syntax
http://<servername>/cgi-bin/admin/firmwareupgrade.cgi[?<parameter>=<value>]

<parameter>=<value> Values Description

filename=<string> var, Specifies the filename of firmware upgrade.

56 www.acti.com
uImage_userland, uImage = kernel package binary file.

switch.bin, cameraFw = camera parameters binary file.

main.bin, userland.jffs2 = JFFS2 image binary file.

module.bin var = variable binary file.

uImage_userland.jffs2 = kernel package binary

file + JFFS2 image binary file

userland.img = UBIFS image binary file

uImage_userland = kernel package binary file +

UBIFS image binary file

switch.bin = Switch Board firmware upgrade

main.bin = Main Board firmware upgrade

module.bin = Camera Module firmware upgrade

Example
POST /cgi-bin/admin/firmwareupgrade.cgi?filename=userland.jffs2 HTTP/1.0\r\n
Content-Type: multipart/form-data; boundary=AsCg5y\r\n
Content-Length: <content length>\r\n
Authorization: Basic QWRtaW46MTIzNA==
\r\n
--AsCg5y\r\n
Content-Disposition: form-data; name="userland.jffs2"; filename="userland.jffs2"\r\n
Content-Type: application/octet-stream\r\n
\r\n
<firmware file content>
\r\n
--AsCg5y--\r\n

GENERAL: RESTARTING THE SERVER

Method
GET

Syntax
http://<servername>/cgi-bin/admin/restart.cgi

GENERAL: SERVER REPORT

Method
GET

57 www.acti.com
Syntax
http://<servername>/cgi-bin/admin/serverreport.cgi

GENERAL: SYSTEM LOG

Method
GET

Syntax
http://<servername>/cgi-bin/admin/systemlog.cgi

GENERAL: SYSTEM DATE AND TIME

Method
GET

Syntax
http://<servername>/cgi-bin/admin/date.cgi?<parameter>=<value>

<parameter>=<value> Values Description

action=<string> get or set Specifies what to do.

get = get the current date and time.

set = set the current date and/or time.

http://<servername>/cgi-bin/admin/date.cgi?action=set[&<parameter>=<value>...]

<parameter>=<value> Values Description

year=<int> 2007 - 2099 Current year.

month=<int> 1 - 12 Current month.

day=<int> 1 - 31 Current day.

hour=<int> 0 - 23 Current hour.

minute=<int> 0 - 59 Current minute.

second=<int> 0 - 59 Current second.

timezone=<string> GMT-12…GMT+13 Time zone.

Example
http://myserver/cgi-bin/admin/date.cgi?action=set&year=2005&month=4&day=3

58 www.acti.com
Example
http://myserver/cgi bin/ admin/param.cgi?action=update&Time.TimeZone=GMT%2b8

IMAGE: MJPEG SNAPSHOT CGI REQUEST

Method
GET

Syntax
http://<servername>/cgi-bin/jpg/image.cgi?

PTZ: CONTROL

To control the Pan, Tilt and Zoom behavior of a PTZ unit, the following PTZ control URL is
used. This URL has view access rights.

Some PTZ units automatically reduce pan and tilt movements as the zoom factor increases.
Therefore, the actual movement may be less than what is requested of these units.

The URL must follow the standard way of writing a URL, (RFC 2396: Uniform Resource
Identifiers (URI) Generic Syntax); that is, spaces and other reserved characters (";", "/", "?", ":",
"@", "&", "=", "+", "," and "$") within a <parameter> or a <value> must be replaced with
%<ASCII hex>. For example, in the string My camera, the space will have to be replaced with
%20, My%20camera.

Method
GET

Syntax
http://<servername>/cgi-bin/com/ptz.cgi?<parameter>=<value>[&<parameter>=<value>...]

with the following parameters and values

Parameter name Valid values Description

59 www.acti.com
move home Moves the device 5 degrees in the specific direction.

up

down

left

right

upleft

upright

downleft

downright

pan -180.0 to 180.0 Pans the device relative to the (0, 0)position

tilt -10.0 to 190.0 Tilts the device relative to the (0, 0)position

zoom 0 to 9999 Zoom the device n steps

focus 0 to 9999 Move focus n steps

rpan -360.0 to 360.0 Pans the device n degrees relative to the current

position

rtilt -360.0 to 360.0 Tilts the device n degrees relative to the current

position

rzoom -9999 to 9999 Zoom the device n steps relative to the current position;

Positive values mean zoom in, and negative values

mean zoom out.

rfocus -9999 to 9999 Move device n steps relative to the current position;

Positive values mean focus far, and negative values

mean focus near.

autofocus on, off on/off: Autofocus on/off.

pushaf: Autofocus by one push

zoomtrigger: Autofocus by zoom in/out

zoomreset: reset zoom

focusreset: reset focus

reset: reset zoom & Focus

continuouspantiltmove -100 to 100 Continuous pan/tilt motion.

Positive values mean right (pan) and up (tilt), negative

values mean left (pan) and down (tilt). "0,0" means

stop.

continuouszoommove -100 to 100 Continuous zoom motion.

Positive values mean zoom in and negative values

mean zoom out.

Higher value gives higher speed.(Motorized models

exclusive)

60 www.acti.com
"0" means stop.

zoomsteps 1, 2, 4, 8, 16, 32, 64, Positive values mean zoom in and negative values

128, -1, -2, -4, -8, -16, mean zoom out.

-32, -64, -128

focussteps 1, 2, 4, 8, 16, 32, 64, Positive values mean focus near and negative values

128, -1, -2, -4, -8, -16, mean focus far.

-32, -64, -128

continuousfocusmove -100 to 100 Continuous focus motion.

Positive values mean focus near and negative values

mean focus far.

Higher value gives higher speed.

"0" means stop.

gotoserverpresetno 1 to 256 Move to the position associated with the specified

preset position number.

gotoserverautopanno 1,2,3,4 Run the Autopan function associated with specified

autopan function number

gotoservercruiseno 1,2,3,4,5,6,7,8 Run the Cruise function associated with specified

cruise function number

gotoserversequenceno 1,2,3,4,5,6,7,8 Run the Sequence function associated with specified

sequence function number

center <int x>,<int y> Used to send the coordinates for the point in the image

where the user clicked. This information is then used by

the server to center the clicked point. Used for center

mode together with the following parameters:

imagewidth, imageheight, and stream. See center

mode example.

imagewidth 1, ... The current image width of the image seen. Used for

center mode.

imageheight 1, ... The current image height of the image seen. Used for

center mode.

stream h264 For example: If

h264_2 rtsp://server_address/h264

jpeg is connected, then stream=h264. Used for center

mode.

query position Returns the current parameter values.

info 1 (default) Returns a description of available PTZ commands.

Example
http://myserver/cgi-bin/com/ptz.cgi?center=2,4&imageheight=578&imagewidth=722&stream=

61 www.acti.com
h264

Example
http://myserver/cgi-bin/com/ptz.cgi?info=1

PTZ Preset Sequence

Parameter name Default value Valid values Description

PresetNbr 1 1 … 256 The number of the PTZ

preset position.

MoveSpeed 10 0 … 14 The speed at which to

move camera to this preset

position.

WaitTiime 1 0 … 255 The view time for this

preset position in seconds.

Example
http://<servername>/cgi-bin/admin/param.cgi?action=add&group=GuardTour

Example
http://<servername>/cgi-bin/admin/param.cgi?action=update&GuardTour.G1.Tour.T1.PresetN
br=2

Example
http://<servername>/cgi-bin/admin/param.cgi?action=add&group=GuardTour.G1.Tour&Guard
Tour. G1.Tour.T.PresetNbr=3&GuardTour.G1.Tour.T.WaitTime=5

PTZ: CONFIGURATION

Method
GET

Syntax
http://<servername>/cgi-bin/com/ptzconfig.cgi?
<parameter>=<value>[&<parameter>=<value>...]

<parameter>=<value> Values Description

setserverpresetname=<int>,<string> <preset no><preset Associates the current position to <preset


1
name> name> as a preset position in the server.

62 www.acti.com
setserverpresetno=<int> 1 to 256 Saves the current position as a preset

position number in the server.

removeserverpresetname=<string> 1, ... Removes the specified preset position.

setserverautopan=<int>,<string> <autopan

line>,<state>

setserverautopandirspeed=<int>,<string>,<int> <autopanline>, Set autopan direction

<direction>, and speed.

<speed> <direction>:left,right

<speed>:0-3

setservercruise=<int>,<string> <cruise Set cruise line.

line>,<state> <state>

start : start cruise

setting

end : end cruise

setting

home=<string> yes To set the home position with current

position of PTZ. This position will be used

in move=home API command.

1
<preset name> is a string with a maximum of 31 characters, ~ is not allowed.

I/O: INPUT

Method
GET

Syntax
http://<servername>/cgi-bin/io/input.cgi? <parameter>=<value>

<parameter>=<value> Values Description

check=<int>[,<int>,…] <id1>[,<id2>…] Returns the status (1 or 0)

of one of more inputs

numbered id1, id2,…

checkactive=<int>[,<int>,…] <id1>[,<id2>…] Returns the status (active

or inactive) of one or more

inputs numbered id1,id2

Example
http://myserver/cgi-bin/io/input.cgi?check=1

63 www.acti.com
I/O: OUTPUT

Method
GET

Syntax
http://<servername>/cgi-bin/io/output.cgi? <parameter>=<value>

<parameter>=<value> Values Description

check=<int>[,<int>,…] <id1>[,<id2>…] Returns the status (1 or 0)

of one or more outputs

numbered id1, id2,…

checkactive=<int>[,<int>,…] <id1>[,<id2>…] Returns the status (active

or inactive) of one or more

outputs numbered id1,id2

action=<string> <id1>:<a> <id> = Output number. If

omitted, output 1 is

selected.

<a> = Action character: / of

/=active, \=inactive

Example
http://myserver/cgi-bin/io/output.cgi?action=1:/

I/O: EVENT DATA

This section explains the commands related to eventdata.cgi. This command could deliver
setting and current status of IP Camera motion detection, I/O and tampering, face detection.

Method
GET

Syntax
http://<servername>/cgi-bin/admin/eventdata.cgi?<parameter>=<value>[&<parameter>=<valu
e>...]

64 www.acti.com
<parameter>=<value> Values Description

action=<string> get, monitor Returns the status (1 or 0)

of one or more outputs

numbered id1, id2,…

group=<string> Motion, Motion1, Motion2, Motion: Motion detection

Motion3, IO, T0, (Event.E1)

Motion1: Motion detection

(Event.E10)

Motion2: Motion detection

(Event.E11)

Motion3: Motion detection

(Event.E12)

IO: Digital Input / Output

Information

T0: Tampering alarm

(event.E2)

Face: Face detection

(Event.E14)

Value of parameter group

can be

concatenated by “,”

MotionParam Enabled,Level,Sensitivity,Trig This parameter can used to

gered query the interest

parameter of event data. If

the command omitted the

MotionParam parameter,

the

return result contains all

the data

about the motion detection.

Value of parameter

MotionParam can be

concatenated by “,”

Enabled:The

motionevent is enabled

or not.(0: disable, 1:

enable)

Level: Percentage of

motion detected in all

65 www.acti.com
interested area.

(0…100)

Sensitivity:Sensitivity

value of motion

detection setting.

(0…100)

Triggered:The event is

triggered or not (0: not

triggered, 1: triggered)

IOParam Status Only return interested

value of Input / Output

status

Syntax
http://<servername>/cgi-bin/admin/eventdata.cgi?action=get[&<parameter>=<value>...]

Example
http://myserver/cgi-bin/admin/eventdata.cgi?action=get&group=Motion

Example
http://myserver/cgi-bin/admin/eventdata.cgi?action=get&group=Motion,Motion2

The definition is IO status is explained below.


<XX0><XX1><XX2><XX3><XX4><XX5><XX6>

Digit Value Description

<XX0> 00 ~ ff Input1 ~ Input8 is enabled or not.

It stands for b7b6b5b4b3b2b1b0 in Ex: a2 => 10100010 means

binary Input8, 6, and 2 are enabled.

0: disable / 1: enable Input7, 5, 4, 3 and 1 are disabled.

<XX1> 00 ~ ff Input1~Input8 is open or closed.

It stands for b7b6b5b4b3b2b1b0 in

binary

0: open / 1: closed

<XX2> 00 ~ ff Output1~Output8 is open or

It stands for b7b6b5b4b3b2b1b0 in closed.

binary

0: open / 1: closed

66 www.acti.com
<XX3> 00 ~ ff Input1~Input8 setting (Normal

It stands for b7b6b5b4b3b2b1b0 in Open / Normal Closed)

binary

0: Normal open/ 1: Normal closed

<XX4> 00 ~ ff Output1~Output8 setting (active

It stands for b7b6b5b4b3b2b1b0 in status of the Output)

binary

0: active status open/ 1: active

status closed

<XX5> 00 ~ ff Input1~Input8 active or inactive

It stands for b7b6b5b4b3b2b1b0 in

binary

0: inactive/ 1: active

<XX6> 00 ~ ff Output1~Output8 active or inactive

It stands for b7b6b5b4b3b2b1b0 in

binary

0: inactive/ 1: active

Example
http://myserver/cgi-bin/admin/eventdata.cgi?action=get&group=Motion,Motion1&
MotionParam=Enabled,Triggered

Syntax
http://<servername>/cgi-bin/admin/eventdata.cgi?action=monitor[&<parameter>=<value>...]

Example
http://myserver/cgi-bin/admin/eventdata.cgi?action=monitor&group=Motion,Motion1

67 www.acti.com
VIDEO & AUDIO: CONNECT VIDEO AND AUDIO STREAM

Connect a video and audio stream by UDP or TCP with default resolution and compression as
defined in the system configuration.

Syntax: Connect to H.264 of A950


rtsp://<servername>/h264

Syntax: Connect to MJPEG of A950


rtsp://<servername>/jpeg

Syntax: connect to Stream# of A951


rtsp://<servername>/stream#

Example
rtsp://<servername>/stream1

VIDEO & AUDIO: CONNECT VIDEO STREAM BY HTTP

Connect a video stream by HTTP with default resolution and compression as defined in the
system configuration.

Syntax of connecting to MJPEG


http://<servername>:8008

VIDEO & AUDIO: RTSP


This document specifies the external RTSP-based application programming interface of the
camera.

The RTSP URL is rtsp://<server name>/h264 where <server name> is the host name or IP
address of the server. The DESCRIBE, SETUP, OPTIONS, PLAY, PAUSE and TEARDOWN
methods are supported.

Request syntax
COMMAND URI RTSP/1.0<CRLF>
Headerfield1: val1<CRLF>
Headerfield2: val2<CRLF>
...
<CRLF>

68 www.acti.com
Response syntax
RTSP/1.0 ResultCode ResultString<CRLF>
Headerfield3: val3<CRLF>
Headerfield4: val4<CRLF>
...
<CRLF>

The following header fields are accepted by all commands. Other header fields are silently
ignored (unless stated otherwise in the sections below).

Field Description

CSeq Request sequence number.

Session Session identifier (returned by server in SETUP

response).

Content-Length Length of content.

The following header fields can be generated for all responses by the RTSP server:

Field Description

CSeq Response sequence number (matches the sequence

number of the request).

Session Session identifier.

VIDEO & AUDIO: RTSP DESCRIBE

The DESCRIBE command returns the SDP description for the URI. The DESCRIBE command
accepts the following additional header field:

Accept List of content types that client supports (application/sdp

is the only supported type).

The DESCRIBE command generates the following additional header fields:

Content-Type Type of content (application/sdp).

Content-Length Length of SDP description.

Content-Base If relative URLs are used in the SDP description, then this

is the base URL.

69 www.acti.com
Example
DESCRIBE rtsp://192.168.0.200/h264 RTSP/1.0
CSeq: 0
Accept: application/sdp

VIDEO & AUDIO: RTSP OPTIONS

The OPTIONS command returns a list of supported RTSP commands.

Example
OPTIONS * RTSP/1.0
CSeq: 1

Response example
RTSP/1.0 200 OK
CSeq: 1
Date: Fri, Jan 05 2007 18:32:15 GMT
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE

VIDEO & AUDIO: RTSP SETUP

The SETUP command configures the delivery method for the data. The SETUP command
requires and generates the following additional header field:

Transport Specifies how the data stream is transported. Supported

variants:

RTP/AVP;unicast;client_port=port1-port2

RTP/AVP;multicast;client_port=port1-port2

RTP/AVP/TCP;unicast

The response returns a session identifier that should be used with stream control commands
to the server (PLAY, PAUSE, TEARDOWN). If the Session header includes a timeout
parameter, then the session needs to be kept alive. This can be done by sending RTSP
requests to the server containing the session identifier (e.g. OPTIONS) within the specified
timeout time or through the use of RTCP. The RTSP server does not support reconfiguring of
the transport parameters.

70 www.acti.com
Example
SETUP rtsp://192.168.0.200/h264/track1 RTSP/1.0
CSeq: 1
Transport: RTP/AVP;unicast;client_port=6300-6301

Response example
RTSP/1.0 200 OK
CSeq: 1
Date: Thu, Jun 20 2013 09:12:51 GMT
Transport:
RTP/AVP;unicast;destination=192.168.0.102;source=192.168.0.200;client_port=6300-6301;s
erver_port=6970-6971
Session: 1

Example
SETUP rtsp://192.168.0.200/h264/track2 RTSP/1.0
CSeq: 2
Transport: RTP/AVP;unicast;client_port=6302-6303

Response example
RTSP/1.0 200 OK
CSeq: 2
Cache-Control: must-revalidate
Date: Thu, Jun 20 2013 09:12:51 GMT
Transport:
RTP/AVP;unicast;destination=192.168.0.102;source=192.168.0.200;client_port=6302-6303;s
erver_port=6972-6973
Session: 1

VIDEO & AUDIO: RTSP PLAY

The PLAY command starts (or restarts if paused) the data delivery to the client. The PLAY
command generates the following additional header fields:

Range Specifies the range of time being played. Since only live

streams are used, the specified time will always begin

now and have no stop time.

RTP-Info Information about the RTP stream. More specifically, it

includes the next RTP sequence number that will be

71 www.acti.com
used.

Example
PLAY rtsp://192.168.0.200/h264/ RTSP/1.0
CSeq: 3
Session: 1
Range: npt=0.000-

Response example
RTSP/1.0 200 OK
CSeq: 3
Date: Thu, Jun 20 2013 09:12:51 GMT
Range: npt=0.000-
Session: 1
RTP-Info:
url=rtsp://192.168.0.200/h264/track1;seq=41182;rtptime=1985344790,url=rtsp://192.168.0.20
0/h264/track2;seq=55405;rtptime=3572879460

VIDEO & AUDIO: RTSP PAUSE

The PAUSE command pauses the data delivery from the server.

Example
PAUSE rtsp://192.168.0.200/h264 RTSP/1.0
CSeq: 5
Session: 1

Response example
RTSP/1.0 200 OK
CSeq: 5
Date: Fri, Jan 05 2007 19:03:59 GMT
Session: 1

VIDEO & AUDIO: RTSP TEARDOWN

The TEARDOWN command terminates the data delivery from the server.

Example
TEARDOWN rtsp://192.168.0.250/h264 RTSP/1.0

72 www.acti.com
CSeq: 6
Session: 1

Response example
RTSP/1.0 200 OK
CSeq: 6
Session: 1

73 www.acti.com

You might also like