Boatbod OP25 GUI / no audio

n8zuz

Member
Joined
Jul 17, 2004
Messages
24
Location
Windy WY
I've got Linux Mint 20 running on an old laptop. I followed the instructions online from a few places and I got op25 working just dandy on the laptop in relatively short order. It was pretty painless to setup everything including TGIDs.

I have the GUI running on that laptop and I'm getting audio from there but when I run the gui on my desktop I get the gui screen fine, see the talkgroups, etc but I don't get any audio. I was assuming it would have audio but perhaps not. I did a search here on RR but I didn't find an answer.

My script I'm running is:
./rx.py --args 'rtl' -N 'LNA:47' -S 2500000 -T trunk.tsv -o 17e3 -q -1 -l trunk.tsv -w -2 -U 2> stderr-stream0.2 -l http:0.0.0.0:8080

Is it the -U causing this to play locally but not on the gui version? Does the gui version need icecast setup? I know it would if I were using VLC or Winamp or at least I think it would.

Thanks to all who have programmed this up. I love how it runs so lightly from a resource standpoint.

Thanks,
N8ZUZ
 

boatbod

Member
Joined
Mar 3, 2007
Messages
2,817
Location
Talbot Co, MD
The GUI is a terminal only and does not natively have the capability to stream audio. You'd have to set up op25 to stream to an icecast server and then open the stream on the same browser that you are watching the terminal.
 

n8zuz

Member
Joined
Jul 17, 2004
Messages
24
Location
Windy WY
I thought that might be the case. I had streamed thru icecast many years ago with a trunk tracker scanner so I'll just have to do similarly. Boatbod, the software is really cool that you have going. Thanks for your work!
 

KA1RBI

Member
Joined
Aug 15, 2008
Messages
684
Location
Portage Escarpment
For what it's worth... HTTP Live Streaming (HLS) is supported as an option in osmocom OP25


These hacks ("OP25-hls hacks") add a new option for audio reception
and playback in OP25; namely, via an HTTP live stream to any remote
client using a standard Web browser. The web server software used
(nginx) is industrial-strength and immediately scalable to dozens or
hundreds of simultaneous remote users with zero added effort. More
than one upstream source (in parallel) can be served simultaneously.
 

n8zuz

Member
Joined
Jul 17, 2004
Messages
24
Location
Windy WY
Years before I was broadcastifying a feed, I had setup icecast with my BCD396T that I could log into with winamp and get the TGID data and audio. Is that not possible with either variant of OP25?

Sorry if I sound frustrated but I guess I am as I've spent hours trying to get this function to work. I want to be able to have a few listeners at work have access to the feed but I'm finding it a bit difficult to setup. Time for bed I guess.
 

wgbecks

Member
Joined
Jan 17, 2005
Messages
416
Location
NE Wisconsin
Years before I was broadcastifying a feed, I had setup icecast with my BCD396T that I could log into with winamp and get the TGID data and audio. Is that not possible with either variant of OP25?
Liquidsoap is probably the most desirable tool to stream audio from op25 to your personal Icecast server or to BCFY if you are a feed provider.
However, only the Boatbod repo currently has the capability to transmit metatags to accompany your audio stream.
 

n8zuz

Member
Joined
Jul 17, 2004
Messages
24
Location
Windy WY
Forgive me for the newbie questions. I have used icecast many years ago but I have forgotten most of what I knew. So from OP25, what is the purpose of liquidsoap and icecast?

I have tried to follow directions from the "readme" files for liquidsoap but I can tell you there are broken dependencies. I did use Synaptic software manager to install icecast2 because that was available and usually takes care of dependency hell.

I have boatbod up and running on my computer. Is there a good how-to video or webpage to show how to get liquidsoap and icecast working together with boatbod OP25 so I can get audio from any device on my internal network?

Thanks,
N8ZUZ
 

boatbod

Member
Joined
Mar 3, 2007
Messages
2,817
Location
Talbot Co, MD
Forgive me for the newbie questions. I have used icecast many years ago but I have forgotten most of what I knew. So from OP25, what is the purpose of liquidsoap and icecast?

I have tried to follow directions from the "readme" files for liquidsoap but I can tell you there are broken dependencies. I did use Synaptic software manager to install icecast2 because that was available and usually takes care of dependency hell.

I have boatbod up and running on my computer. Is there a good how-to video or webpage to show how to get liquidsoap and icecast working together with boatbod OP25 so I can get audio from any device on my internal network?

