ualmarcus / Newtek-cURL

cURL Commands to control Newtek's NDI Studio Monitor on the Windows platform.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Newtek NDI Remote Control with cURL

It is arbitrary to target and configure what Studio Monitor is doing (as long as you have not set a password, there are security implications, will add info for an authenticate the session when time permits) - this should give a starting point for all parameters:

Accessing the source list and current configuration:

curl http://[target studio monitorIP]/v1/configuration
  • returns the current config of Studio Monitor and shows all parameters E.G.:
{"version":1,"NDI_source":"DESKTOP-UQM4V86 (Intel(R) HD Graphics 520 1)","NDI_overlay":"","PTZ_controller":"","audio_ou tput":"SONY TV *00 (Intel(R) Display Audio)","window":{"display_device":"","always_on_t op":false,"hide_border":false,"showcmd":1,"min_pos n_x":-1,"min_posn_y":-1,"max_posn_x":-1,"max_posn_y":-1,"normal_posn_left":413,"normal_posn_right":1853, "normal_posn_top":127,"normal_posn_bottom":873},"d ecorations":{"checkerboard":false,"picture_in_pict ure":true,"hw_accel":false,"tally":true,"low_bandw idth":false,"mute_audio":false,"audio_gain":-20,"vu_meter":true,"vu_meter_scale":false,"center_ cross":ffairlyalse,"safe_areas":false,"show_4_3":false," best_fit":true,"square_aspect":false,"hide_ptz_con trols":false,"show_alpha":false,"run_on_startup":f alse,"web_server":true,"show_web_url":true,"menu_p osn_x":56.0,"menu_posn_y":8.0}
curl http://[target studio monitorIP]/v1/sources

returns available NDI sources from this studio monitors perspective:

{"ndi_sources":["DESKTOP-UQM4V86 (Intel(R) HD Graphics 520 1)","DESKTOP-UQM4V86 (Microsoft Camera Front)","UAL.LOCAL (NDI Signal Generator)","UAL.LOCAL (Scan Converter)"],"audio_devices":["SONY TV *00 (Intel(R) Display Audio)"],"display_devices":["Full Screen"],"controllers":[],"studio_monitors":{""}

To post a config change for the primary NDI source:

Main Window NDI source setting, Change a Source from something to 'None':

curl -H "Content-Type: application/json" -X POST -d '{"version":1,"NDI_source":""}' http://[target studio monitorIP]/v1/configuration

Change Source from something / none to a new source from the available listed at /v1/sources:

curl -H "Content-Type: application/json" -X POST -d '{"version":1,"NDI_source":"DESKTOP-UQM4V86 (Intel(R) HD Graphics 520 1)"}' http://[target studio monitorIP]/v1/configuration

Picture in Picture:

Add a new picture in picture source from the available listed at /v1/sources:

curl -H "Content-Type: application/json" -X POST -d '{"version":1,"NDI_overlay":"DESKTOP-UQM4V86 (Intel(R) HD Graphics 520 1)"}' http://[target studio monitorIP]/v1/configuration

Remove picture in picture:

curl -H "Content-Type: application/json" -X POST -d '{"version":1,"NDI_overlay":""}' http://[target studio monitorIP]/v1/configuration

Temporarily toggle PIP on / off (take over whole screen, or return to PIP corner)

curl -H "Content-Type: application/json" -X POST -d '{"version":1,"decorations":{"picture_in_picture": true}}' http://[target studio monitorIP]/v1/configuration
curl -H "Content-Type: application/json" -X POST -d '{"version":1,"decorations":{"picture_in_picture": false}}' http://[target studio monitorIP]/v1/configuration

Example configuration settings

(any Studio Monitor 3.5.x / 3.7.x setting can be targeted):

Switch on / off Hardware Acceleration:

curl -H "Content-Type: application/json" -X POST -d '{"version":1,"decorations":{"hw_accel":true}}' http://[target studio monitorIP]/v1/configuration
curl -H "Content-Type: application/json" -X POST -d '{"version":1,"decorations":{"hw_accel":false}}' http://[target studio monitorIP]/v1/configuration

Switch on / off Tally:

curl -H "Content-Type: application/json" -X POST -d '{"version":1,"decorations":{"tally":true}}' http://[target studio monitorIP]/v1/configuration
curl -H "Content-Type: application/json" -X POST -d '{"version":1,"decorations":{"tally":false}}' http://[target studio monitorIP]/v1/configuration

Hide / show window border:

curl -H "Content-Type: application/json" -X POST -d '{"version":1,"window":{"hide_border":true}}' http://[target studio monitorIP]/v1/configuration
curl -H "Content-Type: application/json" -X POST -d '{"version":1,"window":{"hide_border":false}}' http://[target studio monitorIP]/v1/configuration

Secondary / Additional windows on the same IP:

The first window uses port 80 - the second 81 etc.

About

cURL Commands to control Newtek's NDI Studio Monitor on the Windows platform.