atem-connection-nodered
v0.2.1
Published
This package provides an interface between BlackMagic ATEM switchers and NodeRed
Downloads
26
Maintainers
Readme
ATEM Connection for NodeRed
This package provides an interface between BlackMagic ATEM switchers and NodeRed using the ATEM Connection project by Norsk rikskringkasting (NRK). This project is a continuation of the BlackMagic ATEM NodeRed project as i can no longer support the ATEM side of the project.
What's Supported?
- Direct control with ATEM Connection with topics like stateChanged
- Getting Status
- Program Input
- Preview Input
- Macros
- Transitions
- Fade To Black
Input messages
Below is a list of messages that can be sent to the node:
Action
Will call a function to action something on the atem
{
{
topic: "previewInput", //The function to call
payload: {
// The payload to send (see the function for information on this)
}
}
}
Direct action
Will call a method directly implemented by ATEM Connection. Be careful using as this can be problematic, but it is very powerful if used correctly!
//Example setting upstream keyer 1 on me 0 on air
//https://nrkno.github.io/sofie-atem-connection/classes/Atem.html#setUpstreamKeyerOnAir
{
{
topic: "directAction",
payload: {
function: "setUpstreamKeyerOnAir",
parameters: [true, 0, 1]
}
}
}
Output messages
Below is a list of messages that can be sent out by the node:
Connection State
{
{
topic: "connection",
payload: "connected/disconnected"
}
}
Info / Error / Debug / Command
{
{
topic: "info/error/debug/command",
payload: "" //The message
}
}
State Changed
{
{
topic: "stateChanged",
payload: {
state: {} //The state object
pathToChange: "" //The path
}
}
}
Responses
{
{
topic: "response",
success: true/false,
state: {
//The ATEM state
},
payload: {
//The response
}
}
}
Function Changed Example
This message is what is output when a function is supported by this project and has been translated. See the specific supported functions below.
{
topic: "function",
payload: {
function: "previewInput",
data: {
ME: {
//The ME
}
input: {
//The input that was selected
}
},
state: {
// The state object
},
pathToChange: "video.mixEffects.1.previewInput" // Where the change came from specifically
}
}
Thanks
ATEM Connection project by Norsk rikskringkasting (NRK) which provides the connection to the ATEM.
Aims!
Here is a list of things i want to add:
autoDownstreamKey
setDownstreamKeyCutSource
setDownstreamKeyFillSource
setDownstreamKeyOnAir
autoTransition
cut
fadeToBlack
setTransitionPosition
setTransitionStyle
macroRun ✅
macroContinue ✅
macroStop ✅
changePreviewInput ✅
changeProgramInput ✅
setAuxSource
setUpstreamKeyerCutSource
setUpstreamKeyerFillSource
setUpstreamKeyerOnAir
startRecording
startStreaming
stopRecording
stopStreaming