https://github.com/bdogan/go-atem
BlackMagicDesign ATEM switcher protocol implementation. Written in go.
https://github.com/bdogan/go-atem
atem go golang iot
Last synced: 5 months ago
JSON representation
BlackMagicDesign ATEM switcher protocol implementation. Written in go.
- Host: GitHub
- URL: https://github.com/bdogan/go-atem
- Owner: bdogan
- Created: 2018-11-04T10:12:55.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-11-19T02:28:53.000Z (over 7 years ago)
- Last Synced: 2024-06-20T11:11:04.720Z (about 2 years ago)
- Topics: atem, go, golang, iot
- Language: Go
- Homepage:
- Size: 78.1 KB
- Stars: 13
- Watchers: 4
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
# ATEM
BlackMagicDesign ATEM switcher protocol implementation. Written in go.
## Installation
```sh
go get -u github.com/bdogan/go-atem
```
## Usage
ATEM client requires IP address to connect device
```go
package main
import (
"log"
"github.com/bdogan/go-atem"
)
type app struct {
atemClient atem.Atem
}
func (at *app) onAtemConnected() {
log.Printf("ATEM connected at %s. UID:%d\n", atemClient.Ip, at.atemClient.UID)
log.Printf("Product ID: %s, Protocol Version: %s\n", at.atemClient.ProductId.String(), at.atemClient.ProtocolVersion.String())
}
func (at *app) onAtemClosed() {
log.Println("Connection closed")
}
func main() {
// Create Application
app := app{
atemClient: atem.Create("192.168.0.2", true),
}
// Set connected handler
app.atemClient.On("connected", app.onAtemConnected)
// Set closed handler
app.atemClient.On("closed", app.onAtemClosed)
// Make connection
app.atemClient.Connect()
}
```
## Reference
* [BlackMagic ATEM Switcher Protocol @kasperskaarhoj](https://www.skaarhoj.com/fileadmin/BMDPROTOCOL.html)