ATEM Mini TCP/UDP protocol

Ask software engineering and SDK questions for developers working on Mac OS X, Windows or Linux.
  • Author
  • Message
Offline

adebeau

  • Posts: 3
  • Joined: Mon May 11, 2020 7:36 am
  • Real Name: Alban DEBEAUPUIS

ATEM Mini TCP/UDP protocol

PostTue Oct 13, 2020 8:31 pm

Hi

I would like to control my ATEM Mini with TCP. If I have fully understood, HyperdDeck protocol is not working for ATEM Mini.

I have make some network analysis and discover that 2 ports are open on the ATEM Mini.
TCP 9977 :
telnet 172.19.1.99 9977
Trying 172.19.1.99...
Connected to 172.19.1.99.
Escape character is '^]'.
PROTOCOL PREAMBLE:
Version: 1.0

ATEM SWITCHER DEVICE:
Model name: ATEM Mini
Unique ID: 2f3a0ea8c7c14fb48f3XXXXXXX
Label: ATEM Mini
Host name: ATEM-AVA-7c2e0dXXXXXX

END PRELUDE:

And port 9910 UDP.

TCP9977 is used by ATEM Setup, and UDP9910 by ATEM Software.

Does anyone knows which is the protocol used for 9910 ?

My goal is to send datagram to change preview, source, etc ...

Many thanks,
Offline

codedeltajames

  • Posts: 296
  • Joined: Mon Mar 02, 2020 11:30 am
  • Location: UK
  • Real Name: James Goodwin

Re: ATEM Mini TCP/UDP protocol

PostWed Oct 14, 2020 9:33 am

The raw control protocol is not available, the only supported method of doing this is through the Atem SDK. However there are many open source efforts to document and implement the protocol, such as the work by Skaarhoj - https://www.skaarhoj.com/fileadmin/BMDPROTOCOL.html - (although their open source stuff doesn't cover the version 8 software used by the Atem Mini). It's not an easy protocol to implement and relies on a load of binary data and specific timing.
Offline

Anselm.

  • Posts: 1
  • Joined: Sun Dec 06, 2020 10:01 pm
  • Real Name: Anselm Peischl

Re: ATEM Mini TCP/UDP protocol

PostSun Dec 06, 2020 10:09 pm

@adebeau: I am looking for some similar solution for my Mini Iso Pro. Have you made any progress?
Offline

TobyEggitt

  • Posts: 61
  • Joined: Wed Jun 17, 2020 3:33 pm
  • Real Name: Toby Eggitt

Re: ATEM Mini TCP/UDP protocol

PostTue Feb 09, 2021 4:54 pm

Perhaps I misunderstand your question/problem, but there's a couple of videos that BM put up on youtube that describe how this protocol works. It's not specific to the Mini devices, but I successfully built a device that gives me push-buttons to switch channels, and also gives me "tally" lights so I know the current channel using TCP/IP control based of what I learned here.

This is one of them that describes the overall structure of the text protocols they use (and one of the specific protocols)


this one describes the router protocol (this is the one I was able to use to make my switcher/tally lights)


I'm guessing, but I suspect there might be more videos, though I've not looked hard, since the router one had what I needed. There's definitely one on port 9977 that can be used to determine if the device is recording or streaming, and has some other stuff, but I've not been able to turn recording on using it.

I believe (and this might be the basis of your problem) that there are other ports with other protocols on them, but it seems that the whole "send a message that looks like the report" concept seems pretty repeatable. Certainly the basic router protocol was pretty handy and works easily, though I don't know what you want to do with it, so I can't say if it has all of what you need or not.

HTH
Toby.
Offline
User avatar

Xtreemtec

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

Re: ATEM Mini TCP/UDP protocol

PostWed Feb 10, 2021 10:24 am

@Toby, The router and Hyperdeck protocols are open and i believe telnet.
The Atem protocol that the topic starter is looking for is a Company Secret!! ;) Skaarhoj did some fine reverse engineering for that protocol but since the change in the protocol after FW7.5.2 they do not update and support it anymore.

So basically there is no DIRECT way of connecting to the Atem. Just use the SDK for the Atem which will have a pre-build component to run the comms to the Atem...
Daniel Wittenaar .:: Xtreemtec Media Productions ::. -= www.xtreemtec.nl =-
4K OBV Trailer, ATEM TVS HD, 4M/E Broadcast Studio 4K, Constelation 8K, Hyperdeck Studio 12G, Ursa Broadcast 4K, 4K fiber converters with Sony Control
Offline

TobyEggitt

  • Posts: 61
  • Joined: Wed Jun 17, 2020 3:33 pm
  • Real Name: Toby Eggitt

