Skip to content

Wowza Video Intelligence Framework (VIF) REST API

The Video Intelligence Framework (VIF) adds real-time, AI-powered object detection, scene analysis, and event-driven intelligence to live video streams running on Wowza Streaming Engine (WSE).

This REST API lets you inspect system and per-stream status, read and update the default configuration, manage the active (in-memory) and saved (on-disk) configuration of individual streams, and retrieve annotated thumbnails.

Configuration hierarchy

Settings cascade through three levels of increasing specificity: Defaults (/v1/{server}/plugin/vif/config) → Stream patternSingle stream. A more specific setting overrides a less specific one.

Active vs. saved configuration

  • Active config (/v1/{server}/plugin/vif/applications/{appName}/streams/{streamName}) is the configuration currently applied in memory to a running stream. Supports GET and PUT.

  • Saved config (/v1/{server}/plugin/vif/applications/{appName}/streams/{streamName}/config) is the persisted configuration in video-intelligence.json. Supports GET, PUT, POST, and DELETE.

Authentication

All requests use HTTP Basic authentication with Wowza Streaming Engine Manager credentials.

Download OpenAPI description
Languages
Servers
Local Wowza Streaming Engine REST API
http://localhost:8087
Custom Wowza Streaming Engine host
http://{host}:{port}

Status & Health

Monitor VIF system and per-stream health and performance.

Operations

Configuration

Read and update the default VIF configuration.

Operations

Stream Management

Manage the active and saved configuration of individual streams.

Operations

Get active stream configuration

Request

Returns the configuration currently applied in memory to the running stream. The stream name may be a specific stream or a stream pattern (regex).

Security
basicAuth
Path
serverstringrequired

WSE server name. Any value is accepted; commonly _defaultServer_.

Default "_defaultServer_"
appNamestringrequired

Name of the Wowza application the stream is running on (e.g. live).

streamNamestringrequired

Stream name or a stream pattern (regex) used to match streams, e.g. objects.*.

curl -i -X GET \
  -u <username>:<password> \
  'http://localhost:8087/v1/http://localhost:8087/plugin/vif/applications/{appName}/streams/{streamName}'

Responses

Active configuration returned successfully.

Bodyapplication/json
activeboolean

Set to true to register WSE with the VI service.

Default false
vi_servicestring or null

WebSocket endpoint for the VI service, e.g. ws://HOST:PORT/ws/stream/.

vi_service_api_keystring or null

API key for authentication with the VI service.

app_namestring or null

Per-stream application name. If blank, applies to all applications.

stream_namestring or null

Stream name or regex pattern to match incoming streams, e.g. objects.*.

vif_event_listenersArray of EventListener (objects) or object

Array (or map) of VIF event listeners to trigger.

One of:

Array (or map) of VIF event listeners to trigger.

rollup_batch_intervalinteger

Seconds to hold detections for rollup and batch events.

Default 2
grayscaledboolean

Send/process frames as grayscale to reduce latency and traffic.

Default false
landscape_videoboolean

Whether the video is in landscape orientation.

Default true
object_analysisobject(ObjectAnalysis)

Object-detection configuration.

scene_analysisobject(SceneAnalysis)

Scene/VLM analysis configuration.

ignore_untracked_objectsboolean

Ignore untracked objects when a tracking_method is set.

Default false
frame_bufferinteger

Size of the frame buffer holding frames to send to the VIF service.

Default 10
catch_up_to_liveboolean

Scene/VLM only. When inference stays slower than real-time, skip the stale buffered backlog and resume at the live edge instead of letting latency grow.

Default true
catch_up_max_behind_secondsnumber or null

Scene/VLM only. How far behind live (seconds) detections may fall before catch-up skips to live. Unset derives to the buffer headroom (~2s).

auto_frame_throttleboolean

Opt-in frame-rate throttle (all modes): reduce inference_fps when inference falls behind. Renamed from auto_scene_frame_throttle (still accepted on read).

Default false
use_transcoderboolean

Use the transcoder to grab frames.

Default true
inference_fpsinteger

Frames per second sent to inferencing when use_transcoder is true.

Default -1
inference_video_heightinteger

Height of the video to be inferenced. -1 = source, 0 = model, >0 actual value.

Default -1
frame_grab_intervalinteger

Seconds between grabbing a frame when use_transcoder is false.

Default 1
skip_framesinteger

Process every Nth frame.

save_imagesboolean

Debug: save frames from the transcoder to /tmp/vif/<stream_name>.

Default false
log_timinginteger

Debug: seconds between writing timing metrics. 0 disables.

Default 0
log_max_messagesinteger

Debug: max log messages to write for vif/ws/wss. -1 all, 0 disabled.

Default 0
streamsArray of objects(VifConfig)

Per-stream configuration overrides.

property name*anyadditional property
Response
application/json
{ "active": false, "vi_service": "string", "vi_service_api_key": "string", "app_name": "string", "stream_name": "string", "vif_event_listeners": [ {} ], "rollup_batch_interval": 2, "grayscaled": false, "landscape_video": true, "object_analysis": { "model_name": "small", "class_names": [], "confidence_threshold": 1, "tracking_method": "byte_track", "byte_track_properties": {} }, "scene_analysis": { "class_names": [], "type": "string", "sensitivity": 0, "confidence_threshold": 1 }, "ignore_untracked_objects": false, "frame_buffer": 10, "catch_up_to_live": true, "catch_up_max_behind_seconds": 0, "auto_frame_throttle": false, "use_transcoder": true, "inference_fps": -1, "inference_video_height": -1, "frame_grab_interval": 1, "skip_frames": 0, "save_images": false, "log_timing": 0, "log_max_messages": 0, "streams": [ {} ] }

Update active stream configuration

Request

Updates the in-memory configuration for a running stream (highest priority in the configuration hierarchy). Commonly used to enable/disable VIF on a stream or adjust detection parameters on the fly. Send only the fields you want to change.

Security
basicAuth
Path
serverstringrequired

WSE server name. Any value is accepted; commonly _defaultServer_.

Default "_defaultServer_"
appNamestringrequired

Name of the Wowza application the stream is running on (e.g. live).

streamNamestringrequired

Stream name or a stream pattern (regex) used to match streams, e.g. objects.*.

Bodyapplication/jsonrequired
activeboolean

Set to true to register WSE with the VI service.

Default false
vi_servicestring or null

WebSocket endpoint for the VI service, e.g. ws://HOST:PORT/ws/stream/.

vi_service_api_keystring or null

API key for authentication with the VI service.

app_namestring or null

Per-stream application name. If blank, applies to all applications.

stream_namestring or null

Stream name or regex pattern to match incoming streams, e.g. objects.*.

vif_event_listenersArray of EventListener (objects) or object

Array (or map) of VIF event listeners to trigger.

One of:

