HTTP API Endpoints for CamDirector® (Version 1.4.0 and Above)
Starting from version 1.4.0, accessing CamDirector® API endpoints has become easier. While the old format is still supported for backward compatibility, it is recommended to use the newer format. This guide first outlines the most recent API version, followed by the backward-compatible endpoints.
Using the HTTP API
To use the HTTP API, you will need the following link:
http://{IP_ADDRESS}/api?szCmd=
This link allows users to interact with various CamDirector® features such as Privacy Mode, Manual Control, Tracking, and Preset Switcher through a web browser (e.g., Microsoft Edge, Google Chrome).
Key Terminology & Functions
- Privacy Mode: Displays a black screen with the Avonic logo, providing privacy for the teacher.
- Manual Control: Allows manual control of the follow and overview cameras. You can switch between video streams, but Manual Control only works when the Tracking function is OFF.
- Tracking: Tracks the teacher when enabled. It requires the Manual Control Mode to be disabled.
- Preset Switcher : Allows you to switch cameras, reboot software, or retrieve its status. This is useful when working with multiple cameras.
HTTP API Endpoints (Port 80)
The table below describes the available HTTP API endpoints over port 80:
Tracking Endpoints (/api/tt/tracking
)
Method | Endpoint | Body | Response Data | Description |
---|---|---|---|---|
GET | / | - | { "running": bool } | Indicates if tracking is actively running. |
GET | /on | - | {} | Starts tracking. |
GET | /off | - | {} | Stops tracking. |
GET | /manual-control | - | { "running": bool } | Indicates if Manual Control mode is active. |
GET | /manual-control/on | - | {} | Enables Manual Control mode. |
GET | /manual-control/off | - | {} | Disables Manual Control mode. |
GET | /manual-control/switch | - | {} | Switches the output stream while in Manual Control mode. |
GET | /manual-control/set-output/<id> | - | {} | Switches output to a specific stream (0: Overview, 1: Tracking, 2: Live Output). |
GET | /privacy-mode/on | - | {} | Enables Privacy Mode. |
GET | /privacy-mode/off | - | {} | Disables Privacy Mode. |
Preset Switcher Endpoints (/api/ms/switch
)
Method | Endpoint | Body | Response Data | Description |
---|---|---|---|---|
GET | /status | - | { "running": bool } | Retrieves Preset Switcher status. |
GET/POST | /on | - | - | Turns Preset Switcher ON. |
GET/POST | /off | - | - | Turns Preset Switcher OFF. |
GET | /current-preset | - | { "current-preset": int } | Returns the ID of the currently streamed preset. |
GET/POST | /<int:preset> | - | - | Switches to a specific preset. |
GET/POST | /reboot | - | - | Reboots the Preset Switcher software. |
Backward Compatibility Endpoints (Port 3002)
For older versions, the Preset Switcher endpoints route through port 3002. Since this is not the standard HTTP port, the port must be specified in the URL.
Legacy Preset Switcher Endpoints (/switch
)
Method | Endpoint | Body | Response Data | Description |
---|---|---|---|---|
GET | /status | - | { "running": bool } | Retrieves Preset Switcher status. |
GET/POST | /on | - | - | Turns Preset Switcher ON. |
GET/POST | /off | - | - | Turns Preset Switcher OFF. |
GET | /current-preset | - | { "current-preset": int } | Returns the ID of the currently streamed preset. |
GET/POST | /<int:preset> | - | - | Switches to a specific preset. |
GET/POST | /reboot | - | - | Reboots the Preset Switcher software. |
HTTP API Example: Old szCmd
Command Format
For backward compatibility, the API also supports the old format using the szCmd
command. These requests must include port 3002 in the URL.
Example:
http://{IP}:3002/switch
Tip: Replace brackets with %
symbols in the browser URL.
Example API Call
http://192.168.5.50/api?szCmd={"SetENV":{"TeacherTracker":"on"}}
- TeacherTracker ON: Starts tracking mode.
- TeacherTracker OFF: Stops tracking mode.
Full API Commands
Command | URL | Function | Command Packet |
---|---|---|---|
Teacher Tracker ON | http://192.168.5.50/api?szCmd={"SetEnv": {"TeacherTracker": "on"}} | Enables Teacher Tracker. | on |
Teacher Tracker OFF | http://192.168.5.50/api?szCmd={"SetEnv": {"TeacherTracker": "off"}} | Disables Teacher Tracker. | off |
Privacy Mode ON | http://192.168.5.50/api?szCmd={"SetEnv": {"PrivacyMode": "on"}} | Activates Privacy Mode. | on |
Privacy Mode OFF | http://192.168.5.50/api?szCmd={"SetEnv": {"PrivacyMode": "off"}} | Deactivates Privacy Mode. | off |
Manual Control ON | http://192.168.5.50/api?szCmd={"SetEnv": {"ManualControl": "on"}} | Enables Manual Control. | on |
Manual Control OFF | http://192.168.5.50/api?szCmd={"SetEnv": {"ManualControl": "off"}} | Disables Manual Control. | off |
Switch Streams | http://192.168.5.50/api?szCmd={"SetEnv":{"ManualControl":"switch"}} | Switches between cameras. | switch |
Troubleshooting
If the API call fails:
- Check for typing errors or extra spaces.
- Ensure you are using the correct IP address of the CamDirector®.
- Ensure no white spaces exist between key values.
You can verify changes via the CamDirector® WebInterface.
This structure ensures clarity, making it easier for users to navigate and execute API commands effectively.