Bitfocus AS
logo
logo
Bitfocus AS
logo
logo
Sign upSign in

Loading...

Bitfocus

Subscribe to our newsletter

The latest news, articles, and resources, sent to your inbox.

FacebookInstagramGitHubYouTubeLinkedIn

Products

  • Buttons
  • Companion

Integrations

  • Supported Devices
  • Developer Community
  • Connection Development

Support

  • Support Overview
  • Documentation
  • Video Tutorials
  • Community Forum

Sales

  • Resellers & Integrators
  • Buttons Pricing

Updates

  • Case Studies
  • Events & Trade Shows
  • Press Releases
  • Product Updates
  • Webinars

Legal

  • Legal Overview
  • Privacy Policy
  • Buttons EULA
  • Terms & Cookie Policy

Company

  • About us
  • Press kit
  • Careers

© 2026 Bitfocus AS. All rights reserved.

Physical routing
Docs for
Overview
Getting started
What is Bitfocus Buttons?
Install Buttons and get started
Manage your Buttons license
Activate Buttons offline
Find your way around Buttons
Create your first backup
Add an ATEM connection
Choose a control method
Choose an installation path
Install Buttons on Debian or Ubuntu
Understand HA clustering
Kubernetes HA
Update or remove Buttons
Positions
Understand positions
Create a position
Add controls and sections to a position
Create your first button
Use a connection's presets
Build more capable button actions
Add more feedback to a button
Organize controls in a section
Shift Section
Organize controls with a Folder Section
Add a Popover Section
Build and reuse a Shared Section
Build a Router Section
Understand Custom Routers
Custom Router panel
Surfaces
Surface compatibility
Add and attach a surface
Device orientation
Connections
Update a connection's module safely
Monitor and troubleshoot a connection
Router integrations
VideoHub and AJA KUMO
Utah Scientific BPS
Generic SW-P-08
Nevion VideoIPath
Arkona BLADE//runner
Routing
Physical routing
Configure ports and labels
Take a physical route
Understand route status
Topology graph
Routing Presets
Get started with virtual routing
Configure Nested Shapes
Reverse routing
Tielines
Routing Projects
Routing settings
Troubleshoot a route
Tally
Understand the Tally system
Send ATEM tally and labels to a UMD
Interpret Active Tally state
TSL/UMD connections
Diagnose tally problems
NMOS
Understand NMOS in Buttons
Connect Buttons to an NMOS Registry
Built-in Registry Server
Configure NMOS connections
Discover and adopt
Browse the NMOS inventory
Manage NMOS multicast addresses
Diagnose NMOS problems
Understand Cuelists
Build a Cuelist
Read and advance a running Cuelist
Control a Cuelist from a Position
Workflows
Understand workflows
Build your first workflow
Reuse a group of workflow nodes safely
Troubleshoot a workflow
Recipes
Sequence a timed automation
Call an HTTP endpoint from a workflow
REST endpoint
Use variables
Understand variable scope
Understand nested variables
Update expressions for v1.8
Plan and use Tags
Access
Create and manage users
Create roles and assign permissions
Grant access to specific resources
Show different controls by role
Sessions
Set up PIN and NFC sign-in
SSO
Get started with SSO
Connect a generic OIDC provider
Connect LDAP or Active Directory
Map identity claims to roles
Secure a Buttons deployment
Integrations
External control
Connect to Bitfocus Listener
USB Relay
Install USB Relay on Windows
Install USB Relay on macOS
Install USB Relay on Linux
Install USB Relay on a Raspberry Pi
Get started with the Control API
Secure and monitor the Control API
Control API reference
API reference
Administration
Enable and manage installable features
Services and health
Configure and monitor scheduled backups
Restore a backup and verify it
Export or import Buttons configuration
Store and rotate connection secrets
Replace the HTTPS certificate
HA backup and recovery
Settings
Collect support information
Reference
Glossary
Button Inspector reference
Network ports reference
Expressions
Internal actions reference
Routing Presets panel reference
Startup configuration reference
Workflow nodes
Connection workflow nodes
Workflow workflow nodes
Internal workflow nodes
Position workflow nodes
API workflow nodes
Utility workflow nodes

Loading...

Previous
← Routing
Next
Configure ports and labels →
Contact support →
You are viewing documentation for Buttons 1.8.See the docs for Buttons 1.6
Buttons/Routing/Physical routing

Physical routing

Physical routing connects an individual source port to an individual destination port. Buttons can also present related ports as bundles, allowing one operational choice to represent several compatible signal paths.
This page explains the physical routing model used by connections such as an ATEM or video router. Virtual routing and tielines build on this model but are outside this page's scope.

Start with a source and destination#