Array (or map) of VIF event listeners to trigger.

rollup_batch_intervalinteger

Seconds to hold detections for rollup and batch events.

Default 2
grayscaledboolean

Send/process frames as grayscale to reduce latency and traffic.

Default false
landscape_videoboolean

Whether the video is in landscape orientation.

Default true
object_analysisobject(ObjectAnalysis)

Object-detection configuration.

scene_analysisobject(SceneAnalysis)

Scene/VLM analysis configuration.

ignore_untracked_objectsboolean

Ignore untracked objects when a tracking_method is set.

Default false
frame_bufferinteger

Size of the frame buffer holding frames to send to the VIF service.

Default 10
catch_up_to_liveboolean

Scene/VLM only. When inference stays slower than real-time, skip the stale buffered backlog and resume at the live edge instead of letting latency grow.

Default true
catch_up_max_behind_secondsnumber or null

Scene/VLM only. How far behind live (seconds) detections may fall before catch-up skips to live. Unset derives to the buffer headroom (~2s).

auto_frame_throttleboolean

Opt-in frame-rate throttle (all modes): reduce inference_fps when inference falls behind. Renamed from auto_scene_frame_throttle (still accepted on read).

Default false
use_transcoderboolean

Use the transcoder to grab frames.

Default true
inference_fpsinteger

Frames per second sent to inferencing when use_transcoder is true.

Default -1
inference_video_heightinteger

Height of the video to be inferenced. -1 = source, 0 = model, >0 actual value.

Default -1
frame_grab_intervalinteger

Seconds between grabbing a frame when use_transcoder is false.

Default 1
skip_framesinteger

Process every Nth frame.

save_imagesboolean

Debug: save frames from the transcoder to /tmp/vif/<stream_name>.

Default false
log_timinginteger

Debug: seconds between writing timing metrics. 0 disables.

Default 0
log_max_messagesinteger

Debug: max log messages to write for vif/ws/wss. -1 all, 0 disabled.

Default 0
streamsArray of objects(VifConfig)

Per-stream configuration overrides.

property name*anyadditional property
curl -i -X PUT \
  -u <username>:<password> \
  'http://localhost:8087/v1/http://localhost:8087/plugin/vif/applications/{appName}/streams/{streamName}' \
  -H 'Content-Type: application/json' \
  -d '{
    "active": "true"
  }'

Responses

Active configuration updated successfully.

Bodyapplication/json
activeboolean

Set to true to register WSE with the VI service.

Default false
vi_servicestring or null

WebSocket endpoint for the VI service, e.g. ws://HOST:PORT/ws/stream/.

vi_service_api_keystring or null

API key for authentication with the VI service.

app_namestring or null

Per-stream application name. If blank, applies to all applications.

stream_namestring or null

Stream name or regex pattern to match incoming streams, e.g. objects.*.

vif_event_listenersArray of EventListener (objects) or object

Array (or map) of VIF event listeners to trigger.

One of:

Array (or map) of VIF event listeners to trigger.

rollup_batch_intervalinteger

Seconds to hold detections for rollup and batch events.

Default 2
grayscaledboolean

Send/process frames as grayscale to reduce latency and traffic.

Default false
landscape_videoboolean

Whether the video is in landscape orientation.

Default true
object_analysisobject(ObjectAnalysis)

Object-detection configuration.

scene_analysisobject(SceneAnalysis)

Scene/VLM analysis configuration.

ignore_untracked_objectsboolean

Ignore untracked objects when a tracking_method is set.

Default false
frame_bufferinteger

Size of the frame buffer holding frames to send to the VIF service.

Default 10
catch_up_to_liveboolean

Scene/VLM only. When inference stays slower than real-time, skip the stale buffered backlog and resume at the live edge instead of letting latency grow.

Default true
catch_up_max_behind_secondsnumber or null

Scene/VLM only. How far behind live (seconds) detections may fall before catch-up skips to live. Unset derives to the buffer headroom (~2s).

auto_frame_throttleboolean

Opt-in frame-rate throttle (all modes): reduce inference_fps when inference falls behind. Renamed from auto_scene_frame_throttle (still accepted on read).

Default false
use_transcoderboolean

Use the transcoder to grab frames.

Default true
inference_fpsinteger

Frames per second sent to inferencing when use_transcoder is true.

Default -1
inference_video_heightinteger

Height of the video to be inferenced. -1 = source, 0 = model, >0 actual value.

Default -1
frame_grab_intervalinteger

Seconds between grabbing a frame when use_transcoder is false.

Default 1
skip_framesinteger

Process every Nth frame.

save_imagesboolean

Debug: save frames from the transcoder to /tmp/vif/<stream_name>.

Default false
log_timinginteger

Debug: seconds between writing timing metrics. 0 disables.

Default 0
log_max_messagesinteger

Debug: max log messages to write for vif/ws/wss. -1 all, 0 disabled.

Default 0
streamsArray of objects(VifConfig)

Per-stream configuration overrides.

property name*anyadditional property
Response
application/json
{ "active": false, "vi_service": "string", "vi_service_api_key": "string", "app_name": "string", "stream_name": "string", "vif_event_listeners": [ {} ], "rollup_batch_interval": 2, "grayscaled": false, "landscape_video": true, "object_analysis": { "model_name": "small", "class_names": [], "confidence_threshold": 1, "tracking_method": "byte_track", "byte_track_properties": {} }, "scene_analysis": { "class_names": [], "type": "string", "sensitivity": 0, "confidence_threshold": 1 }, "ignore_untracked_objects": false, "frame_buffer": 10, "catch_up_to_live": true, "catch_up_max_behind_seconds": 0, "auto_frame_throttle": false, "use_transcoder": true, "inference_fps": -1, "inference_video_height": -1, "frame_grab_interval": 1, "skip_frames": 0, "save_images": false, "log_timing": 0, "log_max_messages": 0, "streams": [ {} ] }

Get saved stream configuration

Request

Returns the persisted (on-disk) configuration for the stream or stream pattern.

Security
basicAuth
Path
serverstringrequired

WSE server name. Any value is accepted; commonly _defaultServer_.

Default "_defaultServer_"
appNamestringrequired

Name of the Wowza application the stream is running on (e.g. live).

streamNamestringrequired

Stream name or a stream pattern (regex) used to match streams, e.g. objects.*.

curl -i -X GET \
  -u <username>:<password> \
  'http://localhost:8087/v1/http://localhost:8087/plugin/vif/applications/{appName}/streams/{streamName}/config'

Responses

Saved configuration returned successfully.

Bodyapplication/json
activeboolean

Set to true to register WSE with the VI service.

Default false
vi_servicestring or null

WebSocket endpoint for the VI service, e.g. ws://HOST:PORT/ws/stream/.

vi_service_api_keystring or null

API key for authentication with the VI service.

app_namestring or null