Thanks,
N8ZUZ
I'm not aware of "broken dependencies" in Ubuntu 20.04 or derivatives; please elaborate what distro and what errors you are seeing.
That aside, the purpose of Liquidsoap is to act as the interface between op25 and a streaming server such as broadcastify. It can do much more (e.g. audio level normalization) but for the most part streaming is the primary purpose. There are other clients you can use e.g. Darkice but in the past we've encountered issues keeping that running, particularly with loopback devices on RPI3b.
 

n8zuz

Member
Joined
Jul 17, 2004
Messages
24
Location
Windy WY
It's been several days now since I tried getting liquid soap going but I'm using Linux Mint, I believe 20.1 or 20.2

So, if I get liquid soap to pass the audio to icecast and get icecast setup correctly, I can use VLC or Winamp to listen to the audio and get the meta tags?
 

wgbecks

Member
Joined
Jan 17, 2005
Messages
416
Location
NE Wisconsin
So, if I get liquid soap to pass the audio to icecast and get icecast setup correctly, I can use VLC or Winamp to listen to the audio and get the meta tags?
Liquidsoap only encodes the p25 audio from op25 into an MP3 stream that's sent over the network to the Icecast server. To get
meta tags you'll must create a tag file and then configure icemeta.py to send the tags directly to the Icecast server.

With rx.py, you configure meta.json with your Icecast servers IP address, mountpoint, and password. If you're using multi_rx.py then
you add this same information to your json file under metadata section. See the various README's and examples in the apps folder.
 

n8zuz

Member
Joined
Jul 17, 2004
Messages
24
Location
Windy WY
Thank you wgbecks. I needed that to "visualize" what's happening with each program. I'm hoping tomorrow to have some time to try on a different computer to get it up and going.
 

wgbecks

Member
Joined
Jan 17, 2005
Messages
416
Location
NE Wisconsin
Thank you wgbecks. I needed that to "visualize" what's happening with each program. I'm hoping tomorrow to have some time to try on a different computer to get it up and going.
Just shout if you need any help. I've gotten quit a little experience now with Liquidsoap and especially with audio processing, separate left/right
audio streams, and so on.
 

n8zuz

Member
Joined
Jul 17, 2004
Messages
24
Location
Windy WY
So I'm trying to install liquid soap today. Looking for directions I went to op25/README-rpi3-liquidsoap at master · boatbod/op25 but perhaps I shouldn't as it's for a rpi. I did a sudo apt-get update before I started. When I try to install liquid soap I get:
jd@TechLaptop:/$ sudo apt-get install liquidsoap liquidsoap-plugin-all
[sudo] password for jd:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package liquidsoap-plugin-all is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
liquidsoap

E: Package 'liquidsoap-plugin-all' has no installation candidate

Do I need a different repository since I'm not using a pi?
 

boatbod

Member
Joined
Mar 3, 2007
Messages
2,817
Location
Talbot Co, MD
So I'm trying to install liquid soap today. Looking for directions I went to op25/README-rpi3-liquidsoap at master · boatbod/op25 but perhaps I shouldn't as it's for a rpi. I did a sudo apt-get update before I started. When I try to install liquid soap I get:
jd@TechLaptop:/$ sudo apt-get install liquidsoap liquidsoap-plugin-all
[sudo] password for jd:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package liquidsoap-plugin-all is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
liquidsoap

E: Package 'liquidsoap-plugin-all' has no installation candidate

Do I need a different repository since I'm not using a pi?
If I recall, the plugins are now included in the base liquidsoap package. Try:
Code:
sudo apt-get install liquidsoap
 

wgbecks

Member
Joined
Jan 17, 2005
Messages
416
Location
NE Wisconsin
If I recall, the plugins are now included in the base liquidsoap package. Try:
Code:
sudo apt-get install liquidsoap
It depends upon the Linux distro, and more specifically the package (version) the distro downloads. The Liquidsoap package for the Raspberry Pi's (Raspbian Buster) only requires sudo apt-get install liquidsoap. However, I beleive this is also true of Ubuntu 20.x.x while older version such as Ubuntu 18.x.x still require you to specify sudo apt-get install liquidsoap liquidsoap-plugin-all to complete the installation.

A simple rule when jumping about Linux distros, first try the installation per @boatbod's README-rpi3-liquidsoap, and then if it bombs out you only need to resubmit the command less the liquidsoap-plugin-all.
 
Top