ATEM protocol ( UDP ? )

Questions about ATEM Switchers, Camera Converter and everything live!
  • Author
  • Message
Offline

Anoracknophobia

  • Posts: 4
  • Joined: Sat Jun 07, 2025 8:01 am
  • Real Name: John Rowing

ATEM protocol ( UDP ? )

PostMon Jun 09, 2025 9:18 am

I'm new to the forum, and a fairly infrequent user of my ATEM Mini Pro. However my interest in the device was recently rekindled and I have created several Lower Third graphics which I can use with the Down Stream Keyer (on / off via the ATEM software). It is unfortunate the ATEM Mini Pro doesn't have a dedicated Button for the DSK.
Is there a description of how the ATEM software interacts ( via a LAN ) with the ATEM Mini Pro - I'm assuming UDP packets are sent to / from the hardware.
Can another device simultaneously also interact with the ATEM Mini Pro via another port ? Reason I ask is that I have been developing hardware/ software to augment control my Ham Radio equipment which I might be able to repurpose to augment control of the ATEM Mini to control the DSK or perhaps the selection of the graphic, but need at little information - if it's published.

Real Name
John Rowing
Offline
User avatar

Nelson Villamil

  • Posts: 199
  • Joined: Mon Nov 12, 2012 3:38 am
  • Location: Canada

Re: ATEM protocol ( UDP ? )

PostMon Jun 09, 2025 8:38 pm

John

Maybe, :idea: :idea: Companion is a solution with commands for Blackmagic Design ATEM

https://bitfocus.io/connections/bmd-atem

It's a free software and easy-to-use over the network. Just try it

Available for: Windows, MacOS, Linux and Raspberry Pi

I hope help
Last edited by Nelson Villamil on Tue Jun 10, 2025 12:49 pm, edited 1 time in total.
Offline

Anoracknophobia

  • Posts: 4
  • Joined: Sat Jun 07, 2025 8:01 am
  • Real Name: John Rowing

Re: ATEM protocol ( UDP ? )

PostMon Jun 09, 2025 11:11 pm

Thanks for the suggestion ... I guess the software runs on a PC or Mac. However I'd really like to NOT be reliant on having a PC or Mac ( less weight to carry ) but instead use some far simpler ( Arduino based ) hardware. My various prototypes ( for Ham Radio augmented control ) use Rotary encoders and momentary switches to initiate sending "commands" - this can easily modified to send UDP packets instead.

Video : 4 prototypes plus an 'Arc display" proof of concept device.
https://youtube.com/shorts/cMOSfZuFZfY? ... TB2jePEXWD
Offline
User avatar

Xtreemtec

  • Posts: 5454
  • Joined: Wed Jan 02, 2013 11:48 am
  • Location: The Netherlands

Re: ATEM protocol ( UDP ? )

PostTue Jun 10, 2025 7:27 am

Well maybe you should read a bit into what you are about to start with. As the BMD proprietary protocol is a lot less fun then the simple protocol they opened up which you use now,

The closed protocol is a UDP heavy protocol with multiple timers in it to keep packets sync, Many attempted to get into that protocol, But if you do not have a proper implementation it will crash your atem so it needs a reboot!

Up to FW 7,5 the protocol was do-able and Skaarhoj had an open source Arduino library to control the Atem from an arduino.
But since FW7.5+ the protocol is much heavier and got a lot more commands.. Resulting in crashes if you use the old library.

It aint as simple as just send a string with a command trough UDP and the switcher will do it..

https://github.com/kasperskaarhoj/SKAAR ... bs/ATEMstd
Daniel Wittenaar .:: Xtreemtec Multicam Facilities ::. -= www.xtreemtec.nl =-
4K OBV Truck, Dual ATEM 8K, 120x120 Videohub, 12x Hyperdeck 4K Pro, Ursa Broadcast 4K G2, 4K fiber converters with Sony Control and seperate Tally on SMPTE
Offline

Anoracknophobia

  • Posts: 4
  • Joined: Sat Jun 07, 2025 8:01 am
  • Real Name: John Rowing

Re: ATEM protocol ( UDP ? )

PostTue Jun 10, 2025 9:42 am

I agree, " I should read a bit .. ". That's exactly what I'm trying to do. I'm not asking for code, just information on the protocol. However knowing something is possible ( or not ) is the start of the journey.

I'll take a look at the link, thanks.

John.
Offline

Julusian

  • Posts: 58
  • Joined: Mon Aug 03, 2020 9:36 pm
  • Real Name: Julian Waller

Re: ATEM protocol ( UDP ? )

PostWed Jun 11, 2025 8:53 pm

I maintain a nodejs based atem library https://github.com/Sofie-Automation/sofie-atem-connection, and I will suggest that doing it on an arduino is not going to be easy, if it is even possible.
a majority of the protocol hasnt changed since well before 7.5.2, but after that version they introduced the largest model which more than doubles the amount of properties that the previous largest model has, which I expect is what made existing arduino libraries not able to cope with the volume of data

While it is udp, it requires performing various steps to run a stateful connection over udp. And upon establishing this connection the atem will send a snapshot of its current state to you, which depending on the model of atem will be 12-100kb of data which. messages must be acked within a short timeframe or they will be retransmitted.

for your use case, you probably don't care about any of that data it sends, so maybe you could pull it off to quickly discard the data and ack the last packet? I would be worried about overloading the arduino with this much data though.
once open, you could construct and send the packet you need (which will require some understanding of how to form packets, with sequence numbers, flags etc) send it and then leave the connection timeout or perform the minimum to keep the connection alive (messages every few hundred milliseconds).

Return to Live Production

Who is online

Users browsing this forum: Marian Munteanu and 33 guests