Page 1 of 1

Acessing Zoom Level

PostPosted: Tue Dec 11, 2018 3:59 pm
by seankahn
Hello Everyone

I know that it is possible to query an atem switcher via UDP to get the list of configurations set forth by a camera control software.

For example, consider this:

Software on pc ----- sets color temp 5600 k ----> sends data via UDP ---> sends the data to atem mixer

and

second pc --- sends query to ATEM via UDP ---> atem
second pc <--- receives data from atem via UDP --- atem

now, i can get all the camera information by looking at the packets with CCdP marker inside it. If you have an array of bytes, such as CCdP {id} \x00\x00 , then the value of focus is on bytes 16 and 17, and ending with \x02 gives you iris.

Outdated documentation here : skaarhoj [dot] com/fileadmin/BMDPROTOCOL [dot] html

However, there is no way to access the zoom. Zoom would be \x00\x09 according to wireshark. However, there is no bytearray with CCdP{id}\x00\x09. Seems that the mixer does not specify that value.


What can I do to resolve this?

Re: Acessing Zoom Level

PostPosted: Wed Dec 12, 2018 2:16 pm
by Xtreemtec
You wont get any help here on the Atem protocol. As this protocol is propertary and BMD does not support anyone that tries to direct interface it.

There are options like using the Atem SDK if you want to write your own application on windows or mac.. ;) The SDK will handle all communication between the Atem and your application.

Re: Acessing Zoom Level

PostPosted: Thu Dec 13, 2018 5:39 am
by Ian Morrish
Although the ATEM implements the camera protocol which is documented in the camera manual for anyone to implement, the ATEM adds some extra functionality to "remember" what values have changed, where those change were initiated from something connected to the ATEM (BMD software, panels, 3rd party things using the official API).
This allows multiple client applications and control panels to "listen" for updates coming back from the atem when any individual app or panel makes a change, so they can all display the current setting.

The data must be there in the UDP stream but as Daniel says, not support and not guaranteed to follow a pattern the you expect to see.

I do know with the API that you have to register a callback to say what changes you are interested in updates for, otherwise nothing is "broadcast". I remember from writing my API based PowerShell interface for camera control that I could also change the frequency that data was resent to cameras (this overwrites any values that you might manually set through the camera interface).

There is no data ever read back from the camera though.