Per-stream application name. If blank, applies to all applications.

stream_namestring or null

Stream name or regex pattern to match incoming streams, e.g. objects.*.

vif_event_listenersArray of EventListener (objects) or object

Array (or map) of VIF event listeners to trigger.

One of:

Array (or map) of VIF event listeners to trigger.

rollup_batch_intervalinteger

Seconds to hold detections for rollup and batch events.

Default 2
grayscaledboolean

Send/process frames as grayscale to reduce latency and traffic.

Default false
landscape_videoboolean

Whether the video is in landscape orientation.

Default true
object_analysisobject(ObjectAnalysis)

Object-detection configuration.

scene_analysisobject(SceneAnalysis)

Scene/VLM analysis configuration.

ignore_untracked_objectsboolean

Ignore untracked objects when a tracking_method is set.

Default false
frame_bufferinteger

Size of the frame buffer holding frames to send to the VIF service.

Default 10
catch_up_to_liveboolean

Scene/VLM only. When inference stays slower than real-time, skip the stale buffered backlog and resume at the live edge instead of letting latency grow.

Default true
catch_up_max_behind_secondsnumber or null

Scene/VLM only. How far behind live (seconds) detections may fall before catch-up skips to live. Unset derives to the buffer headroom (~2s).

auto_frame_throttleboolean

Opt-in frame-rate throttle (all modes): reduce inference_fps when inference falls behind. Renamed from auto_scene_frame_throttle (still accepted on read).

Default false
use_transcoderboolean

Use the transcoder to grab frames.

Default true
inference_fpsinteger

Frames per second sent to inferencing when use_transcoder is true.

Default -1
inference_video_heightinteger

Height of the video to be inferenced. -1 = source, 0 = model, >0 actual value.

Default -1
frame_grab_intervalinteger

Seconds between grabbing a frame when use_transcoder is false.

Default 1
skip_framesinteger

Process every Nth frame.

save_imagesboolean

Debug: save frames from the transcoder to /tmp/vif/<stream_name>.

Default false
log_timinginteger

Debug: seconds between writing timing metrics. 0 disables.

Default 0
log_max_messagesinteger

Debug: max log messages to write for vif/ws/wss. -1 all, 0 disabled.

Default 0
streamsArray of objects(VifConfig)

Per-stream configuration overrides.

property name*anyadditional property
Response
application/json
{ "active": false, "vi_service": "string", "vi_service_api_key": "string", "app_name": "string", "stream_name": "string", "vif_event_listeners": [ {} ], "rollup_batch_interval": 2, "grayscaled": false, "landscape_video": true, "object_analysis": { "model_name": "small", "class_names": [], "confidence_threshold": 1, "tracking_method": "byte_track", "byte_track_properties": {} }, "scene_analysis": { "class_names": [], "type": "string", "sensitivity": 0, "confidence_threshold": 1 }, "ignore_untracked_objects": false, "frame_buffer": 10, "catch_up_to_live": true, "catch_up_max_behind_seconds": 0, "auto_frame_throttle": false, "use_transcoder": true, "inference_fps": -1, "inference_video_height": -1, "frame_grab_interval": 1, "skip_frames": 0, "save_images": false, "log_timing": 0, "log_max_messages": 0, "streams": [ {} ] }

Update saved stream configuration

Request

Merges the supplied fields into the persisted configuration for the stream or stream pattern. Send only the fields you want to change.

Security
basicAuth
Path
serverstringrequired

WSE server name. Any value is accepted; commonly _defaultServer_.

Default "_defaultServer_"
appNamestringrequired

Name of the Wowza application the stream is running on (e.g. live).

streamNamestringrequired

Stream name or a stream pattern (regex) used to match streams, e.g. objects.*.

Bodyapplication/jsonrequired
activeboolean

Set to true to register WSE with the VI service.

Default false
vi_servicestring or null

WebSocket endpoint for the VI service, e.g. ws://HOST:PORT/ws/stream/.

vi_service_api_keystring or null

API key for authentication with the VI service.

app_namestring or null

Per-stream application name. If blank, applies to all applications.

stream_namestring or null

Stream name or regex pattern to match incoming streams, e.g. objects.*.

vif_event_listenersArray of EventListener (objects) or object

Array (or map) of VIF event listeners to trigger.

One of:

Array (or map) of VIF event listeners to trigger.

rollup_batch_intervalinteger

Seconds to hold detections for rollup and batch events.

Default 2
grayscaledboolean

Send/process frames as grayscale to reduce latency and traffic.

Default false
landscape_videoboolean

Whether the video is in landscape orientation.

Default true
object_analysisobject(ObjectAnalysis)

Object-detection configuration.

scene_analysisobject(SceneAnalysis)

Scene/VLM analysis configuration.

ignore_untracked_objectsboolean

Ignore untracked objects when a tracking_method is set.

Default false
frame_bufferinteger

Size of the frame buffer holding frames to send to the VIF service.

Default 10
catch_up_to_liveboolean

Scene/VLM only. When inference stays slower than real-time, skip the stale buffered backlog and resume at the live edge instead of letting latency grow.

Default true
catch_up_max_behind_secondsnumber or null

Scene/VLM only. How far behind live (seconds) detections may fall before catch-up skips to live. Unset derives to the buffer headroom (~2s).

auto_frame_throttleboolean

Opt-in frame-rate throttle (all modes): reduce inference_fps when inference falls behind. Renamed from auto_scene_frame_throttle (still accepted on read).

Default false
use_transcoderboolean

Use the transcoder to grab frames.

Default true
inference_fpsinteger

Frames per second sent to inferencing when use_transcoder is true.

Default -1
inference_video_heightinteger

Height of the video to be inferenced. -1 = source, 0 = model, >0 actual value.

Default -1
frame_grab_intervalinteger

Seconds between grabbing a frame when use_transcoder is false.

Default 1
skip_framesinteger

Process every Nth frame.

save_imagesboolean

Debug: save frames from the transcoder to /tmp/vif/<stream_name>.

Default false
log_timinginteger

Debug: seconds between writing timing metrics. 0 disables.

Default 0
log_max_messagesinteger

Debug: max log messages to write for vif/ws/wss. -1 all, 0 disabled.

Default 0
streamsArray of objects(VifConfig)

Per-stream configuration overrides.

property name*anyadditional property
curl -i -X PUT \
  -u <username>:<password> \
  'http://localhost:8087/v1/http://localhost:8087/plugin/vif/applications/{appName}/streams/{streamName}/config' \
  -H 'Content-Type: application/json' \
  -d '{
    "active": "false"
  }'

Responses

Saved configuration updated successfully.

Bodyapplication/json
activeboolean

Set to true to register WSE with the VI service.

Default false
vi_servicestring or null

WebSocket endpoint for the VI service, e.g. ws://HOST:PORT/ws/stream/.

