Control an ATEM Video Switcher from an ESP32 with ESP-idf
  • C++ 98.8%
  • CMake 1.2%
Find a file
2026-03-07 15:58:09 +01:00
example Moved from raw pointers to std::vector and initial code for better out of order packet handeling 2024-08-25 17:47:22 +00:00
include Added missing Create function to the commands 2026-03-07 15:58:09 +01:00
src feat: Add packet_id to all Get state command where its possible 2026-03-02 18:50:28 +01:00
.gitignore Add events to received commands 2023-07-27 14:10:55 +02:00
CMakeLists.txt refactor: Remove old references to console 2023-12-27 15:51:12 +01:00
Doxyfile Add support for new commands, and added more documentation 2023-06-07 11:43:40 +02:00
idf_component.yml docs: Add example to project 2024-03-31 22:31:43 +02:00
Kconfig feat: Allow the disable of packet storage 2024-01-03 16:02:18 +01:00
LICENSE Moved from raw pointers to std::vector and initial code for better out of order packet handeling 2024-08-25 17:47:22 +00:00
README.md Moved from raw pointers to std::vector and initial code for better out of order packet handeling 2024-08-25 17:47:22 +00:00

ATEM Communication for ESP-IDF

*THIS CODE COMES WITH ABSOLUTELY NO WARRANTY

Notice

ATEM, ATEM CONTROL and all other references to Blackmagic Design are trademarks of Blackmagic Design Pty. Ltd.

This code is based on the reverse engineering of the ATEM protocol by SKAARHOJ (source). [CC BY-SA 2.0]

This list contains other notable projects that where used during the making of the library.

How can I use this?

This code is designed for an ESP32 with an LAN8720 chip, but it should work on just a normal ESP32. There is a linux-port branch on this repo, its a modified version of this code that can be compiled and run on any linux device.

There are two examples inside the example directory:

  • basic-preview-switcher
  • atem-console

You can use doxygen to generate documentation, just run doxygen Doxyfile.

License

The MIT License (MIT) - Copyright (c) 2023 Wouter (wjtje)