This guide walks you through configuring Bitfocus Companion to bridge tally signalling from a Blackmagic Design ATEM switcher to a BirdDog PTZ camera. When a camera input goes to Program on the ATEM, Companion detects the tally state and sends a VISCA command to illuminate the red tally light on the camera.
Compatible BirdDog cameras:
● BirdDog P4K
● BirdDog P240 / P400
● BirdDog X1 / X1 Ultra / X1 MAX
● BirdDog MAKI series
● Bitfocus Companion installed — v4.3.1 or later recommended
● BirdDog camera and ATEM switcher on the same network
● BirdDog camera IP address (check the BirdDog web UI or NDI Discovery)
● ATEM switcher IP address
● The ATEM input number corresponding to your camera (e.g. Input 1)
Note: | These screenshots use Companion v4.0.3. Steps are identical in v4.3.1+. Upgrade via the banner shown in the UI. |
Companion needs two connections: one to the ATEM (to receive tally state) and one to the BirdDog camera via VISCA (to fire the tally light command). Both must show a green tick before proceeding.
1.1 Add the ATEM Connection
2. Click Connections in the left navigation.
3. Click + Add connection, search for atem, select Blackmagic Design ATEM.
4. Configure with the settings below, then click Save.
Setting | Value |
Label | atem |
Module Version | v3.18.0 (Latest stable) |
Device | Manual |
Target IP | Your ATEM IP address (e.g. 192.168.1.129) |
Model | Auto Detect |
Preset Style | Short Names |
Enable Camera Control | Off — leave disabled |
Note: | The Detected Model field populates automatically once connected. In the example it detected Mini Pro. |
ATEM connection configuration
1.2 Add the VISCA Connection
1. Click + Add connection, search for VISCA, select Sony VISCA.
2. Configure with the settings below, then click Save.
Setting | Value |
Label | VISCA |
Module Version | v2.7.5 (Latest stable) |
Target IP | Your BirdDog camera IP address (e.g. 192.168.1.82) |
Target Port | 52381 (default — do not change) |
Camera Id | id 1 (default) |
Camera Model | Other Camera |
Frame Rate | Match your camera output (e.g. 59.94 or 29.97) |
Note: | Port 52381 is the standard VISCA over IP port for all BirdDog cameras. Ensure no firewall is blocking this port between the Companion host and the camera. |
VISCA connection configuration
Triggers watch for ATEM tally state changes and fire VISCA commands in response. You need two triggers per camera: one to turn the tally On and one to turn it Off.
2.1 Trigger: Input 1 Tally On
Fires when the camera input goes live to Program on the ATEM.
1. Click Triggers in the left navigation.
2. Click + Add Trigger and name it Input 1 Tally On.
Event
1. Click + Add event and select Input Tally Trigger.
2. Set the event type to On condition becoming true.
Condition
1. Click + Add condition and select atem: Tally: Program.
2. Set Input to the ATEM input your camera is on (e.g. X1 30x for Input 1).
3. Leave Invert OFF — triggers when the input IS on program.
Action
1. Click + Add action and select VISCA: Tally (on/off).
2. Set On / Off to On.
3. Set Color to Red.
Note: | 'X1 30x' is Input 1 on a Mini Pro. Your switcher may label inputs differently — check Companion's dropdown for the correct value. |
Input 1 Tally On trigger — Invert is OFF
2.2 Trigger: Input 1 Tally Off
Fires when the camera input leaves Program on the ATEM.
1. Click + Add Trigger and name it Input 1 Tally Off.
Event
Same as the Tally On trigger:
● Event type: Input Tally Trigger
● Condition type: On condition becoming true
Condition
1. Add condition: atem: Tally: Program.
2. Set Input to the same input as the Tally On trigger.
3. Enable Invert — toggle Invert ON. Makes the condition true when the input is NOT on program.
Action
1. Add action: VISCA: Tally (on/off).
2. Set On / Off to Off.
3. Set Color to Red.
Note: | Critical difference: Tally On = Invert OFF. Tally Off = Invert ON. Getting this backwards is the most common mistake — the tally will never extinguish. |
Input 1 Tally Off trigger — Invert is ON
1. Verify both triggers are enabled — the toggle in the trigger list should be red/active.
2. Cut the camera input to Program on your ATEM. The BirdDog tally light should illuminate red immediately.
3. Cut away from the input. The tally light should extinguish.
4. Use the Test actions button (top right of each trigger in Companion) to manually fire actions for debugging without touching the ATEM.
Step 4 — Adding More Cameras
To add tally for additional camera inputs, repeat Steps 1.2 and 2 for each camera:
● Add a new VISCA connection for each camera with its own IP and label (e.g. VISCA-CAM2).
● Create a new Tally On and Tally Off trigger pair, referencing the correct ATEM input and VISCA connection.
Note: | Duplicate existing triggers using the copy icon in the trigger list, then edit the Input and VISCA connection to save time. |
Setting | Value |
Tally never fires | Check both connections show a green tick. Verify ATEM IP and camera IP are reachable from the Companion host. |
Tally stays on after cut away | Confirm the Tally Off trigger has Invert ENABLED. Without Invert, the Off trigger never evaluates true. |
Wrong camera tallies | Double-check the ATEM Input field in each trigger's condition matches the correct input number. |
VISCA connection error | Confirm port 52381 is open. Ping the camera IP from the Companion host. Ensure no other app is using VISCA on that camera. |
Companion update banner | Update to v4.3.1 via the banner. The ATEM and VISCA modules shown are fully compatible with the current release. |