vi_service_api_keystring or null

API key for authentication with the VI service.

app_namestring or null

Per-stream application name. If blank, applies to all applications.

stream_namestring or null

Stream name or regex pattern to match incoming streams, e.g. objects.*.

vif_event_listenersArray of EventListener (objects) or object

Array (or map) of VIF event listeners to trigger.

One of:

Array (or map) of VIF event listeners to trigger.

rollup_batch_intervalinteger

Seconds to hold detections for rollup and batch events.

Default 2
grayscaledboolean

Send/process frames as grayscale to reduce latency and traffic.

Default false
landscape_videoboolean

Whether the video is in landscape orientation.

Default true
object_analysisobject(ObjectAnalysis)

Object-detection configuration.

scene_analysisobject(SceneAnalysis)

Scene/VLM analysis configuration.

ignore_untracked_objectsboolean

Ignore untracked objects when a tracking_method is set.

Default false
frame_bufferinteger

Size of the frame buffer holding frames to send to the VIF service.

Default 10
catch_up_to_liveboolean

Scene/VLM only. When inference stays slower than real-time, skip the stale buffered backlog and resume at the live edge instead of letting latency grow.

Default true
catch_up_max_behind_secondsnumber or null

Scene/VLM only. How far behind live (seconds) detections may fall before catch-up skips to live. Unset derives to the buffer headroom (~2s).

auto_frame_throttleboolean

Opt-in frame-rate throttle (all modes): reduce inference_fps when inference falls behind. Renamed from auto_scene_frame_throttle (still accepted on read).

Default false
use_transcoderboolean

Use the transcoder to grab frames.

Default true
inference_fpsinteger

Frames per second sent to inferencing when use_transcoder is true.

Default -1
inference_video_heightinteger

Height of the video to be inferenced. -1 = source, 0 = model, >0 actual value.

Default -1
frame_grab_intervalinteger

Seconds between grabbing a frame when use_transcoder is false.

Default 1
skip_framesinteger

Process every Nth frame.

save_imagesboolean

Debug: save frames from the transcoder to /tmp/vif/<stream_name>.

Default false
log_timinginteger

Debug: seconds between writing timing metrics. 0 disables.

Default 0
log_max_messagesinteger

Debug: max log messages to write for vif/ws/wss. -1 all, 0 disabled.

Default 0
streamsArray of objects(VifConfig)

Per-stream configuration overrides.

property name*anyadditional property
Response
application/json
{ "active": false, "vi_service": "string", "vi_service_api_key": "string", "app_name": "string", "stream_name": "string", "vif_event_listeners": [ {} ], "rollup_batch_interval": 2, "grayscaled": false, "landscape_video": true, "object_analysis": { "model_name": "small", "class_names": [], "confidence_threshold": 1, "tracking_method": "byte_track", "byte_track_properties": {} }, "scene_analysis": { "class_names": [], "type": "string", "sensitivity": 0, "confidence_threshold": 1 }, "ignore_untracked_objects": false, "frame_buffer": 10, "catch_up_to_live": true, "catch_up_max_behind_seconds": 0, "auto_frame_throttle": false, "use_transcoder": true, "inference_fps": -1, "inference_video_height": -1, "frame_grab_interval": 1, "skip_frames": 0, "save_images": false, "log_timing": 0, "log_max_messages": 0, "streams": [ {} ] }

Create saved stream configuration

Request

Creates a new persisted configuration entry for the stream or stream pattern. Use this to add a new per-stream configuration to video-intelligence.json.

Security
basicAuth
Path
serverstringrequired

WSE server name. Any value is accepted; commonly _defaultServer_.

Default "_defaultServer_"
appNamestringrequired

Name of the Wowza application the stream is running on (e.g. live).

streamNamestringrequired

Stream name or a stream pattern (regex) used to match streams, e.g. objects.*.

Bodyapplication/jsonrequired
activeboolean

Set to true to register WSE with the VI service.

Default false
vi_servicestring or null

WebSocket endpoint for the VI service, e.g. ws://HOST:PORT/ws/stream/.

vi_service_api_keystring or null

API key for authentication with the VI service.

app_namestring or null

Per-stream application name. If blank, applies to all applications.

stream_namestring or null

Stream name or regex pattern to match incoming streams, e.g. objects.*.

vif_event_listenersArray of EventListener (objects) or object

Array (or map) of VIF event listeners to trigger.

One of:

Array (or map) of VIF event listeners to trigger.

rollup_batch_intervalinteger

Seconds to hold detections for rollup and batch events.

Default 2
grayscaledboolean

Send/process frames as grayscale to reduce latency and traffic.

Default false
landscape_videoboolean

Whether the video is in landscape orientation.

Default true
object_analysisobject(ObjectAnalysis)

Object-detection configuration.

scene_analysisobject(SceneAnalysis)

Scene/VLM analysis configuration.

ignore_untracked_objectsboolean

Ignore untracked objects when a tracking_method is set.

Default false
frame_bufferinteger

Size of the frame buffer holding frames to send to the VIF service.

Default 10
catch_up_to_liveboolean

Scene/VLM only. When inference stays slower than real-time, skip the stale buffered backlog and resume at the live edge instead of letting latency grow.

Default true
catch_up_max_behind_secondsnumber or null

Scene/VLM only. How far behind live (seconds) detections may fall before catch-up skips to live. Unset derives to the buffer headroom (~2s).

auto_frame_throttleboolean

Opt-in frame-rate throttle (all modes): reduce inference_fps when inference falls behind. Renamed from auto_scene_frame_throttle (still accepted on read).

Default false
use_transcoderboolean

Use the transcoder to grab frames.

Default true
inference_fpsinteger

Frames per second sent to inferencing when use_transcoder is true.

Default -1
inference_video_heightinteger

Height of the video to be inferenced. -1 = source, 0 = model, >0 actual value.

Default -1
frame_grab_intervalinteger

Seconds between grabbing a frame when use_transcoder is false.

Default 1
skip_framesinteger

Process every Nth frame.

save_imagesboolean

Debug: save frames from the transcoder to /tmp/vif/<stream_name>.

Default false
log_timinginteger

Debug: seconds between writing timing metrics. 0 disables.

Default 0
log_max_messagesinteger

Debug: max log messages to write for vif/ws/wss. -1 all, 0 disabled.

Default 0
streamsArray of objects(VifConfig)

Per-stream configuration overrides.

property name*anyadditional property
curl -i -X POST \
  -u <username>:<password> \
  'http://localhost:8087/v1/http://localhost:8087/plugin/vif/applications/{appName}/streams/{streamName}/config' \
  -H 'Content-Type: application/json' \
  -d '{
    "active": true,
    "stream_name": "objects.*",
    "object_analysis": {
      "class_names": [
        "person",
        "car",
        "truck"
      ],
      "confidence_threshold": 0.5
    }
  }'

