Radio audio interfacing for livestreaming
A long running goal of mine was to be able to live stream audio of amateur radio traffic to the internet. The places I wanted to be able to stream that to vary quite a bit, with the options of Youtube, Twitch, or Discord all being typical cases I might want.
Additionally, I have a goal of being able to livestream both audio and video, specifically to eventually allow live decoders for slow scan TV, or live playback of digital modes like FT8. So this isn't an audio only solution.
I particularly like the Anytone 578 series of radios. Analog FM and DMR support covers the 2m and 440mhz modes I use most often. So, how to get the audio from that radio to somewhere I can use it usefully. I also have an interest in live production setups for streaming to conferences, so when I encounted the Rode Caster Video (and the smaller S variant), with it's extensive audio handling and routing support, I had an idea.
The Anytone radio has a bluetooth stack in it that can be attached to a number of accessories they produce, or your car's head unit. The radio speaks headset profile as a "phone" and attaches to other devices which claim to be "headsets" over headset profile. In my truck, this works remarkably well. One of the more useful features from my perspective is that it interrupts the playing entertainment audio as a phone call when there's traffic on the channel, and after a time out, hangs up, and the 'music' continues.
The Rode Caster Video has a bluetooth stack in it that claims to be a headset. This allows you to attach the Rode Caster Video as a headset to a phone. Presumably this lets you bring in a remote party over the phone line to the live production.
So, I have a radio that claims to be a phone, and a Rode Video caster that claims to be a headset. Hypothetically, I can connect the two and have a bidirectional controlled audio link that I can use the Rode Video Caster to manage the mix going to and from the radio.
Yes, the connection between the two establishes. This is where the good news ends.
The latency over bluetooh is... notable. Like, 100ms. Enough to make me question the connection. Radio to Caster audio path is .... sharp, and not in a good way. It's sort of vocoder / robotic sounding. Caster to Radio, however, there's some sort of buffering going on that's transmitting the wrong audio at the wrong time.
My best guess at the time of writing is that the Rode Caster's internal audio buffer for the bluetooth stack is filling up, but since the Radio doesn't want the data, because the PTT button isn't pressed, it's not accepting the stream. When the PTT gets pressed, the data flows from the Caster to the Radio, and you get whatever audio was sitting in buffer, probably from seconds to minutes ago, long before you pressed the PTT button. I further believe the buffer is a circular buffer of some sort, and as such, will forever be seconds behind your transmitting audio, and will never catch up.
So, uh, that's not going to work. Time to go back to analog interfacing.