Fortinet white logo
Fortinet white logo

CameraVideoProfile

CameraVideoProfile

Video profiles.

Permissions required include Camera configuration.

HTTP Methods
  • GET

  • POST

  • PUT

  • DELETE

URL

For HTTP GET, use either:

  • https://HOST_OR_IP/api/v1/CameraVideoProfile/
  • https://HOST_OR_IP/api/v1/CameraVideoProfile/PROFILE_NAME/

For HTTPPOST, PUT, and DELETE, use:

  • https://HOST_OR_IP/api/v1/CameraVideoProfile/PROFILE_NAME/

where variables are:

  • PROFILE_NAME — Unique identifier of a specific resource, such as the video profile high-resolution

Request JSON

For HTTP GET or DELETE, leave the request body empty.

For HTTP POST, configure all required settings. For a list of available settings, use HTTP GET.

For HTTP PUT, configure only settings that you want to change. Omit others.

Response JSON

For HTTP PUT and POST, responses vary by which settings you changed.

For HTTP GET, responses vary by URL (collection vs. individual resource): For example, if you get a video profile, your response may look like this:

{
    "objectID": "CameraVideoProfile:high-resolution",
    "reqAction": 1,
    "nodePermission": 3,
    "mkey": "high-resolution",
    "management_mode": 0,
    "video_resolution": 9,
    "video_codec": 0,
    "video_fps": 15,
    "video_gop": 3,
    "video_bitrate_mode": 0,
    "video_bitrate": 2048,
    "video_max_bitrate": 2048,
    "video_quality": 1,
    "audio": true
}

where attributes are :

  • audio — Whether or not to include an audio track (if the camera has a microphone or audio input):

    • true — Enabled.

    • false — Disabled.

  • video_codec — . Valid values are:

    • 0 — Default.

    • 3 — H.264 AVC.

    • 4 — H.265 HEVC.

  • video_fps — Smoothness of motion in frames per second. Conventional video is 24 frames per second.

  • video_gop — Number of seconds between each reference frame in the group of pictures. Longer intervals save bandwidth, but slightly delay the start of live video streams. Valid values are:

    • 0 — Automatic.

    • 1 — 0.25 seconds.

    • 2 — 0.5 seconds.

    • 3 — 1 second.

    • 4 — 2 seconds.

    • 5 — 3 seconds.

    • 6 — 4 seconds.

  • video_resolution — Amount of detail in number of pixels. Lower resolutions have less detail but are faster to transmit. Higher resolutions produce a clearer image but require more bandwidth. A higher resolution is preferable if the camera is recording a large space, such as a parking lot, where small details like faces and license plates could be important. Valid values are:

    • 0 — Low.

    • 1 — Medium.

    • 2 — High.

    • 3 — Extra high.

    • 4 — 0.5 megapixels.

    • 5 — 1 megapixel.

    • 6 — 2 megapixels.

    • 7 — 3 megapixels.

    • 8 — 4 megapixels.

    • 9 — 5 megapixels.

    • 10 — 6 megapixels.

    • 11 — 9 megapixels.

    • 12 — 12 megapixels.

  • video_bitrate_mode — . Valid values are:

    • 0 — Variable. Automatically adjust the stream to the minimum bit rate required by the current video frames while maintaining video quality. Bitrate is less when there is less motion. This setting increases image noise.

    • 1 — Fixed. Manually specify a constant bit rate in video_bitrate. This guarantees calculated video retention time and bandwidth but might reduce image quality if, for example, if there is a sudden burst of motion, like rain or flashing lights.

    • 2 — Constrained. Automatically adjusts the stream to reduce the bitrate usage while recording less motion, and increasing bitrate while recording more motion. Unlike 0, however, you can set the maximum bitrate that the camera uses in video_max_bitrate.

  • video_bitrate — If video_bitrate_mode is 1, indicate the bitrate of the video.

  • video_max_bitrate — If video_bitrate_mode is 2, indicate the maximum bitrate of the video.

  • video_quality — If video_bitrate_mode is 0 or 2, indicate the target quality of the video. Valid values are:

    • 0 — Low.

    • 1 — Standard.

    • 2 — Good.

    • 3 — High.

    • 4 — Extra high.

Example: Modify the video frame rate

curl -X PUT -H "Content-Type:application/json" -d "{\"video_fps\":15}" -b cookie.txt https://HOST_OR_IP/api/v1/CameraVideoProfile/high-resolution
Tooltip

