Noel,
I think the secret is having the right splitter, I'll see if the pass-through devices help.
On using the ATEM mini as an input switch and repeater controller this is an interesting video, though it is old. It refers to the Arduino libraries to make a command line interface to call input switching or ATEM macros.
https://youtu.be/V9t9-z-8Cks
Another alternative is this:
https://openswitcher.org/
Justin.
Portsdown 2020 Stream Receiver
Re: Portsdown 2020 Stream Receiver
Some more thoughts:
Reading various professional AV forums the ultimate solution may be to convert all HDMI to SDI and then back to HDMI, there is then the possibility of switching the SDI sources with a simple relay, or an SDI mult-view switcher box that can add captions etc.
Justin.
Reading various professional AV forums the ultimate solution may be to convert all HDMI to SDI and then back to HDMI, there is then the possibility of switching the SDI sources with a simple relay, or an SDI mult-view switcher box that can add captions etc.
Justin.
Re: Portsdown 2020 Stream Receiver
I've been experimenting with connectivity to the ATEM Mini using Node.Red and using Ian Morrish's .dll and MS Powershell. I've got connectivity working for both, I now need to understand the commands to cause switching and transition events to occur. My software skills are not great, but I can usually work out a way to do things.
I suspect node.red might be the easiest, but if someone with software skills could guide me with a few questions so I get started then I should be able to produce something fairly sexy. The questions I have are basic as to how I package the whole thing up and how I can communicate from the Ryde to the controller. I'm thinking if each Ryde or Portsdown sends, say, MQTT to a broker that should be a very straightforward implementation.
If I drill down into the JSON response I can see the current state of the device.
Here's the resp03/01/2022, 11:56:47node: 4977e0dace5579d3command : msg.payload : Object
{ cmd: "tally", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "version", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "programInput", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "previewInput", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "inputProperty", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "transitionPosition", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "upstreamKeyer", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "downstreamKeyer", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "auxSource", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "macroAction", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "downstreamKeyerConfig", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "upstreamKeyerConfig", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "warning", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "topology", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "macroProperties", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "transitionMix", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "superSourceBox", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "cameraControl", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "audioMixerInput", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "audioMixerMonitor", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "multiViewerInput", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "tally", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3status : msg.payload : Object
{ connectionStatus: "connected" }
In the picture here is the response using PowerShell:
I suspect node.red might be the easiest, but if someone with software skills could guide me with a few questions so I get started then I should be able to produce something fairly sexy. The questions I have are basic as to how I package the whole thing up and how I can communicate from the Ryde to the controller. I'm thinking if each Ryde or Portsdown sends, say, MQTT to a broker that should be a very straightforward implementation.
If I drill down into the JSON response I can see the current state of the device.
Here's the resp03/01/2022, 11:56:47node: 4977e0dace5579d3command : msg.payload : Object
{ cmd: "tally", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "version", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "programInput", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "previewInput", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "inputProperty", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "transitionPosition", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "upstreamKeyer", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "downstreamKeyer", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "auxSource", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "macroAction", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "downstreamKeyerConfig", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "upstreamKeyerConfig", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "warning", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "topology", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "macroProperties", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "transitionMix", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "superSourceBox", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "cameraControl", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "audioMixerInput", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "audioMixerMonitor", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "multiViewerInput", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3initial : msg.payload : Object
{ cmd: "tally", data: object }
03/01/2022, 11:56:47node: 4977e0dace5579d3status : msg.payload : Object
{ connectionStatus: "connected" }
In the picture here is the response using PowerShell:
- Attachments
-
- Screenshot 2022-01-03 115524.jpg (372.88 KiB) Viewed 1574 times