Avbutil
`avbutil` is used for the management of AVB features and settings. It enables control of AVB entities using the AVDECC (IEEE 1722.1) protocol.
Typically, the Audio MIDI Setup application is enough for most users to manage their audio interfaces, including routing audio to/from an AVB audio interface. For those users needing more control over the AVB routing, or for those users who are simply curious about the deeper workings of AVB on macOS, the `avbutil` command is for them.
The `avbutil` command is included in macOS since macOS Sierra, which was the first macOS release supporting AVB. Coincidentally, it was also the first macOS release that supported Thunderbolt, which happens to be a corresponding requirement for supporting AVB on Mac hardware.
- AVDECC Entity Controller
The AVDECC Entity Controller window is used to see the available AVB devices on the network, and to see (and in some cases alter) their active configurations.
<tbody bgcolor="lightblue"></tbody>💡 | Tip:The controller window is started by opening Terminal, and calling the `avbutil` command. |
``` $ avbutil avbutil 900.12
avbutil> controller ```
Once started, a window will appear that lists all the available AVB devices on the network. Here you can see three different MOTU audio interfaces that are currently connected.
- AVB Audio Entity Configuration
The AVB Audio Entity Configuration window shows the active configuration of an AVB audio entity.
<tbody bgcolor="lightblue"></tbody>💡 | Tip:The configuration window is opened by first starting the AVDECC Entity Controller (see above), then selecting Audio Entity Configuration from the Window menu, or by typing Cmnd-1. |
Entities can be selected by clicking on their names. In the image above, the MOTU 16A is currently selected. By default, no entities are selected.
- AVDECC Connection Matrix
The AVDECC Connection Matrix window shows what AVB streams are patched where. This tool is used to patch AVB Talkers and AVB Listeners with each other.
<tbody bgcolor="lightblue"></tbody>💡 | Tip:The matrix window is opened by first starting the AVDECC Entity Controller (see above), then selecting AVDECC Connection Matrix from the Window menu, or by typing Cmnd-4. |
Talkers are listed across the top, and Listeners across the left.
In the image above, one can see that the Stream 1 and 2 outputs of the MOTU 24Ai device are patched to the Stream 1 and 2 inputs of both the MOTU 16A and MOTU 24Ao devices. This means that both the 16A and 24Ao devices will receive exactly the same signals. (To note, MOTU AVB streams are 8 channels wide, so this example demonstrates the routing 16 channels of audio.)
The settings demonstrated can also be achieved using the MOTU Pro Audio Control user interface. Any changes made in the MOTU UI will also be reflected in real-time on the connection matrix UI.
- Appendix
- Known avbutil versions
- Appendix
OS | Version | .0 | .1 | .2 | .3 | .4 | .5 | .6 | .7
| ------- | -- | -- | -- | -- | -- | -- | -- | --
macOS Big Sur | 11.0 | | 900.12 macOS Catalina | 10.15 | | | 800.17 | | | | | 850.1 macOS Mojave | 10.14 | | | | | (740.1) | | 760.6 macOS High Sierra | 10.13 macOS Sierra | 10.12 | | | | | | | 506.1
(*) v740.1 needs to be verified.
- Alternative AVDECC Controllers
[L-Acoustics](https://www.l-acoustics.com/) provide a set of open source libraries for controlling AVB entities using the AVDECC protocol that is compliant to Avnu Milan specifications. The libraries are available at https://github.com/L-Acoustics/avdecc.
[Pivitec](http://www.pivitec.com/) once produced AVB hardware that interfaced with the Avid S3L console. They provided their own AVDECC Controller to manage the hardware. It is still possible to download their [AVDECC Controller](http://www.pivitec.com/avdecc-controller/), although it has not been updated since mid-2015.