Responses

Saved configuration created successfully.

Bodyapplication/json
activeboolean

Set to true to register WSE with the VI service.

Default false
vi_servicestring or null

WebSocket endpoint for the VI service, e.g. ws://HOST:PORT/ws/stream/.

vi_service_api_keystring or null

API key for authentication with the VI service.

app_namestring or null

Per-stream application name. If blank, applies to all applications.

stream_namestring or null

Stream name or regex pattern to match incoming streams, e.g. objects.*.

vif_event_listenersArray of EventListener (objects) or object

Array (or map) of VIF event listeners to trigger.

One of:

Array (or map) of VIF event listeners to trigger.

rollup_batch_intervalinteger

Seconds to hold detections for rollup and batch events.

Default 2
grayscaledboolean

Send/process frames as grayscale to reduce latency and traffic.

Default false
landscape_videoboolean

Whether the video is in landscape orientation.

Default true
object_analysisobject(ObjectAnalysis)

Object-detection configuration.

scene_analysisobject(SceneAnalysis)

Scene/VLM analysis configuration.

ignore_untracked_objectsboolean

Ignore untracked objects when a tracking_method is set.

Default false
frame_bufferinteger

Size of the frame buffer holding frames to send to the VIF service.

Default 10
catch_up_to_liveboolean

Scene/VLM only. When inference stays slower than real-time, skip the stale buffered backlog and resume at the live edge instead of letting latency grow.

Default true
catch_up_max_behind_secondsnumber or null

Scene/VLM only. How far behind live (seconds) detections may fall before catch-up skips to live. Unset derives to the buffer headroom (~2s).

auto_frame_throttleboolean

Opt-in frame-rate throttle (all modes): reduce inference_fps when inference falls behind. Renamed from auto_scene_frame_throttle (still accepted on read).

Default false
use_transcoderboolean

Use the transcoder to grab frames.

Default true
inference_fpsinteger

Frames per second sent to inferencing when use_transcoder is true.

Default -1
inference_video_heightinteger

Height of the video to be inferenced. -1 = source, 0 = model, >0 actual value.

Default -1
frame_grab_intervalinteger

Seconds between grabbing a frame when use_transcoder is false.

Default 1
skip_framesinteger

Process every Nth frame.

save_imagesboolean

Debug: save frames from the transcoder to /tmp/vif/<stream_name>.

Default false
log_timinginteger

Debug: seconds between writing timing metrics. 0 disables.

Default 0
log_max_messagesinteger

Debug: max log messages to write for vif/ws/wss. -1 all, 0 disabled.

Default 0
streamsArray of objects(VifConfig)

Per-stream configuration overrides.

property name*anyadditional property
Response
application/json
{ "active": false, "vi_service": "string", "vi_service_api_key": "string", "app_name": "string", "stream_name": "string", "vif_event_listeners": [ {} ], "rollup_batch_interval": 2, "grayscaled": false, "landscape_video": true, "object_analysis": { "model_name": "small", "class_names": [], "confidence_threshold": 1, "tracking_method": "byte_track", "byte_track_properties": {} }, "scene_analysis": { "class_names": [], "type": "string", "sensitivity": 0, "confidence_threshold": 1 }, "ignore_untracked_objects": false, "frame_buffer": 10, "catch_up_to_live": true, "catch_up_max_behind_seconds": 0, "auto_frame_throttle": false, "use_transcoder": true, "inference_fps": -1, "inference_video_height": -1, "frame_grab_interval": 1, "skip_frames": 0, "save_images": false, "log_timing": 0, "log_max_messages": 0, "streams": [ {} ] }

Delete saved stream configuration

Request

Removes the persisted configuration entry for the stream or stream pattern.

Security
basicAuth
Path
serverstringrequired

WSE server name. Any value is accepted; commonly _defaultServer_.

Default "_defaultServer_"
appNamestringrequired

Name of the Wowza application the stream is running on (e.g. live).

streamNamestringrequired

Stream name or a stream pattern (regex) used to match streams, e.g. objects.*.

curl -i -X DELETE \
  -u <username>:<password> \
  'http://localhost:8087/v1/http://localhost:8087/plugin/vif/applications/{appName}/streams/{streamName}/config'

Responses

Saved configuration deleted successfully.

Bodyapplication/json
statusstringrequired
messagestring
Response
application/json
{ "status": "success", "message": "string" }

Get saved stream configuration (vhost/instance qualified)

Request

Fully qualified variant of the saved-configuration endpoint that explicitly specifies the virtual host and application instance. Defaults are _defaultVHost_ and _definst_.

Security
basicAuth
Path
serverstringrequired

WSE server name. Any value is accepted; commonly _defaultServer_.

Default "_defaultServer_"
vhoststringrequired

Virtual host name. Defaults to _defaultVHost_.

Default "_defaultVHost_"
appNamestringrequired

Name of the Wowza application the stream is running on (e.g. live).

instancestringrequired

Application instance name. Defaults to _definst_.

Default "_definst_"
streamNamestringrequired

Stream name or a stream pattern (regex) used to match streams, e.g. objects.*.

curl -i -X GET \
  -u <username>:<password> \
  'http://localhost:8087/v1/http://localhost:8087/plugin/vif/vhosts/{vhost}/applications/{appName}/instances/{instance}/streams/{streamName}/config'

Responses

Saved configuration returned successfully.

Bodyapplication/json
activeboolean

Set to true to register WSE with the VI service.

Default false
vi_servicestring or null

WebSocket endpoint for the VI service, e.g. ws://HOST:PORT/ws/stream/.

vi_service_api_keystring or null

API key for authentication with the VI service.

app_namestring or null

Per-stream application name. If blank, applies to all applications.

stream_namestring or null

Stream name or regex pattern to match incoming streams, e.g. objects.*.

vif_event_listenersArray of EventListener (objects) or object

Array (or map) of VIF event listeners to trigger.

One of:

Array (or map) of VIF event listeners to trigger.

rollup_batch_intervalinteger

Seconds to hold detections for rollup and batch events.

Default 2
grayscaledboolean

Send/process frames as grayscale to reduce latency and traffic.

Default false
landscape_videoboolean

Whether the video is in landscape orientation.

Default true
object_analysisobject(ObjectAnalysis)

Object-detection configuration.

scene_analysisobject(SceneAnalysis)

Scene/VLM analysis configuration.

ignore_untracked_objectsboolean

Ignore untracked objects when a tracking_method is set.

Default false
frame_bufferinteger

Size of the frame buffer holding frames to send to the VIF service.

Default 10
catch_up_to_liveboolean

Scene/VLM only. When inference stays slower than real-time, skip the stale buffered backlog and resume at the live edge instead of letting latency grow.

Default true
catch_up_max_behind_secondsnumber or null

