26 Nov 2020

Stream Deck’s Companion

by Simon Byrne

You’ve heard me talk of the advances made in the computer games industry making their way into our domain before. Here is another one. The Elgato Stream Decks are a range of USB key pads where the buttons are little LCD screens made mainly for online gamers. Being a gaming device, you can pick them up at EB Games, JB HiFi, and Harvey Norman. Alex Hughes goes into their history in CX back in July 2019 (link at the end).

The Stream Deck’s LCD buttons can display labels as well as provide visibility for various states. For example, turn red if your microphone is on.

Stream Decks come with their own software to configure them. However, an open source movement has developed a much more powerful solution called Bitfocus Companion.


This is where it gets really interesting as it opens a huge amount of devices that can be controlled by Stream Decks over a network.

Oh, and it is free and is available for Windows, Mac, and even Linux. Because it is open source, contributors make their own device modules and contribute them back to the project.

Programming Companion in a browser

There are hundreds of devices currently supported ranging from projectors, mixers, switchers, PTZ cameras, lighting desks, software controllers, wireless microphone receivers, and LED screen processors to name just a few.

Companion replaces the Stream Deck’s own software. It is an application that runs in the background of the computer that is hosting the Stream Decks. To make changes, you launch Companion’s GUI in a browser and that is where the magic happens.

First of all, you don’t actually need a Stream Deck if you are happy to click buttons on a screen with a mouse, because it has its own Stream Deck emulator and web button interface. You still get all the features and connectivity, just not with the cool hardware controller.

Within the GUI, you scan for your Stream Decks (if you have any), once that is done, start assigning buttons. You select what devices you wish to control (called instances in Companion) and add them to your template.

Because it is open source, you get a lot of contributions to the project that would be unlikely to occur otherwise. A clever example is Vicreo Listener which gives you the ability to control any computer program that supports hotkeys which you trigger from within Companion.

Bitfocus Companion Emulator for when you do not have the actual device

Vicreo Listener is a small program that sits on the client machine (the machine that needs to be controlled) waiting for incoming TCP connection/commands. It uses pre-defined commands to simulate key presses on the machine.

You can use this program combined with Companion to perform hotkey actions remotely. For example, fire off Ableton, advance Powerpoint slides, or play videos in Resolume.

Very cool and very cheap.

Because Bitfocus is open source, it suffers a little in terms of polish, and understanding some of the programming code does get geeky. Also, some of the GUI layout is less than ideal and programming buttons can get cumbersome and slow.

However, if you push through those irritations it is well worth it. The ability to integrate various devices and software together so control is all in one place is extremely powerful.

Bitfocus Companion Software

Bitfocus Companion

See also ‘Part 1’ from Nov 2020 CX Magazine by Simon Byrne:
‘Get Control… Centrally’ plus –

Alex Hughes, CX July 2019 – ‘How the Gaming Industry Accidentally Created an Industry Leading Product’

CX Magazine – November 2020   

Entertainment technology news and issues for Australia and New Zealand
– in print and free online

© VCS Creative Publishing


Published monthly since 1991, our famous AV industry magazine is free for download or pay for print. Subscribers also receive CX News, our free weekly email with the latest industry news and jobs.