eccentricbiped
Member
Hi all,
I'm very new to the space and just getting started. I've appreciated the resources here in the forums but I seem to have a problem that I've been struggling with for the past several hours. I have a RTL-SDR V3 hooked up to my Raspberry Pi 3B+ and have gone through the steps from here to get it all set up. Ultimately I'm trying to be able to listen in to trunked radio signals, so I installed op25, liquidsoap, and icecast2. After tweaking with the parameters and troubleshooting other things all day I've got as far as being able to see the trunked signals come in and even have a stream from the icecast2 going with some information coming from op25. I've been really stumped at how I'm able to see some metadata come in to my media player running on my windows machine on the local network but cannot for the life of me get the audio to actually play! I've tried opening the stream on VLC on my phone as well and still have the same problem. I can't hear anything through the stream at all even when op25 is clearly receiving signals.
This is the command I used most recently
My ./op25.liq looks like this
When I run liquidsoap this is my log:
My /var/log/icecast2/error.log looks like this
My meta.json looks like this:
If anyone here has any ideas on what I can try to help troubleshoot the problem, I'd really appreciate as I'd hate to give up on this when I'm so close to the finish line...
🙏
I'm very new to the space and just getting started. I've appreciated the resources here in the forums but I seem to have a problem that I've been struggling with for the past several hours. I have a RTL-SDR V3 hooked up to my Raspberry Pi 3B+ and have gone through the steps from here to get it all set up. Ultimately I'm trying to be able to listen in to trunked radio signals, so I installed op25, liquidsoap, and icecast2. After tweaking with the parameters and troubleshooting other things all day I've got as far as being able to see the trunked signals come in and even have a stream from the icecast2 going with some information coming from op25. I've been really stumped at how I'm able to see some metadata come in to my media player running on my windows machine on the local network but cannot for the life of me get the audio to actually play! I've tried opening the stream on VLC on my phone as well and still have the same problem. I can't hear anything through the stream at all even when op25 is clearly receiving signals.
This is the command I used most recently
./rx.py --nocrypt --args "rtl=0" -N 'lna:28' -T trunk.tsv -S 1000000 -q 0 -d 0 -v 1 -2 -w -u 23456 -V -X -x
2.5 -M meta.json 2> stderr.2
My ./op25.liq looks like this
Code:
set("log.stdout", true)
set("log.file", true)
set("log.syslog", true)
set("log.level", 3)
# Make the native sample rate compatible with op25
set("frame.audio.samplerate", 8000)
input = mksafe(input.external(buffer=0.25, channels=2, samplerate=8000, restart_on_error=false, "./audio.py -x 2.0 -s"))
...
# LOCAL AUDIO OUTPUT
# Uncomment the appropriate line below to enable local sound
#
# Default audio subsystem
#out (input)
#
# PulseAudio
#output.pulseaudio(input)
#
# ALSA
#output.alsa(input)
# ICECAST STREAMING
# Uncomment to enable output to an icecast server
# Change the "host", "password", and "mount" strings appropriately first!
# For metadata to work properly, the host address given here MUST MATCH the address in op25's meta.json file
#
output.icecast(%mp3(bitrate=16, samplerate=22050, stereo=false), description="op25", genre="Public Safety", url="", fallible=false, icy_metadata="false", host="192.168.20.85", port=8000, mount="op25", password="xxxxxxxx", mean(input))
When I run liquidsoap this is my log:
Code:
pi@raspberrypi-makemake:~/op25/op25/gr-op25_repeater/apps $ liquidsoap ./op25.liq
2020/11/15 06:12:13 >>> LOG START
2020/11/15 06:12:13 [main:3] Liquidsoap 1.3.3
2020/11/15 06:12:13 [main:3] Using: bytes=[distributed with OCaml 4.02 or above] pcre=7.2.3 dtools=0.4.0 duppy=0.7.2 duppy.syntax=0.7.2 cry=0.6.2 mm=0.3.1 xmlplaylist=0.1.3 lastfm=0.3.0 ogg=0.5.2 vorbis=0.7.1 opus=0.1.2 speex=0.2.1 mad=0.4.4 flac=0.1.3 flac.ogg=0.1.3 dynlink=[distributed with Ocaml] lame=0.3.2 shine=0.2.0 gstreamer=0.2.0 frei0r=0.1.0 theora=0.3.1 gavl=0.1.5 bjack=0.1.4 alsa=0.2.3 ao=0.2.0 samplerate=0.1.2 taglib=0.3.1 magic=0.7.3 camomile=0.8.5 yojson=1.3.2 faad=0.4.0 soundtouch=0.1.7 portaudio=0.2.1 pulseaudio=0.1.2 ladspa=0.1.4 dssi=0.1.1 sdl=0.9.1 camlimages=4.2.0 lo=0.1.0 gd=1.0a5
2020/11/15 06:12:13 [gstreamer.loader:3] Loaded GStreamer 1.14.4 0
2020/11/15 06:12:13 [dynamic.loader:3] Could not find dynamic module for fdkaac encoder.
2020/11/15 06:12:13 [frame:3] Using 8000Hz audio, 25Hz video, 8000Hz master.
2020/11/15 06:12:13 [frame:3] Frame size must be a multiple of 320 ticks = 320 audio samples = 1 video samples.
2020/11/15 06:12:13 [frame:3] Targetting 'frame.duration': 0.04s = 320 audio samples = 320 ticks.
2020/11/15 06:12:13 [frame:3] Frames last 0.04s = 320 audio samples = 1 video samples = 320 ticks.
2020/11/15 06:12:13 [threads:3] Created thread "generic queue #1".
2020/11/15 06:12:13 [threads:3] Created thread "generic queue #2".
2020/11/15 06:12:13 [threads:3] Created thread "non-blocking queue #1".
2020/11/15 06:12:13 [threads:3] Created thread "non-blocking queue #2".
2020/11/15 06:12:13 [input.external_7212:3] Starting process
2020/11/15 06:12:13 [op25:3] Connecting mount op25 for source@192.168.20.85...
2020/11/15 06:12:13 [op25:3] Connection setup was successful.
2020/11/15 06:12:13 [threads:3] Created thread "wallclock_main" (1 total).
2020/11/15 06:12:13 [clock.wallclock_main:3] Streaming loop starts, synchronized with wallclock.
2020/11/15 06:12:13 [mksafe:3] Switch to safe_blank.
^C2020/11/15 06:19:51 [main:3] Shutdown started!
2020/11/15 06:19:51 [main:3] Waiting for threads to terminate...
2020/11/15 06:19:51 [op25:3] Closing connection...
2020/11/15 06:19:51 [clock.wallclock_main:3] Streaming loop stopped.
2020/11/15 06:12:13 [input.external_7212:3] Cleaning up process
2020/11/15 06:19:51 [threads:3] Thread "wallclock_main" terminated (0 remaining).
2020/11/15 06:19:51 [main:3] Threads terminated.
2020/11/15 06:19:51 [threads:3] Shutting down scheduler...
2020/11/15 06:19:51 [threads:3] Scheduler shut down.
2020/11/15 06:19:51 [threads:3] Thread "generic queue #2" terminated.
2020/11/15 06:19:51 [threads:3] Thread "generic queue #1" terminated.
2020/11/15 06:19:51 [main:3] Cleaning downloaded files...
2020/11/15 06:19:51 [main:3] Freeing memory...
2020/11/15 06:19:51 [threads:3] Thread "non-blocking queue #2" terminated.
My /var/log/icecast2/error.log looks like this
Code:
[2020-11-15 06:36:34] INFO connection/_handle_source_request Source logging in at mountpoint "/op25" from 192.168.20.85
[2020-11-15 06:36:34] DBUG connection/connection_complete_source sources count is 0
[2020-11-15 06:36:34] WARN format/format_get_type Unsupported or legacy stream type: "audio/mpeg". Falling back to generic minimal handler for best effort.
[2020-11-15 06:36:34] DBUG source/source_apply_mount Applying mount information for "/op25"
[2020-11-15 06:36:34] DBUG format-mp3/format_mp3_apply_settings sending metadata interval 16000
[2020-11-15 06:36:34] DBUG format-mp3/format_mp3_apply_settings charset ISO8859-1
[2020-11-15 06:36:34] DBUG source/source_apply_mount YP changed to 1
[2020-11-15 06:36:34] DBUG source/source_update_settings public set to 1
[2020-11-15 06:36:34] DBUG source/source_update_settings max listeners to -1
[2020-11-15 06:36:34] DBUG source/source_update_settings queue size to 524288
[2020-11-15 06:36:34] DBUG source/source_update_settings burst size to 65535
[2020-11-15 06:36:34] DBUG source/source_update_settings source timeout to 10
[2020-11-15 06:36:34] DBUG source/source_update_settings fallback_when_full to 0
[2020-11-15 06:36:34] DBUG connection/connection_complete_source source is ready to start
[2020-11-15 06:36:34] DBUG fserve/fserve_add_client_callback Adding client to file serving engine
[2020-11-15 06:36:34] DBUG fserve/fserve_add_pending fserve handler waking up
[2020-11-15 06:36:34] DBUG fserve/fserv_thread_function fserve handler exit
[2020-11-15 06:36:34] DBUG source/source_init Source creation complete
[2020-11-15 06:36:34] DBUG stats/modify_node_event update global clients (1)
[2020-11-15 06:36:34] DBUG stats/modify_node_event update global connections (1992)
[2020-11-15 06:36:34] DBUG stats/modify_node_event update global sources (1)
[2020-11-15 06:36:34] DBUG stats/process_source_event new source stat /op25
[2020-11-15 06:36:34] DBUG stats/process_source_event new node listenurl (http://localhost:8000/op25)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node listener_peak (0)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node public (1)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node server_name (op25)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node server_description (op25)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node genre (Public Safety)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node server_type (audio/mpeg)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node max_listeners (unlimited)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node source_ip (192.168.20.85)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node user_agent (Liquidsoap/1.3.3 (Unix; OCaml 4.05.0))
[2020-11-15 06:36:34] DBUG stats/modify_node_event update global source_client_connections (7)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node listeners (0)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node channels (1)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node samplerate (22050)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node bitrate (16)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node audio_info (channels=1;samplerate=22050;bitrate=16)
[2020-11-15 06:36:34] DBUG stats/modify_node_event update "/op25" listenurl (http://localhost:8000/op25)
[2020-11-15 06:36:34] DBUG stats/modify_node_event update global source_total_connections (7)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node slow_listeners (0)
[2020-11-15 06:36:34] DBUG stats/modify_node_event update "/op25" listeners (0)
[2020-11-15 06:36:34] DBUG stats/modify_node_event update "/op25" listener_peak (0)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node stream_start (Sun, 15 Nov 2020 06:36:34 +0000)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node stream_start_iso8601 (2020-11-15T06:36:34+0000)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node total_bytes_read (0)
[2020-11-15 06:36:34] DBUG stats/process_source_event new node total_bytes_sent (0)
[2020-11-15 06:36:35] INFO source/source_main listener count on /op25 now 0
[2020-11-15 06:36:35] DBUG stats/modify_node_event update "/op25" listeners (0)
[2020-11-15 06:36:35] INFO source/get_next_buffer End of Stream /op25
[2020-11-15 06:36:35] INFO source/source_shutdown Source from 192.168.20.85 at "/op25" exiting
[2020-11-15 06:36:35] DBUG source/source_clear_source clearing source "/op25"
[2020-11-15 06:36:35] DBUG source/source_free_source freeing source "/op25"
[2020-11-15 06:36:35] DBUG stats/process_source_event delete source node /op25
[2020-11-15 06:36:35] DBUG stats/modify_node_event update global clients (0)
[2020-11-15 06:36:35] DBUG stats/modify_node_event update global sources (0)
[2020-11-15 06:36:36] DBUG slave/_slave_thread checking master stream list
[2020-11-15 06:38:36] DBUG slave/_slave_thread checking master stream list
My meta.json looks like this:
Code:
{
"icecastPass": "xxxxxxxxxx",
"icecastMountpoint": "op25",
"icecastServerAddress": "192.168.20.85:8000",
"delay": "0.0", "icecastMountExt": ".m3u",
"meta_format_idle": "[idle]",
"meta_format_tgid": "[%TGID%]",
"meta_format_tag": "[%TGID%] %TAG%"
}
If anyone here has any ideas on what I can try to help troubleshoot the problem, I'd really appreciate as I'd hate to give up on this when I'm so close to the finish line...
🙏