Scene/VLM only. How far behind live (seconds) detections may fall before catch-up skips to live. Unset derives to the buffer headroom (~2s).

auto_frame_throttleboolean

Opt-in frame-rate throttle (all modes): reduce inference_fps when inference falls behind. Renamed from auto_scene_frame_throttle (still accepted on read).

Default false
use_transcoderboolean

Use the transcoder to grab frames.

Default true
inference_fpsinteger

Frames per second sent to inferencing when use_transcoder is true.

Default -1
inference_video_heightinteger

Height of the video to be inferenced. -1 = source, 0 = model, >0 actual value.

Default -1
frame_grab_intervalinteger

Seconds between grabbing a frame when use_transcoder is false.

Default 1
skip_framesinteger

Process every Nth frame.

save_imagesboolean

Debug: save frames from the transcoder to /tmp/vif/<stream_name>.

Default false
log_timinginteger

Debug: seconds between writing timing metrics. 0 disables.

Default 0
log_max_messagesinteger

Debug: max log messages to write for vif/ws/wss. -1 all, 0 disabled.

Default 0
streamsArray of objects(VifConfig)

Per-stream configuration overrides.

property name*anyadditional property
Response
application/json
{ "active": false, "vi_service": "string", "vi_service_api_key": "string", "app_name": "string", "stream_name": "string", "vif_event_listeners": [ {} ], "rollup_batch_interval": 2, "grayscaled": false, "landscape_video": true, "object_analysis": { "model_name": "small", "class_names": [], "confidence_threshold": 1, "tracking_method": "byte_track", "byte_track_properties": {} }, "scene_analysis": { "class_names": [], "type": "string", "sensitivity": 0, "confidence_threshold": 1 }, "ignore_untracked_objects": false, "frame_buffer": 10, "catch_up_to_live": true, "catch_up_max_behind_seconds": 0, "auto_frame_throttle": false, "use_transcoder": true, "inference_fps": -1, "inference_video_height": -1, "frame_grab_interval": 1, "skip_frames": 0, "save_images": false, "log_timing": 0, "log_max_messages": 0, "streams": [ {} ] }

Update saved stream configuration (vhost/instance qualified)

Request

Security
basicAuth
Path
serverstringrequired

WSE server name. Any value is accepted; commonly _defaultServer_.

Default "_defaultServer_"
vhoststringrequired

Virtual host name. Defaults to _defaultVHost_.

Default "_defaultVHost_"
appNamestringrequired

Name of the Wowza application the stream is running on (e.g. live).

instancestringrequired

Application instance name. Defaults to _definst_.

Default "_definst_"
streamNamestringrequired

Stream name or a stream pattern (regex) used to match streams, e.g. objects.*.

Bodyapplication/jsonrequired
activeboolean

Set to true to register WSE with the VI service.

Default false
vi_servicestring or null

WebSocket endpoint for the VI service, e.g. ws://HOST:PORT/ws/stream/.

vi_service_api_keystring or null

API key for authentication with the VI service.

app_namestring or null

Per-stream application name. If blank, applies to all applications.

stream_namestring or null

Stream name or regex pattern to match incoming streams, e.g. objects.*.

vif_event_listenersArray of EventListener (objects) or object

Array (or map) of VIF event listeners to trigger.

One of:

Array (or map) of VIF event listeners to trigger.

rollup_batch_intervalinteger

Seconds to hold detections for rollup and batch events.

Default 2
grayscaledboolean

Send/process frames as grayscale to reduce latency and traffic.

Default false
landscape_videoboolean

Whether the video is in landscape orientation.

Default true
object_analysisobject(ObjectAnalysis)

Object-detection configuration.

scene_analysisobject(SceneAnalysis)

Scene/VLM analysis configuration.

ignore_untracked_objectsboolean

Ignore untracked objects when a tracking_method is set.

Default false
frame_bufferinteger

Size of the frame buffer holding frames to send to the VIF service.

Default 10
catch_up_to_liveboolean

Scene/VLM only. When inference stays slower than real-time, skip the stale buffered backlog and resume at the live edge instead of letting latency grow.

Default true
catch_up_max_behind_secondsnumber or null

Scene/VLM only. How far behind live (seconds) detections may fall before catch-up skips to live. Unset derives to the buffer headroom (~2s).

auto_frame_throttleboolean

Opt-in frame-rate throttle (all modes): reduce inference_fps when inference falls behind. Renamed from auto_scene_frame_throttle (still accepted on read).

Default false
use_transcoderboolean

Use the transcoder to grab frames.

Default true
inference_fpsinteger

Frames per second sent to inferencing when use_transcoder is true.

Default -1
inference_video_heightinteger

Height of the video to be inferenced. -1 = source, 0 = model, >0 actual value.

Default -1
frame_grab_intervalinteger

Seconds between grabbing a frame when use_transcoder is false.

Default 1
skip_framesinteger

Process every Nth frame.

save_imagesboolean

Debug: save frames from the transcoder to /tmp/vif/<stream_name>.

Default false
log_timinginteger

Debug: seconds between writing timing metrics. 0 disables.

Default 0
log_max_messagesinteger

Debug: max log messages to write for vif/ws/wss. -1 all, 0 disabled.

Default 0
streamsArray of objects(VifConfig)

Per-stream configuration overrides.

property name*anyadditional property
curl -i -X PUT \
  -u <username>:<password> \
  'http://localhost:8087/v1/http://localhost:8087/plugin/vif/vhosts/{vhost}/applications/{appName}/instances/{instance}/streams/{streamName}/config' \
  -H 'Content-Type: application/json' \
  -d '{
    "active": false,
    "vi_service": "string",
    "vi_service_api_key": "string",
    "app_name": "string",
    "stream_name": "string",
    "vif_event_listeners": [
      {
        "name": "string",
        "class_name": "string",
        "methods": "disabled",
        "confidence_threshold": 0,
        "suppress_empty_detections": false,
        "properties": {}
      }
    ],
    "rollup_batch_interval": 2,
    "grayscaled": false,
    "landscape_video": true,
    "object_analysis": {
      "model_name": "small",
      "class_names": [
        "person",
        "car",
        "truck"
      ],
      "confidence_threshold": 1,
      "tracking_method": "byte_track",
      "byte_track_properties": {
        "track_creation_minimum_confidence": 0,
        "max_lost_track_frames_before_track_removal": 0,
        "minimum_consecutive_track_overlap": 0,
        "track_creation_minimum_consecutive_frames": 0
      }
    },
    "scene_analysis": {
      "class_names": [
        "taking pictures",
        "running",
        "fight"
      ],
      "type": "string",
      "sensitivity": 0,
      "confidence_threshold": 1
    },
    "ignore_untracked_objects": false,
    "frame_buffer": 10,
    "catch_up_to_live": true,
    "catch_up_max_behind_seconds": 0,
    "auto_frame_throttle": false,
    "use_transcoder": true,
    "inference_fps": -1,
    "inference_video_height": -1,
    "frame_grab_interval": 1,
    "skip_frames": 0,
    "save_images": false,
    "log_timing": 0,
    "log_max_messages": 0,
    "streams": [
      {}
    ]
  }'

