Topics

tutorial on adding audio recordings features to Allmon2 control panel

mark rosenberg
 

Howdy Y'all:

Is there a tutorial on adding the audio recordings (.wav) files to Allmon2?  I have a virtual node that is sitting on a cloud server.  The control panel works fine.  However, I have seen someone on youtube who had an audio recordings feature wherein they can go through all the audio activity on the hub/node. The recordings are stored as .wav files.

I would really like to add this feature.  Anyone know where / how to do this?

73

Mark 4x1ks

Mike KB8JNM
 

A good place to start is with the youtube video you watched.
Never seen it.
Nobody has published anything I am aware of.

Sounds like web page html/php/js to me



...mike/kb8jnm

On 3/27/2019 2:56 PM, mark rosenberg wrote:
Howdy Y'all:
Is there a tutorial on adding the audio recordings (.wav) files to Allmon2?  I have a virtual node that is sitting on a cloud server.  The control panel works fine.  However, I have seen someone on youtube who had an audio recordings feature wherein they can go through all the audio activity on the hub/node. The recordings are stored as .wav files.
I would really like to add this feature.  Anyone know where / how to do this?
73
Mark 4x1ks

Pierre Martel
 

can you give a link to the video?

Joshua Nulton
 

Are you good with scripting? In the rpt.conf file you can set the directory to store the archived audio. With a touch of scripting magic and the use of FFmpeg and LAME you can convert the audio into a smaller more compressed format such as mp3, then using R or Gdrive you can store those recordings to Google Drive, upon successfully uploading you could use MQTT or Pushbullet to send a push notification to your phone with a link to the audio file stored in the cloud.

The major caveat with this approach is getting the timing down for the recordings to purge and those to process. A node disconnecting or kerchunking your repeater is about the same duration as a person keying up and saying "I agree", "Go Ahead Station" or "catch ya' later". If you want it all you will have to deal with having recordings of kerchunking, which can be annoying when getting an update on every RX your repeater has. Obviously, I have been down this road a few times using Allstar as private nodes connected essentially as a digital recorder would to a standard old scanner. It does work and is reliable if done correctly.

Note: Make sure your purge your archived audio directory regularly as they are uploaded or you will fill your disk space quickly with uncompressed PCM files.

Best of luck, 
KG5EBI

Mike KB8JNM
 

I was working on something similar last year.

I'll try to finish all the how2  description in the script files for personal customization.

But there are many files and lots of how2 to write/re-test and my time is short.

Perhaps you may be able to alter for your specific needs if I get it done.

Probably I should post it to the allstar wiki in segments after verified

On 6/23/2019 6:11 PM, Joshua Nulton wrote:
Are you good with scripting? In the rpt.conf file you can set the directory to store the archived audio. With a touch of scripting magic and the use of FFmpeg and LAME you can convert the audio into a smaller more compressed format such as mp3, then using R or Gdrive you can store those recordings to Google Drive, upon successfully uploading you could use MQTT or Pushbullet to send a push notification to your phone with a link to the audio file stored in the cloud.

The major caveat with this approach is getting the timing down for the recordings to purge and those to process. A node disconnecting or kerchunking your repeater is about the same duration as a person keying up and saying "I agree", "Go Ahead Station" or "catch ya' later". If you want it all you will have to deal with having recordings of kerchunking, which can be annoying when getting an update on every RX your repeater has. Obviously, I have been down this road a few times using Allstar as private nodes connected essentially as a digital recorder would to a standard old scanner. It does work and is reliable if done correctly.

Note: Make sure your purge your archived audio directory regularly as they are uploaded or you will fill your disk space quickly with uncompressed PCM files.

Best of luck, 
KG5EBI

Joshua Nulton
 

I just did this again on one of my nodes so that I could remember how it was done easiest so here is a brief overview. If you want it done for you my rate is low. But I hold no secrets and if you have the time here I will explain what you need to do.


If you want to test the result I will leave this running on one of my servers for the next 12 hours. Test by connecting to DMR talkgroup 5446 then refresh your browser with this url: http://108.61.224.90/AFP/index.php

Here is the overview of what is needed to "create your own hoseline":
Activate the archive directory in rpt.conf
recursively chmod that directory
install apache2
install php
install an HTML 5 audio player that dynamically creates a playlist from the directory contents
install rsync
install ffmpeg

Once everything is installed and configured simply write a simple bash script that does the following commands:

Rsync the archive log directory to the web server folder
Delete the original .WAV file from the archive directory
cd to the web server folder
ffmpeg and convert the .WAV files to .MP3
Delete the .WAV files
Loop this script.

Joshua Nulton
 

I put another hour into this idea because I wanted it to be responsive, that way it would look decent on my phone’s screen… Check out the results in your browser by clicking here.

The automated recordings were taken while connected to Allstar Node 2135 a few minutes ago. The HTML5 media player allows for the download of the entire library as a .zip archive or you can download individual transmissions. Also allows the copying of links to the individual media files you want to share, as shown here:
http://108.61.224.90/music.htm?play=./library//20190627200522.mp3

I am bored with this project so I am finished posting on it unless someone has questions.
Thanks for checking it out.