End-to-End Verification#
Use the sample Helm chart to validate an end-to-end pipeline from sender through VSR NIM to receiver.
Check Deployments#
kubectl get deploy -n <namespace>
kubectl get pods -n <namespace>
Wait for the sender, VSR NIM service, and receiver deployments:
kubectl rollout status deployment/<sender-deployment> -n <namespace> --timeout=300s
kubectl rollout status deployment/<vsr-deployment> -n <namespace> --timeout=300s
kubectl rollout status deployment/<receiver-deployment> -n <namespace> --timeout=300s
Check Logs#
kubectl logs -n <namespace> deployment/<sender-deployment> --tail=100
kubectl logs -n <namespace> deployment/<vsr-deployment> --tail=100
kubectl logs -n <namespace> deployment/<receiver-deployment> --tail=100
In NMOS mode, connect the sender, VSR NIM media function, and receiver through the NMOS Controller UI. Connect the VSR NIM output to the receiver before connecting the sender to the VSR NIM input. In static ST 2110 mode, the chart self-activates from the configured transport values.
Copy Receiver Output#
When using the sample receiver, copy the output file from the receiver pod:
kubectl cp -n <namespace> <receiver-pod>:/workspace/recv_4k_h264.ts ./out.ts
Inspect the output:
ffprobe ./out.ts
The sample pipeline is expected to produce a 4Kp30 H.264 MPEG-TS output file from the receiver. The ST 2110 output over the wire is UYVP / YCbCr 4:2:2 10-bit video; the saved receiver artifact is encoded as H.264 High, yuv420p, 8-bit.
For a stricter decode check, run the following command:
ffmpeg -v error -i ./out.ts -frames:v 30 -f rawvideo -y /dev/null
On Red Hat OpenShift, replace kubectl with oc.