Responses

Saved configuration updated successfully.

Bodyapplication/json
activeboolean

Set to true to register WSE with the VI service.

Default false
vi_servicestring or null

WebSocket endpoint for the VI service, e.g. ws://HOST:PORT/ws/stream/.

vi_service_api_keystring or null

API key for authentication with the VI service.

app_namestring or null

Per-stream application name. If blank, applies to all applications.

stream_namestring or null

Stream name or regex pattern to match incoming streams, e.g. objects.*.

vif_event_listenersArray of EventListener (objects) or object

Array (or map) of VIF event listeners to trigger.

One of:

Array (or map) of VIF event listeners to trigger.

rollup_batch_intervalinteger

Seconds to hold detections for rollup and batch events.

Default 2
grayscaledboolean

Send/process frames as grayscale to reduce latency and traffic.

Default false
landscape_videoboolean

Whether the video is in landscape orientation.

Default true
object_analysisobject(ObjectAnalysis)

Object-detection configuration.

scene_analysisobject(SceneAnalysis)

Scene/VLM analysis configuration.

ignore_untracked_objectsboolean

Ignore untracked objects when a tracking_method is set.

Default false
frame_bufferinteger

Size of the frame buffer holding frames to send to the VIF service.

Default 10
catch_up_to_liveboolean

Scene/VLM only. When inference stays slower than real-time, skip the stale buffered backlog and resume at the live edge instead of letting latency grow.

Default true
catch_up_max_behind_secondsnumber or null

Scene/VLM only. How far behind live (seconds) detections may fall before catch-up skips to live. Unset derives to the buffer headroom (~2s).

auto_frame_throttleboolean

Opt-in frame-rate throttle (all modes): reduce inference_fps when inference falls behind. Renamed from auto_scene_frame_throttle (still accepted on read).

Default false
use_transcoderboolean

Use the transcoder to grab frames.

Default true
inference_fpsinteger

Frames per second sent to inferencing when use_transcoder is true.

Default -1
inference_video_heightinteger

Height of the video to be inferenced. -1 = source, 0 = model, >0 actual value.

Default -1
frame_grab_intervalinteger

Seconds between grabbing a frame when use_transcoder is false.

Default 1
skip_framesinteger

Process every Nth frame.

save_imagesboolean

Debug: save frames from the transcoder to /tmp/vif/<stream_name>.

Default false
log_timinginteger

Debug: seconds between writing timing metrics. 0 disables.

Default 0
log_max_messagesinteger

Debug: max log messages to write for vif/ws/wss. -1 all, 0 disabled.

Default 0
streamsArray of objects(VifConfig)

Per-stream configuration overrides.

property name*anyadditional property
Response
application/json
{ "active": false, "vi_service": "string", "vi_service_api_key": "string", "app_name": "string", "stream_name": "string", "vif_event_listeners": [ {} ], "rollup_batch_interval": 2, "grayscaled": false, "landscape_video": true, "object_analysis": { "model_name": "small", "class_names": [], "confidence_threshold": 1, "tracking_method": "byte_track", "byte_track_properties": {} }, "scene_analysis": { "class_names": [], "type": "string", "sensitivity": 0, "confidence_threshold": 1 }, "ignore_untracked_objects": false, "frame_buffer": 10, "catch_up_to_live": true, "catch_up_max_behind_seconds": 0, "auto_frame_throttle": false, "use_transcoder": true, "inference_fps": -1, "inference_video_height": -1, "frame_grab_interval": 1, "skip_frames": 0, "save_images": false, "log_timing": 0, "log_max_messages": 0, "streams": [ {} ] }

Create saved stream configuration (vhost/instance qualified)

Request

Security
basicAuth
Path
serverstringrequired

WSE server name. Any value is accepted; commonly _defaultServer_.

Default "_defaultServer_"
vhoststringrequired

Virtual host name. Defaults to _defaultVHost_.

Default "_defaultVHost_"
appNamestringrequired

Name of the Wowza application the stream is running on (e.g. live).

instancestringrequired

Application instance name. Defaults to _definst_.

Default "_definst_"
streamNamestringrequired

Stream name or a stream pattern (regex) used to match streams, e.g. objects.*.

Bodyapplication/jsonrequired
activeboolean

Set to true to register WSE with the VI service.

Default false
vi_servicestring or null

WebSocket endpoint for the VI service, e.g. ws://HOST:PORT/ws/stream/.

vi_service_api_keystring or null

API key for authentication with the VI service.

app_namestring or null

Per-stream application name. If blank, applies to all applications.

stream_namestring or null

Stream name or regex pattern to match incoming streams, e.g. objects.*.

vif_event_listenersArray of EventListener (objects) or object

Array (or map) of VIF event listeners to trigger.

One of:

Array (or map) of VIF event listeners to trigger.

rollup_batch_intervalinteger

Seconds to hold detections for rollup and batch events.

Default 2
grayscaledboolean

Send/process frames as grayscale to reduce latency and traffic.

Default false
landscape_videoboolean

Whether the video is in landscape orientation.

Default true
object_analysisobject(ObjectAnalysis)

Object-detection configuration.

scene_analysisobject(SceneAnalysis)

Scene/VLM analysis configuration.

ignore_untracked_objectsboolean

Ignore untracked objects when a tracking_method is set.

Default false
frame_bufferinteger

Size of the frame buffer holding frames to send to the VIF service.

Default 10
catch_up_to_liveboolean

Scene/VLM only. When inference stays slower than real-time, skip the stale buffered backlog and resume at the live edge instead of letting latency grow.

Default true
catch_up_max_behind_secondsnumber or null

Scene/VLM only. How far behind live (seconds) detections may fall before catch-up skips to live. Unset derives to the buffer headroom (~2s).

auto_frame_throttleboolean

Opt-in frame-rate throttle (all modes): reduce inference_fps when inference falls behind. Renamed from auto_scene_frame_throttle (still accepted on read).

Default false
use_transcoderboolean

Use the transcoder to grab frames.

Default true
inference_fpsinteger

Frames per second sent to inferencing when use_transcoder is true.

Default -1
inference_video_heightinteger

Height of the video to be inferenced. -1 = source, 0 = model, >0 actual value.

Default -1
frame_grab_intervalinteger

Seconds between grabbing a frame when use_transcoder is false.

Default 1
skip_framesinteger

Process every Nth frame.

save_imagesboolean

Debug: save frames from the transcoder to /tmp/vif/<stream_name>.