Re: ATEM Mini TCP/UDP protocol

PostWed Feb 10, 2021 3:39 pm

Xtreemtec wrote:The Atem protocol that the topic starter is looking for is a Company Secret!! ;)



As indicated, I did wonder if I misunderstood. So, at the risk of hijacking a thread, what actions/information does this secret protocol support? I've been using the protocols I linked to and they've supported the interactions I have been interested in so far, but having the device network accessible is powerful, and maybe you can spark my imagination with more ideas for stuff to try?
Offline

TobyEggitt

  • Posts: 61
  • Joined: Wed Jun 17, 2020 3:33 pm
  • Real Name: Toby Eggitt

Re: ATEM Mini TCP/UDP protocol

PostWed Feb 10, 2021 3:48 pm

adebeau wrote:I have make some network analysis and discover that 2 ports are open on the ATEM Mini.
TCP 9977 :
And port 9910 UDP.

TCP9977 is used by ATEM Setup, and UDP9910 by ATEM Software.

[...]
My goal is to send datagram to change preview, source, etc ...

Many thanks,


At the risk of being wrong again, OP asks to set the source and preview. That you absolutely *can* do with the router protocol--I'm doing it. Also, OP says two ports are open, but at least two more are open;

9993 (TCP) which signs on and responds to a "help" command by listing other commands it accepts.
9990 (TCP) which is the routing connection, which certainly allows the change of preview and source that' OP requests.

EDIT: a thought occurs, if you try to use these text-based protocols on 9993 and 9990, they dont' work well with telnet on Linux at least, (something about the line ending, I suspect). They work just fine using nc, and they work just fine with network sockets opened in Java or C.)
Offline

Ian Morrish

  • Posts: 580
  • Joined: Sun Jan 18, 2015 9:24 pm
  • Location: New Zealand

Re: ATEM Mini TCP/UDP protocol

PostThu Feb 11, 2021 4:29 am

Unbelievable but true.
Just connected using Putty to one of my ATEM's using port 9990
After more than 5 years deep in the ATEM API and documentation I have never seen mention of support for the router protocol in the ATEM's.

This would be awesome for ATEM's that have AUX output so you can use them like a video hub, especially the Constellation. I suspect the Video hub remote panels would also work to control the Constellation!

Nowhere near the control you get with the API but simple for switching only.

Here is the output from my Atem Mini
PROTOCOL PREAMBLE:
Version: 2.7
VIDEOHUB DEVICE:
Device present: true
Model name: ATEM Mini
Friendly name: ATEM Mini
Unique ID: 312306a5d55f4347a66348424a648c24
Video inputs: 13
Video outputs: 3

INPUT LABELS:
0 Black
1 Camera 1
2 Camera 2
3 Camera 3
4 Camera 4
5 Color Bars
6 Color 1
7 Color 2
8 Media Player 1
9 Media Player 1 Key
10 Program
11 Preview
12 Camera 1 Direct

VIDEO INPUT STATUS:
0 Internal
1 HDMI
2 HDMI
3 HDMI
4 HDMI
5 Internal
6 Internal
7 Internal
8 Internal
9 Internal
10 Internal
11 Internal
12 HDMI

OUTPUT LABELS:
0 Output
1 Program
2 Preview

CONFIGURATION:
Video Mode: 1080p30

VIDEO OUTPUT ROUTING:
0 10
1 2
2 2
END PRELUDE:
Regards,
Ian Morrish
Video Integrated Scripting Environment
(Windows PowerShell with ATEM driver + more)
https://ianmorrish.wordpress.com
Offline
User avatar

Xtreemtec

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

Re: ATEM Mini TCP/UDP protocol

PostThu Feb 11, 2021 2:05 pm

This is indeed whole new info.. Up till now / weeks / months ago Atems would not connect or respond to telnet / videohub protocol.

This is a great find!! We tried this on our 4ME Broadcast. But doesnt work. So it seams only implemented on the latest FW build for Constellation and Atem Minis.. ;)

Fingers crossed the older atems get this option too... :mrgreen:
Daniel Wittenaar .:: Xtreemtec Media Productions ::. -= www.xtreemtec.nl =-
4K OBV Trailer, ATEM TVS HD, 4M/E Broadcast Studio 4K, Constelation 8K, Hyperdeck Studio 12G, Ursa Broadcast 4K, 4K fiber converters with Sony Control
Offline
User avatar

Xtreemtec

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

Re: ATEM Mini TCP/UDP protocol

PostThu Feb 18, 2021 10:08 am

Atem FW 8.6
After announcement yesterday about the new Atem Mini Pro Extreme series with the full routing options also for the DVE, Wipes etc.