A source provides a signal. A camera input, playback output, or router input can appear as a source in Buttons.
A destination receives a signal. A switcher program bus, auxiliary output, monitor feed, or router output can appear as a destination.
A route maps a source to a destination:
Camera 1 → Program 1
 source    destination
The source and destination directions describe their role in the route, not necessarily the label printed beside a connector on the device.

Ports are the routable endpoints#

A port is one routable endpoint. Buttons routes a source port to a compatible destination port.
For an ATEM connection, Camera 1 Video can be a source port and Program 1 Video can be a destination port. The route between them changes one video path.
Ports are the physical routing model's smallest selectable endpoints. Each port belongs to a connection or another routing provider and carries the information Buttons needs to identify and operate it.

Bundles keep related ports together#

A bundle groups ports that represent one operational source or destination.
For example, an ATEM connection could expose these resources:
Camera 1 source bundle
├── Video port
└── Audio port

Program 1 destination bundle
├── Video port
└── Audio port
Routing Camera 1 to Program 1 at the bundle level can request routes for the compatible ports inside both bundles. Routing only Camera 1 Video changes the video port without implying that its audio port also changes.
This distinction matters when inspecting routing state or diagnosing a partial result: the bundle is the operational grouping, while its ports are the endpoints that are actually routed.

Connections supply physical routing resources#

Router-aware connections supply their available source ports, destination ports, bundles, labels, and routing behavior to Buttons. The resources depend on the connected product and the options enabled for that connection.
For example, an ATEM connection can expose inputs as sources and program buses, preview buses, auxiliary outputs, multiviewer windows, or audio destinations as destinations. Disabling one of those routing areas in the connection configuration removes it from the resources the connection supplies.

Choose which label to display#

A connection can supply two labels for a port or bundle:
  • Name is the stable name of the resource. For an ATEM input, this could be Input 1.
  • Ext Custom Label is the user-defined label received from the connected device. For the same ATEM input, this could be Cam 1. It can change when someone renames the input on the ATEM itself.
Buttons also provides User, Setup, and Installation labels that can be maintained in Buttons. These do not replace Name or Ext Custom Label; they are additional display choices.
Each place that displays a port or bundle can choose its label source. For example, the Routing UI can display one label type while a Router Section or Custom Router uses another.

How Label Strategy fallback works#

The selected Display Label is always the first choice. Label Strategy controls what Buttons tries when that label has no value.
The arrows show the fallback order. Buttons starts at the selected label's position and moves to the right until it finds a value. It does not use labels shown to the left of the selected label. For example, with this strategy:
User → Setup → Installation → Ext Custom Label → Name
  • If User is selected, Buttons tries User, Setup, Installation, Ext Custom Label, then Name.
  • If Setup is selected, Buttons tries Setup, Installation, Ext Custom Label, then Name. It does not fall back to User.
  • If Ext Custom Label is selected, Buttons tries Ext Custom Label, then Name.
  • If Name is selected, there is no further fallback.
The available strategies are:
Strategy
Intended use
User → Setup → Installation → Ext Custom Label → Name
Prefer labels maintained in Buttons, then labels supplied by the device. This is the default order.
Ext Custom Label → User → Setup → Installation → Name
Prefer the device's current custom label before labels maintained in Buttons.
User → Setup → Installation → Name
Ignore Ext Custom Label as a fallback. If Ext Custom Label itself is the selected display label, it can still be displayed when it has a value.
Off
Use only the selected display label. If it has no value, display no label.
A fallback uses the first non-empty label it finds. If the ATEM's Ext Custom Label changes, any routing interface currently resolving to that label displays the updated value.

Tip

Choose labels for the people using each routing interface. A Router Section for operators might display User, while an engineering view uses Name or Ext Custom Label to compare Buttons with the connected device.

Current state comes from the controlled system#

Buttons tracks the active source reported for a destination. After a route is requested, the resulting state shows which source the controlled system reports as active.
The request and the reported state are different information. A request can fail, be blocked, or affect only some ports in a bundle. Treat the active source shown for each destination port as the routing state, and use the route result or report to investigate any mismatch.

How the concepts fit together#

Concept
What it represents
ATEM example
Source
The sending side of a route
Camera 1
Destination
The receiving side of a route
Program 1
Port
One routable endpoint
Camera 1 Video
Bundle
Related ports presented as one source or destination bundle
Camera 1 containing video and audio ports
These concepts describe physical routing resources. A virtual route may later refer to higher-level objects, but it must ultimately resolve to routable endpoints such as these.

Where to go next#

  • Learn how to select bundles and take a route.

Was this helpful?

Was this helpful?

0 of 0 users found this page helpful