HBLink to IceCast


Rich Schmitt
 

Hello everyone.   
 I have been searching the interweb for a while now looking for some documentation on how to take a feed from HBLink to IceCast.  I have both the HBLink Server and the IceCast server up and running, now I am working on getting an audio feed from HBLink to IceCast.  I am assuming that I would need something like MMDVM_Bridge -> Analog_Bridge but I am not really sure.  If anyone has a How-To or can point me in the right direction, that would be great.

Thank you all

Rich


Randy AA6RH
 

Hi Rich,

Pretty sure no such how-to exists for this exact problem. If there is some way for IceCast Server to tie into a UDP-based analog PCM stream, I'm pretty sure you can get things plumbed together. Looks from the documentation there that they want an OGG or MP3 stream. You may end up needing a tool like ffmpeg to act as a go-between, and you'll need something to keep the stream going when there's no audio coming into Analog_Bridge.

Other than that, experiment and let us know what you find out.

Cheers,

--R
--
Randy Hall AA6RH (not K7AGE, quit asking) 😁


Paul Nannery KC2VRJ
 

you could use analog-brige to asterisk and asterisk to icecast. 


On Wed, Mar 11, 2020, 12:16 AM Randy AA6RH <aa6rh@...> wrote:
Hi Rich,

Pretty sure no such how-to exists for this exact problem. If there is some way for IceCast Server to tie into a UDP-based analog PCM stream, I'm pretty sure you can get things plumbed together. Looks from the documentation there that they want an OGG or MP3 stream. You may end up needing a tool like ffmpeg to act as a go-between, and you'll need something to keep the stream going when there's no audio coming into Analog_Bridge.

Other than that, experiment and let us know what you find out.

Cheers,

--R
--
Randy Hall AA6RH (not K7AGE, quit asking) 😁


Randy AA6RH
 

Does Asterisk have an RTMP/RTSP stream socket capability? I mean, I wouldn't necessarily be surprised, but having to install Asterisk just for that one thing seems like a big ask.

--
Randy Hall AA6RH (not K7AGE, quit asking) 😁


Paul Nannery KC2VRJ
 

it does useing the outstream command in rpt.conf


On Wed, Mar 11, 2020, 12:24 AM Randy AA6RH <aa6rh@...> wrote:
Does Asterisk have an RTMP/RTSP stream socket capability? I mean, I wouldn't necessarily be surprised, but having to install Asterisk just for that one thing seems like a big ask.

--
Randy Hall AA6RH (not K7AGE, quit asking) 😁


W8DSB
 

Can I ask what you’re trying to cast? I am casting both ARN and ARRL news via an asterisk app. Not much else is legal in ham links.


Sérgio PU5SMS
 

Hello Randy ... I intend to add a list of the TGs on the website of our HBlink server ... well, in green I already have this implemented today, but in a not very elegant way ... hihihi ... what I did was to install Ices and Icecast2 and put two HTs one on each TG and then play on two audio converter dongles connected to the server and from there provide an address for listening ... of course this adds a lot of delay (20 seconds more or less) ... I'm trying to improve this ... do you have any idea how it could be? ... do I have any permanent flow port available on HBlink that I could use in this project? ... some questions:
1 - on which port do I listen to the PCM that you mentioned in your text?
2 - which and how do you suggest that I use the existing tools in HBlink3 and what new tools would I need (can I try to develop something)?
 
Thanks.
 
73's!
-
PU5SMS - SAEZ
South of Brasil


Randy AA6RH
 

I'm not sure you can do much about the delay, there's a very real amount of overhead and latency in the audio transcoding and buffering that exists with streaming audio out from an IceCast style service.

As for the RF hops to get audio out of DMR and onto an audio stream, I've heard of worse.

--R
--
Randy Hall AA6RH (not K7AGE, quit asking) 😁


Patrick Perdue
 

Assuming you don't have Icecast set up to buffer X bytes of the stream when it is requested by a client, the higher the bitrate, the shorter the delay. Remember, this is TCP, not UDP. For my stream from an Allstar node, I use a higher than necessary bitrate, in this case, 128 kb/sec at 22,050 hz mono with anti-aliasing, way overkill, just to decrease the latency. I can get the round-trip down to about a second between me and my icecast server about 1000 miles away at that bitrate. If I start playing with FLAC lossless which many clients can't play back, I can get that latency down even further just because the data is coming in and going out much faster. There is also an Amazon Alexa skill for my node stream, which uses it's own relay server. This adds some latency, but it's still only about 5 seconds or so. I hope to decrease that a bit at some point.