Just tested this on my Atem Mini Pro. With the newest FW 8.6 but there is just 3 Outpoints like the previous fw. So turns out that feature is only available on the new Extreme models for now.. :?
#waiting for new update.,. :mrgreen: Fingers Crossed :D :D :D

Atem FW8.6.png
Atem FW8.6.png (153.96 KiB) Viewed 21535 times
Daniel Wittenaar .:: Xtreemtec Media Productions ::. -= www.xtreemtec.nl =-
4K OBV Trailer, ATEM TVS HD, 4M/E Broadcast Studio 4K, Constelation 8K, Hyperdeck Studio 12G, Ursa Broadcast 4K, 4K fiber converters with Sony Control
Offline

Gary Adams

Blackmagic Design

  • Posts: 1393
  • Joined: Sat Aug 25, 2012 6:14 am

Re: ATEM Mini TCP/UDP protocol

PostThu Feb 25, 2021 9:41 pm

Hello Everyone. Currently only the ATEM Mini switchers (Mini, Pro, ISO, Extreme and Extreme ISO) support the Videohub telnet protocol for switching Program, Preview and the Output buses. When logged into the ATEM, there is a dump of supported I/O. Help will list supported commands. Any other switching would be under consideration for the future but there are no promises or guarantees. ATEM Mini models that support recording to external disk also have ftp capability in case anyone didn't know about that. I hope this helps. Stay safe.

Regards, Gary
Gary Adams
Blackmagic Design
Offline

TobyEggitt

  • Posts: 61
  • Joined: Wed Jun 17, 2020 3:33 pm
  • Real Name: Toby Eggitt

Re: ATEM Mini TCP/UDP protocol

PostSun Feb 28, 2021 4:21 am

Gary Adams wrote:...ATEM Mini models that support recording to external disk also have ftp capability in case anyone didn't know about that.


That is useful, yes!
Offline

Earl R. Thurston

  • Posts: 166
  • Joined: Sun Sep 04, 2016 4:52 pm
  • Location: Burnaby, BC

Re: ATEM Mini TCP/UDP protocol

PostThu Mar 03, 2022 12:52 am

It would be wonderful if BMD put out an official Arduino library for the same functions as the SDK, or at least a subset of the most important ones. The routing protocol is handy for basic switching, but it isn't really suitable for controlling things like the mixing function (for something like a stand-alone T-bar controller) or even some of the other adjustments that would be better suited to rotary controls (DVE positions, key levels, etc.)
URSA Mini 4K, URSA Broadcast G2
Offline
User avatar

Xtreemtec

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

Re: ATEM Mini TCP/UDP protocol

PostThu Mar 03, 2022 9:47 am

Earl R. Thurston wrote:It would be wonderful if BMD put out an official Arduino library for the same functions as the SDK, or at least a subset of the most important ones. The routing protocol is handy for basic switching, but it isn't really suitable for controlling things like the mixing function (for something like a stand-alone T-bar controller) or even some of the other adjustments that would be better suited to rotary controls (DVE positions, key levels, etc.)


The Atem control protocol is officially proprietary protocol and wont be released!!

Skaarhoj has done a great job fully reverse engineering the protocol up to 7.5 and made it public including Arduino libraries.

But they stopped supporting it as freeware and if you want anything to go over FW7.5 you have to buy there hardware. ;)
Daniel Wittenaar .:: Xtreemtec Media Productions ::. -= www.xtreemtec.nl =-
4K OBV Trailer, ATEM TVS HD, 4M/E Broadcast Studio 4K, Constelation 8K, Hyperdeck Studio 12G, Ursa Broadcast 4K, 4K fiber converters with Sony Control
Offline

Earl R. Thurston

  • Posts: 166
  • Joined: Sun Sep 04, 2016 4:52 pm
  • Location: Burnaby, BC

Re: ATEM Mini TCP/UDP protocol

PostThu Mar 03, 2022 10:15 pm

Xtreemtec wrote:The Atem control protocol is officially proprietary protocol and wont be released!!

Exactly. That's what I hope would change. BMD has other efforts that assist DIY'ers, so it seems odd to leave a hole here.

I'm thinking specifically about the ATEM Mini products. They're pretty capable button-wise, so there's no need to duplicate everything. So, when someone like me just wants is an extra lever or dial -- some form of analog input -- Skaarhoj and M/E panels are economic overkill. They're accessories that cost 2X - 10X (or even higher) than the device they're controlling.

If BMD was worried about cannibalizing M/E panel sales, they wouldn't even publish an ATEM SDK for Windows and macOS. But I do understand the need sometimes to keep a low-level protocol private. Perhaps, instead, another Arduino shield with locked-down firmware that acts like an I/O version of an SDK. One could send simple serial commands from the Arduino to the shield which then translates them into the UDP commands.