Default false
log_timinginteger

Debug: seconds between writing timing metrics. 0 disables.

Default 0
log_max_messagesinteger

Debug: max log messages to write for vif/ws/wss. -1 all, 0 disabled.

Default 0
streamsArray of objects(VifConfig)

Per-stream configuration overrides.

property name*anyadditional property
curl -i -X POST \
  -u <username>:<password> \
  'http://localhost:8087/v1/http://localhost:8087/plugin/vif/vhosts/{vhost}/applications/{appName}/instances/{instance}/streams/{streamName}/config' \
  -H 'Content-Type: application/json' \
  -d '{
    "active": false,
    "vi_service": "string",
    "vi_service_api_key": "string",
    "app_name": "string",
    "stream_name": "string",
    "vif_event_listeners": [
      {
        "name": "string",
        "class_name": "string",
        "methods": "disabled",
        "confidence_threshold": 0,
        "suppress_empty_detections": false,
        "properties": {}
      }
    ],
    "rollup_batch_interval": 2,
    "grayscaled": false,
    "landscape_video": true,
    "object_analysis": {
      "model_name": "small",
      "class_names": [
        "person",
        "car",
        "truck"
      ],
      "confidence_threshold": 1,
      "tracking_method": "byte_track",
      "byte_track_properties": {
        "track_creation_minimum_confidence": 0,
        "max_lost_track_frames_before_track_removal": 0,
        "minimum_consecutive_track_overlap": 0,
        "track_creation_minimum_consecutive_frames": 0
      }
    },
    "scene_analysis": {
      "class_names": [
        "taking pictures",
        "running",
        "fight"
      ],
      "type": "string",
      "sensitivity": 0,
      "confidence_threshold": 1
    },
    "ignore_untracked_objects": false,
    "frame_buffer": 10,
    "catch_up_to_live": true,
    "catch_up_max_behind_seconds": 0,
    "auto_frame_throttle": false,
    "use_transcoder": true,
    "inference_fps": -1,
    "inference_video_height": -1,
    "frame_grab_interval": 1,
    "skip_frames": 0,
    "save_images": false,
    "log_timing": 0,
    "log_max_messages": 0,
    "streams": [
      {}
    ]
  }'

Responses

Saved configuration created successfully.

Bodyapplication/json
activeboolean

Set to true to register WSE with the VI service.

Default false
vi_servicestring or null

WebSocket endpoint for the VI service, e.g. ws://HOST:PORT/ws/stream/.

vi_service_api_keystring or null

API key for authentication with the VI service.

app_namestring or null

Per-stream application name. If blank, applies to all applications.

stream_namestring or null

Stream name or regex pattern to match incoming streams, e.g. objects.*.

vif_event_listenersArray of EventListener (objects) or object

Array (or map) of VIF event listeners to trigger.

One of:

Array (or map) of VIF event listeners to trigger.

rollup_batch_intervalinteger

Seconds to hold detections for rollup and batch events.

Default 2
grayscaledboolean

Send/process frames as grayscale to reduce latency and traffic.

Default false
landscape_videoboolean

Whether the video is in landscape orientation.

Default true
object_analysisobject(ObjectAnalysis)

Object-detection configuration.

scene_analysisobject(SceneAnalysis)

Scene/VLM analysis configuration.

ignore_untracked_objectsboolean

Ignore untracked objects when a tracking_method is set.

Default false
frame_bufferinteger

Size of the frame buffer holding frames to send to the VIF service.

Default 10
catch_up_to_liveboolean

Scene/VLM only. When inference stays slower than real-time, skip the stale buffered backlog and resume at the live edge instead of letting latency grow.

Default true
catch_up_max_behind_secondsnumber or null

Scene/VLM only. How far behind live (seconds) detections may fall before catch-up skips to live. Unset derives to the buffer headroom (~2s).

auto_frame_throttleboolean

Opt-in frame-rate throttle (all modes): reduce inference_fps when inference falls behind. Renamed from auto_scene_frame_throttle (still accepted on read).

Default false
use_transcoderboolean

Use the transcoder to grab frames.

Default true
inference_fpsinteger

Frames per second sent to inferencing when use_transcoder is true.

Default -1
inference_video_heightinteger

Height of the video to be inferenced. -1 = source, 0 = model, >0 actual value.

Default -1
frame_grab_intervalinteger

Seconds between grabbing a frame when use_transcoder is false.

Default 1
skip_framesinteger

Process every Nth frame.

save_imagesboolean

Debug: save frames from the transcoder to /tmp/vif/<stream_name>.

Default false
log_timinginteger

Debug: seconds between writing timing metrics. 0 disables.

Default 0
log_max_messagesinteger

Debug: max log messages to write for vif/ws/wss. -1 all, 0 disabled.

Default 0
streamsArray of objects(VifConfig)

Per-stream configuration overrides.

property name*anyadditional property
Response
application/json
{ "active": false, "vi_service": "string", "vi_service_api_key": "string", "app_name": "string", "stream_name": "string", "vif_event_listeners": [ {} ], "rollup_batch_interval": 2, "grayscaled": false, "landscape_video": true, "object_analysis": { "model_name": "small", "class_names": [], "confidence_threshold": 1, "tracking_method": "byte_track", "byte_track_properties": {} }, "scene_analysis": { "class_names": [], "type": "string", "sensitivity": 0, "confidence_threshold": 1 }, "ignore_untracked_objects": false, "frame_buffer": 10, "catch_up_to_live": true, "catch_up_max_behind_seconds": 0, "auto_frame_throttle": false, "use_transcoder": true, "inference_fps": -1, "inference_video_height": -1, "frame_grab_interval": 1, "skip_frames": 0, "save_images": false, "log_timing": 0, "log_max_messages": 0, "streams": [ {} ] }

Delete saved stream configuration (vhost/instance qualified)

Request

Security
basicAuth
Path
serverstringrequired

WSE server name. Any value is accepted; commonly _defaultServer_.

Default "_defaultServer_"
vhoststringrequired

Virtual host name. Defaults to _defaultVHost_.

Default "_defaultVHost_"
appNamestringrequired

Name of the Wowza application the stream is running on (e.g. live).

instancestringrequired

Application instance name. Defaults to _definst_.

Default "_definst_"
streamNamestringrequired

Stream name or a stream pattern (regex) used to match streams, e.g. objects.*.

curl -i -X DELETE \
  -u <username>:<password> \
  'http://localhost:8087/v1/http://localhost:8087/plugin/vif/vhosts/{vhost}/applications/{appName}/instances/{instance}/streams/{streamName}/config'

Responses

Saved configuration deleted successfully.

Bodyapplication/json
statusstringrequired
messagestring
Response
application/json
{ "status": "success", "message": "string" }

Media

Retrieve annotated media such as thumbnails.

Operations