Sérgio PU5SMS
 

Randy, I understand what you said, but that's exactly why I want to open another path ... I thought about doing everything more directly from the birdges we have available and maybe a tool like 'ffmpeg lame 'would that be possible? ... where, in the HBlink project, could I capture the PCM for this? ... what connections between bridges would be needed? ...

Thanks!

PU5SMS - SAEZ


Em sáb., 16 de jan. de 2021 às 00:17, Randy AA6RH <aa6rh@...> escreveu:

I'm not sure you can do much about the delay, there's a very real amount of overhead and latency in the audio transcoding and buffering that exists with streaming audio out from an IceCast style service.

As for the RF hops to get audio out of DMR and onto an audio stream, I've heard of worse.

--R
--
Randy Hall AA6RH (not K7AGE, quit asking) 😁


--
PU5SMS - Saez
South of Bazil


Sérgio PU5SMS
 

Patrick, thanks for your help ... I don't know how I set it up, but I'll look at it more closely ... 5 seconds would be a very good improvement although my goal is 1 second or less ... but I will check this out configuration ... what value would you recommend for this variable? ... is this an Icecast or Ices variable? ... I have both running on the same server and connected by localhost ...

Thanks!

PU5SMS - SAEZ


Em sáb., 16 de jan. de 2021 às 06:06, Patrick Perdue <patrick@...> escreveu:

Assuming you don't have Icecast set up to buffer X bytes of the stream when it is requested by a client, the higher the bitrate, the shorter the delay. Remember, this is TCP, not UDP. For my stream from an Allstar node, I use a higher than necessary bitrate, in this case, 128 kb/sec at 22,050 hz mono with anti-aliasing, way overkill, just to decrease the latency. I can get the round-trip down to about a second between me and my icecast server about 1000 miles away at that bitrate. If I start playing with FLAC lossless which many clients can't play back, I can get that latency down even further just because the data is coming in and going out much faster. There is also an Amazon Alexa skill for my node stream, which uses it's own relay server. This adds some latency, but it's still only about 5 seconds or so. I hope to decrease that a bit at some point.


--
PU5SMS - Saez
South of Bazil


Randy AA6RH
 
Edited

Okay, let me try to break it down a bit more succinctly.

You need to use several pieces of software to make this kind of bridge work.

  • HBLink can't decode the DMR data stream into audio. This tool is very flexible, but encoding and decoding analog audio is not its purpose.
  • Using a combination of MMDVM_Bridge and Audio_Bridge from the DVSwitch set of tools, along with some kind of AMBE decoder, you can produce an audio stream
  • From there, you can source an IceCast stream for internet listening.
I hope that helps a bit more. You need to broaden your toolkit and spend time in our parent forum.

--R
--
Randy Hall AA6RH (not K7AGE, quit asking) 😁


Sérgio PU5SMS
 

OK Randy ... I assure you that my research on the forum is well advanced, I just wanted to take a shortcut ... I think I will leave as if it were to attach an analog repeater and then I will be drying what I don't need, and increasing it is necessary ... but I would like to take advantage of everything that is already ready ... if any other participant here on the forum has another idea or another on the way to show, please let me know ...

Thanks...

PU5SMS - SAEZ


Em dom., 17 de jan. de 2021 às 14:20, Randy AA6RH <aa6rh@...> escreveu:

Okay, let me try to break it down a bit more succinctly.

You will need to use several pieces of software to make this kind of bridge work.

  • HBLink does not possess the ability to decode the DMR data stream into audio. This tool has a lot of flexibility, but encoding and decoding to analog audio is not its purpose.
  • Using a combination of MMDVM_Bridge and Audio_Bridge from the DVSwitch set of tools, along with some kind of AMBE decoder, you should be able to arrive at an audio stream
  • From there, you should be able to source an IceCast stream for internet listening.
I hope that helps a bit more. You need to broaden your toolkit and spend time in our parent forum.