Just some food for thought.
URSA Mini 4K, URSA Broadcast G2
Offline
User avatar

Xtreemtec

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

Re: ATEM Mini TCP/UDP protocol

PostSun Mar 06, 2022 9:39 am

Arduino is already a platform that has a high level of users that have no idea what they are doing..

We have seen this with the Arduino SDI shield people asking if someone can create the code for them.. As they have no clue how to..

Releasing a timing sensitive protocol that has the power to crash an atem if used wrong. ( Let a skaarhoj 7,5 FW arduino code connect to an Atem with FW 8 and you know what i mean ;) )

The support on such a library would be so high for the support team due to people not knowing what they are doing.. A Simple delay(10); could already mess up the full control of the Atem core.. Something that doesnt happen in a multitreading enviorement like the PC SDK's.

So no i dont see this happening anytime soon.. Unless BMD decideds to have a Simple protocol opened up next to the full protocol... But that means stepping out of UDP traffic with timers and keys to keep sync between devices. 8-)

So basically the Telnet router protocol is the next best thing you will ever get. Just a shame it isnt implemented on the older Atems..
Daniel Wittenaar .:: Xtreemtec Media Productions ::. -= www.xtreemtec.nl =-
4K OBV Trailer, ATEM TVS HD, 4M/E Broadcast Studio 4K, Constelation 8K, Hyperdeck Studio 12G, Ursa Broadcast 4K, 4K fiber converters with Sony Control
Offline

alegico

  • Posts: 2
  • Joined: Wed Mar 23, 2022 1:36 pm
  • Real Name: Alex de Jong

Re: ATEM Mini TCP/UDP protocol

PostWed Mar 23, 2022 11:21 pm

@Toby, Sorry to disturb, I saw the interesting posts here, but I am a bit stuck in the search to the text commands over telnet.

Can you point me in a direction?
As background i would like to make a Tally Light in a ESP8266 or ESP32 board.
Offline

punchcard

  • Posts: 1
  • Joined: Thu Mar 24, 2022 5:31 pm
  • Real Name: Paul Kilroy

Re: ATEM Mini TCP/UDP protocol

PostThu Mar 24, 2022 5:34 pm

Any thoughts on how we could escalate this within BMD? I'd love to see an open protocol here. BMD would benefit from the innovation as well.
Offline

alegico

  • Posts: 2
  • Joined: Wed Mar 23, 2022 1:36 pm
  • Real Name: Alex de Jong

Re: ATEM Mini TCP/UDP protocol

PostSat Mar 26, 2022 12:20 pm

TobyEggitt wrote:
adebeau wrote:I have make some network analysis and discover that 2 ports are open on the ATEM Mini.
TCP 9977 :
And port 9910 UDP.

TCP9977 is used by ATEM Setup, and UDP9910 by ATEM Software.

[...]
My goal is to send datagram to change preview, source, etc ...

Many thanks,


At the risk of being wrong again, OP asks to set the source and preview. That you absolutely *can* do with the router protocol--I'm doing it. Also, OP says two ports are open, but at least two more are open;

9993 (TCP) which signs on and responds to a "help" command by listing other commands it accepts.
9990 (TCP) which is the routing connection, which certainly allows the change of preview and source that' OP requests.

EDIT: a thought occurs, if you try to use these text-based protocols on 9993 and 9990, they dont' work well with telnet on Linux at least, (something about the line ending, I suspect). They work just fine using nc, and they work just fine with network sockets opened in Java or C.)


@Toby, Sorry to disturb, I saw the interesting posts here, but I am a bit stuck in the search to the text commands over telnet.

Can you point me in a direction?
As background i would like to make a Tally Light in a ESP8266 or ESP32 board.
Offline
User avatar

Xtreemtec

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

Re: ATEM Mini TCP/UDP protocol

PostThu Mar 31, 2022 3:40 pm

alegico wrote:@Toby, Sorry to disturb, I saw the interesting posts here, but I am a bit stuck in the search to the text commands over telnet.

Can you point me in a direction?
As background i would like to make a Tally Light in a ESP8266 or ESP32 board.


Hit google and hit Search on Atem Tally ESP32. It is out there and it's easy like pushing it to the controller and there you go.. Why re-invent the wheel??? ;)
Daniel Wittenaar .:: Xtreemtec Media Productions ::. -= www.xtreemtec.nl =-
4K OBV Trailer, ATEM TVS HD, 4M/E Broadcast Studio 4K, Constelation 8K, Hyperdeck Studio 12G, Ursa Broadcast 4K, 4K fiber converters with Sony Control

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 13 guests