22 Apr 2020   software
Disclaimer: I work at Facebook, but not on Portal.
Facebook Portal is great for keeping in touch with distant relatives. Having a dedicated screen for video calls makes all the difference.
Recently, my family got the itch to play a game - any game - over video chat. I suggested we try Jackbox Games since they’re basically designed for remote play. Later I realized that the multiple screens required to participate might pose a barrier to some players, my grandparents in particular. By default, we’d each need:
Thankfully, with some fiddling, I figured out how to share the game screen to the Portal (Messenger) call, reducing the number of screens required from three to two. Portal prevents screen sharing - I have no idea why - so I had to trick Messenger into thinking the game running on my desktop was a webcam, and then join the call. Here’s how I did it:
I used OBS to compose a scene consisting solely of the game. Then I downloaded OBS-VirtualCam, a tool that makes OBS output available as a virtual webcam. After enabling the tool by clicking the “Start” button, the virtual webcam was recognized by Chrome. For some reason, the Messenger web client refused to allow me to choose the virtual camera (the dropdown was disabled), but unplugging my physical webcam was enough to get Messenger to default to the virtual one. Within only a few minutes, I could call my desktop from my Portal, using separate Messenger accounts, and display the game screen on the device.
Unfortunately, I couldn’t get the audio to work. Turns out, OBS-VirtualCam explicitly doesn’t support it yet. The reason?
“Microsoft request a paid certificate to create a virtual sound card.” -CatxFish
Since OBS doesn’t solve the audio problem, I needed to find something that does. After a bit of searching I stumbled upon a few threads mentioning VB-Audio Voicemeeter Banana, a virtual audio mixer, and decided to give it a go. It’s like OBS, but for audio. I watched a YouTube video to learn the basics and quickly figured out a simple setup that requires nearly zero configuration:
One note: I had to select a main output device - the flashing prompt in the upper right corner - before sound actually came through on the Portal. I chose my headphones but I don’t think it matters.