--R
--
Randy Hall AA6RH (not K7AGE, quit asking) 😁


--
PU5SMS - Saez
South of Bazil


Patrick Perdue
 

I've never done it this way, but I expect you can hack a stream together using HBlink > MMDVM_Bridge > Analog_Bridge > MD380-Emu > lame > ezstream, sending raw PCM data from MD380-emu to lame, which sends to icecast via ezstream. I'm not doing it like that, since I also have ASL involved. app.rpt has the outstreamcmd configuration for sending audio from a pipe to somewhere else. In this case, I' using mptee from HamVoIP, which I have compiled for X64, then splitting that out a few different ways, while I'm also simultaneously streaming from a physical piece of hardware connected to a local ASL node for a higher bitrate, less latent stream that I can't get from the mptee configuration without involving even more pipes and points of failure. I have a 16 kbps stream going to broadcastify, a 64 kbps stream that is launched on demand when a schedule calls for it, and a 128 kbps stream from hardware to another icecast mountpoint.

If you want a practical example of what I'm doing, you can connect to my system via any of the modes listed at www.BlindHams.com, except P25, which isn't currently bridged, then listen to the stream from the website, via "the blind hams network" alexa skill, or from the link provided on that website.


On 1/17/2021 12:20 PM, Randy AA6RH wrote:
Okay, let me try to break it down a bit more succinctly.

You will need to use several pieces of software to make this kind of bridge work.

  • HBLink does not possess the ability to decode the DMR data stream into audio. This tool has a lot of flexibility, but encoding and decoding to analog audio is not its purpose.
  • Using a combination of MMDVM_Bridge and Audio_Bridge from the DVSwitch set of tools, along with some kind of AMBE decoder, you should be able to arrive at an audio stream
  • From there, you should be able to source an IceCast stream for internet listening.
I hope that helps a bit more. You need to broaden your toolkit and spend time in our parent forum.

--R
--
Randy Hall AA6RH (not K7AGE, quit asking) 😁


Sérgio PU5SMS
 

Hello Patrick ... I liked what you sent me ... thanks ... I was really within that line of thought ... using the MD380-emu is undoubtedly essential ... with the help you sent and some more work I think I can do something functional ... I send news about what I get ...
Thanks!

PU5SMS - SAEZ


Em dom., 17 de jan. de 2021 às 15:56, Patrick Perdue <borrisinabox@...> escreveu:

I've never done it this way, but I expect you can hack a stream together using HBlink > MMDVM_Bridge > Analog_Bridge > MD380-Emu > lame > ezstream, sending raw PCM data from MD380-emu to lame, which sends to icecast via ezstream. I'm not doing it like that, since I also have ASL involved. app.rpt has the outstreamcmd configuration for sending audio from a pipe to somewhere else. In this case, I' using mptee from HamVoIP, which I have compiled for X64, then splitting that out a few different ways, while I'm also simultaneously streaming from a physical piece of hardware connected to a local ASL node for a higher bitrate, less latent stream that I can't get from the mptee configuration without involving even more pipes and points of failure. I have a 16 kbps stream going to broadcastify, a 64 kbps stream that is launched on demand when a schedule calls for it, and a 128 kbps stream from hardware to another icecast mountpoint.

If you want a practical example of what I'm doing, you can connect to my system via any of the modes listed at www.BlindHams.com, except P25, which isn't currently bridged, then listen to the stream from the website, via "the blind hams network" alexa skill, or from the link provided on that website.


On 1/17/2021 12:20 PM, Randy AA6RH wrote:
Okay, let me try to break it down a bit more succinctly.

You will need to use several pieces of software to make this kind of bridge work.

  • HBLink does not possess the ability to decode the DMR data stream into audio. This tool has a lot of flexibility, but encoding and decoding to analog audio is not its purpose.
  • Using a combination of MMDVM_Bridge and Audio_Bridge from the DVSwitch set of tools, along with some kind of AMBE decoder, you should be able to arrive at an audio stream
  • From there, you should be able to source an IceCast stream for internet listening.
I hope that helps a bit more. You need to broaden your toolkit and spend time in our parent forum.

--R
--
Randy Hall AA6RH (not K7AGE, quit asking) 😁


--
PU5SMS - Saez
South of Bazil