On Microsoft Windows with Command Prompt, inside the JSON data, you must put a backslash before each double straight quote ( \" ). For example (highlighted in bold):

-d "{\"video_fps\":15}"

Alternatively, you can input a JSON stream from another command.

If you do not, the command line may interpret each JSON attribute as CLI commands or arguments, resulting in various error messages depending on the sequential order of arguments and attributes.

Reserved characters and escape sequences vary by operating system and command line environment; Linux and Mac terminals often do not require this, and Microsoft PowerShell uses different escape sequences.

CameraVideoProfile

CameraVideoProfile

Video profiles.

Permissions required include Camera configuration.

HTTP Methods
  • GET

  • POST

  • PUT

  • DELETE

URL

For HTTP GET, use either:

  • https://HOST_OR_IP/api/v1/CameraVideoProfile/
  • https://HOST_OR_IP/api/v1/CameraVideoProfile/PROFILE_NAME/

For HTTPPOST, PUT, and DELETE, use:

  • https://HOST_OR_IP/api/v1/CameraVideoProfile/PROFILE_NAME/

where variables are:

  • PROFILE_NAME — Unique identifier of a specific resource, such as the video profile high-resolution

Request JSON

For HTTP GET or DELETE, leave the request body empty.

For HTTP POST, configure all required settings. For a list of available settings, use HTTP GET.

For HTTP PUT, configure only settings that you want to change. Omit others.

Response JSON

For HTTP PUT and POST, responses vary by which settings you changed.

For HTTP GET, responses vary by URL (collection vs. individual resource): For example, if you get a video profile, your response may look like this:

{
    "objectID": "CameraVideoProfile:high-resolution",
    "reqAction": 1,
    "nodePermission": 3,
    "mkey": "high-resolution",
    "management_mode": 0,
    "video_resolution": 9,
    "video_codec": 0,
    "video_fps": 15,
    "video_gop": 3,
    "video_bitrate_mode": 0,
    "video_bitrate": 2048,
    "video_max_bitrate": 2048,
    "video_quality": 1,
    "audio": true
}

where attributes are :

  • audio — Whether or not to include an audio track (if the camera has a microphone or audio input):

    • true — Enabled.

    • false — Disabled.

  • video_codec — . Valid values are:

    • 0 — Default.

    • 3 — H.264 AVC.

    • 4 — H.265 HEVC.

  • video_fps — Smoothness of motion in frames per second. Conventional video is 24 frames per second.

  • video_gop — Number of seconds between each reference frame in the group of pictures. Longer intervals save bandwidth, but slightly delay the start of live video streams. Valid values are:

    • 0 — Automatic.

    • 1 — 0.25 seconds.

    • 2 — 0.5 seconds.

    • 3 — 1 second.

    • 4 — 2 seconds.

    • 5 — 3 seconds.

    • 6 — 4 seconds.

  • video_resolution — Amount of detail in number of pixels. Lower resolutions have less detail but are faster to transmit. Higher resolutions produce a clearer image but require more bandwidth. A higher resolution is preferable if the camera is recording a large space, such as a parking lot, where small details like faces and license plates could be important. Valid values are:

    • 0 — Low.

    • 1 — Medium.

    • 2 — High.

    • 3 — Extra high.

    • 4 — 0.5 megapixels.

    • 5 — 1 megapixel.

    • 6 — 2 megapixels.

    • 7 — 3 megapixels.

    • 8 — 4 megapixels.

    • 9 — 5 megapixels.

    • 10 — 6 megapixels.

    • 11 — 9 megapixels.

    • 12 — 12 megapixels.

  • video_bitrate_mode — . Valid values are:

    • 0 — Variable. Automatically adjust the stream to the minimum bit rate required by the current video frames while maintaining video quality. Bitrate is less when there is less motion. This setting increases image noise.

    • 1 — Fixed. Manually specify a constant bit rate in video_bitrate. This guarantees calculated video retention time and bandwidth but might reduce image quality if, for example, if there is a sudden burst of motion, like rain or flashing lights.

    • 2 — Constrained. Automatically adjusts the stream to reduce the bitrate usage while recording less motion, and increasing bitrate while recording more motion. Unlike 0, however, you can set the maximum bitrate that the camera uses in video_max_bitrate.

  • video_bitrate — If video_bitrate_mode is 1, indicate the bitrate of the video.

  • video_max_bitrate — If video_bitrate_mode is 2, indicate the maximum bitrate of the video.

  • video_quality — If video_bitrate_mode is 0 or 2, indicate the target quality of the video. Valid values are:

    • 0 — Low.

    • 1 — Standard.

    • 2 — Good.

    • 3 — High.

    • 4 — Extra high.

Example: Modify the video frame rate

curl -X PUT -H "Content-Type:application/json" -d "{\"video_fps\":15}" -b cookie.txt https://HOST_OR_IP/api/v1/CameraVideoProfile/high-resolution
Tooltip

On Microsoft Windows with Command Prompt, inside the JSON data, you must put a backslash before each double straight quote ( \" ). For example (highlighted in bold):

-d "{\"video_fps\":15}"

Alternatively, you can input a JSON stream from another command.

If you do not, the command line may interpret each JSON attribute as CLI commands or arguments, resulting in various error messages depending on the sequential order of arguments and attributes.

Reserved characters and escape sequences vary by operating system and command line environment; Linux and Mac terminals often do not require this, and Microsoft PowerShell uses different escape sequences.