When everyone went into global lockdown mode, I found myself in a strangely fortuitous position: being a musicmaker, dedicating time to making new music and revisiting old projects became an order of magnitude easier than normal. This became true of every music-minded person in my circle, and we re-established our bonds from this resurgence in our collective creativity. This, oddly enough, also introduced an unexpected opportunity to exercise some of my Solutions Architecture skills. Enter: Loner Online.
One of the connections that saw a revival was that of my friend James, Melbourne producer under the alias Zeal, who filled me in on a wild idea he was working on with some folks in his area. Prior to lockdown, Zeal and fellow local producer Laces ran club nights under the name Loner, which abruptly stopped when the COVID-19 pandemic set in. It was clear that the in-person shows would not start up again for some indeterminate stretch. This prompted Velatix, a VR builder in the Loner crew, to roll out a custom virtual reality world as an online music venue, under the banner of Loner Online - and something amazing began.
Each show launches an instance of the Loner Online world in VRChat, where anyone can join into the world, free of cost. While many players join in full virtual reality gear, equally as many players join with their desktop as they would any other PC game. For those who don't have the game or can't join in the world (see mention of the compute demands later in the post), the Loner_Online Twitch account streams each show in its entirety.
Each show features four DJs, where their mixes are streamed into the world through a built-in audio streaming module. DJs performing on the Loner Online decks include Ninajirachi, Just A Gent, six impala, 2ToneDisco, and a host of others from around the world.
The first round of events were streamed to Twitch from an on-premises streaming server, but exhibited a limitation: the server was an older build, and occasionally would have problems mid-show where it would need to be completely rebooted before the stream would come back alive. Naturally this would be disruptive to the shows, and was a huge problem to be solved.
Loner Online, Powered by AWS
Running the VRChat client and streaming it with Streamlabs OBS to Twitch involves heavy compute demands, the kind of which a multi-thousand-dollar gaming PC would be expected to handle. The custom VR world for Loner Online shows features a number of visual effects such as lasers, video walls and a video ceiling, a rain weather effect, and a number of shaders for use at various points during performances. All of these effects are stacked on top of one another when the shows reach their peak, translating to high compute demands on a computer that also has to capture that audiovisual feed at 1080p resolution, and deliver it to Twitch.
The first iteration of a streaming setup from the Loner crew worked well enough, but as the events started taking on a significant following it became apparent that this setup needed to be improved. This brought up a classic question for those in the world of cloud computing: buy a dedicated server, or host it in the cloud? This is where I step in.
After less than a week of digging into the various GPU-backed EC2 instance types, I landed on a
g4dn.4xlarge instance as having the right capabilities for handling CPU and GPU demands, while keeping costs managable for the group. These instances feature NVIDIA Tesla T4 graphics cards, which turned out to be well-suited for this use case. The cost of running each Loner Online show since Vol. 11, in addition to testing done in between shows, has accounted for less than \$50USD/month (\$25USD/show for two shows per month). The setup time was very fast, as we were able to switch over to using an AWS-based stream server in time to be able to run the next upcoming show without having any downtime. This meant that the only evidence of a change from the perspective of the viewers was an improved-quality viewing experience.
Comparing this to the multi-thousand-dollar dedicated streaming server approach, the benefits are clear.