Can I import cameras from a CSV file?

Yes, you can upload a CSV file to configure, connect, disconnect, or delete your video streams. Especially when working with large lists of cameras in many locations, it's helpful to assemble the full inventory of camera/NVR/VMS streams in a worksheet for easy collaboration and versioning.

As the person importing the CSV file, you must have "Can Manage" permission on all accounts listed in the CSV file under the column named "user_email". You must include the required fields and use a blank space to remove certain field values. See How to create a CSV file.

  1. Open and Choose File:

  2. Select the CSV file that contains the definition of your video streams and press Upload File.

  3. Review the email confirmation that reports any rows skipped due to data validation errors after you see this message displayed when the upload has completed:

Required fields and permission

NOTE: the minimum required fields for successful import are listed below. When omitted, the local_camera_id is created automatically from the mac_address of the camera.

  1. user_email (which is the content owner's email address)
  2. box_mac_address
  3. mac_address (MAC of the camera, though this must be accurate only when using mac2ip rather than static ip_address)
  4. name (the camera name)
  5. username
  6. password
  7. rtsp_server
  8. rtsp_path
  9. local_camera_id (leave blank usually, but local_camera_id is required *only* when you need to differentiate among channels of an NVR that all share the NVR's same mac_address. For example, if your 16-channel NVR has MAC BEFE11223344, then you must specify a local_camera_id value for each channel like BEFE11223344.0, BEFE11223344.1, BEFE11223344.2, ...BEFE11223344.15)

The user signed-in and submitting the CSV to be imported must also have Can Manage permission each account specified by user_email in the CSV.

The import acts as a PATCH update to the account's cameras rather than as a replacement of all cameras, so you can import only a few rows to update a portion of your total cameras.

Removing values

For certain fields, Camio retains prior values when no value is specified in the CSV import. Therefore, to remove values from those fields, you must include a blank space to indicate that you really intend to remove any prior value for that field.

These are the fields that require a blank space to remove the field's value:

  1. ip_address
  2. labels
  3. event_auto_upload_query_filter
  4. img_y_size_extraction
  5. img_y_size_cover
  6. img_x_size_cover
  7. img_y_size
  8. img_x_size
  9. groups
  10. ffmpeg_segmentation_rotation_degrees
  11. transformation
  12. tile_id
  13. collimation_threshold

The optional "action" field

Your CSV import may optionally specify an "action" value. Typically, you'll never specify any value in this column, but there are two values used to address special cases:

  1. delete - this action value will permanently delete and disconnect the stream.
  2. update - the update action triggers a forced update of all the fields specified in the CSV import. This update action should never be required (typically the action field should always be empty), but this option is provided to correct synchronization errors between the cloud server and edge devices.


When you import the CSV using a tool like Google Sheets or Excel, make sure to turn off automatic number conversion to preserve the exact text of fields like stream and channel that may have leading zeros. The import sometimes strips the leading zeros if the column is not formatted as "Plain Text". For example, your channel "02" can become "2" and break the stream connection.



Have more questions? Submit a request