Operator Configuration#
This page covers Helm values for the nvidia-active-speaker-detection-h4m-operator chart (controller pod) and fields for the NvidiaActiveSpeakerDetectionMediaFunction custom resource (NIM workload).
Pipeline tuning semantics on the custom resource match the Pipeline Configuration Helm keys.
Operator Helm Chart (nvidia-active-speaker-detection-h4m-operator)#
Values for the operator controller pod (not the NIM deployment):
Configuration |
Helm Key |
Comment |
|---|---|---|
Operator image |
|
Defaults: |
Inline registry credentials (operator pod) |
|
Defaults: registry |
Inline registry credentials (NIM operands) |
|
Same shape as |
Pull secrets |
|
Default: |
Default NIM image for operands |
|
Defaults: image |
Default NIM scheduler |
|
Default: |
Operator replicas |
|
Default: |
Leader election |
|
Default: |
Operator pod resources |
|
Defaults: limits |
Metrics |
|
Default: |
ServiceAccount |
|
Default: create |
Important
The media function image is configured when the operator is installed, so NvidiaActiveSpeakerDetectionMediaFunction instances managed by an operator use the same validated operator and media-function image combination. This approach ensures the operator and workload are always supported together and avoids compatibility issues.
As a result, CRs managed by an operator share the chart-level mediaFunction.image and mediaFunction.imagePullSecrets configured at install time. To run multiple custom resources with different NIM image tags, deploy multiple operators, each configured with its own mediaFunction.image.
Custom Resource (NvidiaActiveSpeakerDetectionMediaFunction)#
Full YAML example: Example Manifest.
Scheduling and Cluster#
Configuration |
CR Path |
Comment |
|---|---|---|
Node selector |
|
Kubernetes node labels (for example, |
Parameters: Network, Resources, Secrets, Security#
Configuration |
CR Path |
Comment |
|---|---|---|
High-speed networks |
|
Default name: |
Pod resources |
|
Kubernetes requests and limits for the operand NIM workload. |
NGC model download |
|
|
Model cache / logs |
|
Optional PVC-backed model cache and NIM logs. Subkeys include |
Security context |
|
Example: |
Pod security context |
|
Example: |
NMOS metadata |
|
NMOS IS-04 registration strings. |
Pod Resources (spec.parameters.resources)#
Resource |
Requests |
Limits |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Parameters: Pipeline Tuning#
Configuration |
CR Path ( |
Environment Variable (on NIM Pod) |
Comment |
|---|---|---|---|
Sync tolerance |
|
|
Default: |
Bounding box overlay |
|
|
|
Output frame buffer size |
|
|
Default: |
Audio silence detection |
|
|
Default: |
Audio silence threshold |
|
|
Default: |
Log level |
|
(mapped by operator to NIM env) |
|
Inputs and Outputs#
Area |
CR Path |
Comment |
|---|---|---|
Video in |
|
|
Audio in |
|
One block per stream; count must match pipeline. |
Video out |
|
Optional; resolution must match input when present. |
Ancillary out |
|
Required for SMPTE ST 2110-40; |
Video Format Subfields#
These subfields apply to video input and video output.
Field |
Example Value |
Comment |
|---|---|---|
|
|
Fixed for uncompressed ST 2110-20. |
|
|
Must match NIM |
|
|
Must match NIM |
|
|
Frames per second as a string. |
|
|
|
|
|
|
|
|
Bits per component. |
|
|
|
|
|
frame_rate must be identical for spec.inputs.video_input.format.video and spec.outputs.video_output.format.video. Invalid values are rejected when the CR is applied. The following values are supported:
Value |
Rate |
|---|---|
|
24 fps |
|
25 fps |
|
30 fps |
|
29.97 fps (fractional) |
|
50 fps |
|
60 fps |
|
59.94 fps (fractional) |
Use a plain integer string for whole rates and a numerator/denominator string for fractional rates. Always quote the value in YAML so fractions are not interpreted as numbers.
Audio Format Subfields#
These subfields apply to each audio_input_n stream.
Field |
Example Value |
Comment |
|---|---|---|
|
|
Must match NIM |
|
|
Mono per stream; must match NIM |
|
|
Bits; corresponds to PCM L24. |
|
|
Fixed for ST 2110-30 mono L24. |
CR Schema Reference#
With the nvidiaactivespeakerdetectionmediafunctions.nvidia.com CRD installed, inspect field types and OpenAPI details from the cluster:
kubectl explain nvidiaactivespeakerdetectionmediafunctions.nvidia.com --recursive
kubectl explain nvidiaactivespeakerdetectionmediafunctions.nvidia.com.spec
kubectl explain nvidiaactivespeakerdetectionmediafunctions.nvidia.com.spec.inputs.video_input.format.video
kubectl explain nvidiaactivespeakerdetectionmediafunctions.nvidia.com.spec.outputs.ancillary_data_output
Some validation rules might not appear in kubectl explain output but are still enforced when the CR is applied.
Status Conditions (status.conditions)#
Status Overview#
The operator reports health using Kubernetes conditions in status.conditions (type, status, reason, message).
A media function is considered healthy and ready when the following are all True:
Provisioned: Deployment and pod are running.Registered: Successfully registered with NMOS / SDP.Configured: Required configuration has been applied.
Important Statuses#
Status |
What It Means |
|---|---|
|
App deployment is running. |
|
Registration succeeded. |
|
Configuration applied successfully. |
|
Connections are established. |
|
Reserved for future media-flow status. |
|
Reserved for future health reporting. |
When to Alert#
Alert if any of these stay False:
ProvisionedRegisteredConfigured
Most important failure reason values:
DeploymentNotAvailableNmosQueryFailed
Connected False is usually informational or transient and can occur when connections are still being established.
Ignore Active and Degraded for now.
Check Status#
Use the custom resource metadata.name (not a Pod name).
kubectl get nvidiaactivespeakerdetectionmediafunction <cr-name> \
-o jsonpath='{range .status.conditions[*]}{.type}{"\t"}{.status}{"\t"}{.reason}{"\n"}{end}'
See Also#
Pipeline Configuration — Pipeline tuning Helm key equivalents.