Pelco Smart Bulk Camera Modification

Bulk-configure hundreds of Pelco IP cameras from a single CSV / Excel file β€” no command line needed.

Developed by Askarali Mattummal

⚑
Concurrent Processing

Up to 30 cameras configured in parallel β€” what takes hours manually done in minutes.

πŸ”„
Dual Protocol

Uses ONVIF first, automatically falls back to the Pelco HTTP API if needed.

πŸ”
Dry-Run Mode

Preview every change before it touches a single camera. Safe and auditable.

πŸ“Š
Detailed Reports

CSV and log reports after every run β€” SUCCESS / PARTIAL / FAILED per camera.

πŸ–₯️
Overlay / OSD

Set date, time, name, location stamps, crosshair, and font size via Pelco CGI.

πŸ‘€
User Management

Create and delete camera users with role-based security groups (admin / operator / user).

What settings can I change?

SettingONVIFHTTP APIDescription
Device Nameβœ…βœ…Camera display name (web UI / VMS)
Hostnameβœ…βœ…Network hostname (DNS/DHCP name)
Locationβœ…βœ…Physical location text
Timezoneβœ…βœ…IANA or Pelco-format timezone
Daylight Savingβœ…βœ…Auto-adjust clock for DST
Create Userβœ…βœ…New user with role-based security group
Delete Userβœ…βœ…Remove an existing user from the camera
Display Dateβ€”βœ… CGIDate stamp on video overlay
Display Timeβ€”βœ… CGITime stamp on video overlay
Display Nameβ€”βœ… CGICamera name on overlay
Display Locationβ€”βœ… CGILocation text on overlay
Display GMT Offsetβ€”βœ… CGIGMT offset on overlay
Display Crosshairβ€”βœ… CGICrosshair on overlay
Date Formatβ€”βœ… CGIOverlay date format (e.g. MM/dd/yyyy)
Font Sizeβ€”βœ… CGIOverlay font size (12–80)

Run Configuration

Upload your CSV or Excel file, set your options, and click Run.

1 Upload your camera file ⬇ Download Template
πŸ“

Click to select or drag & drop your file here

Accepts .csv or .xlsx β€” max 16 MB

Don't have a file yet? ⬇ Download the CSV template β€” then scroll down to the CSV Guide to see how to fill it.
2 Configure run options

πŸ”Ή Used in report filenames and log headers. Makes it easy to find and identify reports later.

πŸ”Ή Default: 10. Use 20–30 for large batches (100+ cameras). Too high on a slow network may cause timeouts.

πŸ”Ή Default: 15s. Increase to 30–60s for slow networks or cameras behind VPN.

πŸ”Ή Default: 3. Increase to 5 if cameras are intermittently offline.

πŸ”Ή Auto works for all Pelco Sarix/SMLE cameras. Use HTTP only if ONVIF is disabled on your cameras.

3 Run

CSV File Guide

Every row = one camera. Empty cells are skipped β€” the tool only changes what you specify.

⬇ Download CSV Template

Required Columns β€” must be present for every row

ip
String
Camera IP address on your network.
Example: 192.168.1.100
Must be pingable from this PC. No ranges β€” one IP per row.
username
String
Admin username used to log in to the camera.
Example: admin
Must have administrator privileges on the camera.
password
String
Password for the admin user above.
Example: Admin@1234
Passwords are masked in all log outputs for security.

General Settings β€” leave empty to skip

device_name
String
The camera's display name shown in the web UI and VMS software.
Example: Lobby-Cam-01
Use a short, descriptive name. Shown in Pelco VideoXpert/Endura.
hostname
String
Network DNS hostname for the camera. Independent from the display name.
Example: LOBBY-CAM-01
No spaces. Usually uppercase alphanumeric with hyphens.
location
String
Free-text physical location description of the camera.
Example: Building A - Floor 1 - Main Entrance
Used for documentation and shown on overlay if display_location is Yes.
timezone
String
Camera timezone. Accepts IANA names or Pelco dropdown values.
IANA: Asia/Riyadh  |  Pelco: (GMT+03:00) Moscow, Riyadh (MSK/MSD)
Common IANA values: Asia/Riyadh, Asia/Dubai, Europe/London, America/New_York, UTC. See the full list at Wikipedia.
daylight_saving
Yes / No
Whether the camera should auto-adjust its clock for Daylight Saving Time.
Example: No
Saudi Arabia, UAE and most of the Middle East do not observe DST β€” use No.

User Management β€” leave empty to skip

new_username
String
Username to create on the camera. Must be combined with new_password.
Example: operator1
If the user already exists the step is skipped gracefully.
new_password
String
Password for the new user. Required if new_username is set.
Example: SecurePass123!
Minimum 8 characters recommended. Always masked in logs.
security_group
admin / operator / user
Role for the new user.
Example: operator
admin β€” full access.
operator β€” PTZ, live view, playback.
user β€” live view only (default if empty).
delete_username
String
Username to permanently delete from the camera.
Example: old_operator
⚠️ Cannot be undone. If the user doesn't exist, the step is skipped.

Overlay / OSD Settings β€” leave empty to skip

display_date
Yes / No
Show the current date on the camera's video feed overlay.
Example: Yes
Uses the Pelco CGI endpoint β€” applied even in ONVIF mode.
display_time
Yes / No
Show the current time on the camera's video overlay.
Example: Yes
display_name
Yes / No
Show the camera's name (device_name) on the video overlay.
Example: Yes
display_location
Yes / No
Show the camera's location text on the video overlay.
Example: No
display_gmt_offset
Yes / No
Show the GMT offset on the video overlay.
Example: Yes
display_crosshair
Yes / No
Show a crosshair cursor at the center of the video overlay.
Example: No
date_format
String
Date display format used on the overlay.
Example: MM/dd/yyyy or dd-MM-yyyy
Only applied if display_date is also set.
font_size
Integer (12–80)
Font size for all overlay text.
Example: 24
Recommended range: 18–32. Values outside 12–80 are ignored.

Advanced / Port Settings β€” leave empty to use defaults

onvif_port
Integer
ONVIF port for this camera. Override only if non-standard.
Default: 80
http_port
Integer
HTTP API port for this camera. Override only if non-standard.
Default: 80

Example CSV Content

ip,username,password,device_name,hostname,location,timezone,daylight_saving,display_date,display_time,display_name,font_size
192.168.1.100,admin,pass123,Lobby-Cam,LOBBY-CAM,Main Lobby,Asia/Riyadh,No,Yes,Yes,Yes,24
192.168.1.101,admin,pass123,,,,,,,,, 
192.168.1.102,admin,pass456,Gate-Cam,GATE-CAM,,Asia/Riyadh,No,Yes,Yes,Yes,
  • Camera .100 β€” sets name, hostname, location, timezone, DST, and overlay settings.
  • Camera .101 β€” all optional columns empty β†’ will be skipped.
  • Camera .102 β€” sets name, hostname, timezone, DST, some overlay settings; font_size empty so default is kept.

Previous Reports

All reports generated by past runs are stored in the reports/ folder.

Loading…

βœ… Verified Cameras

Camera models verified by this tool during real configuration runs. Auto-updated after every run.

Loading…