Unitrunker radiofeed and metadata

RollingRocker

Member
Joined
Dec 25, 2008
Messages
4
Reaction score
1
Location
Westmoreland County, PA
I am successfully using radiofeed to stream my Unitrunker audio, however, I’d like to show the current channel metadata during each call.
I have selected Unitrunker uniform.exe, but all that shows up is “APCOP25 BEE00-152 Site 001-002 Westmoreland East” on my radiofeed web page.

Is it possible to make the page show the current receiving group info while it’s playing that audio?

If so, how?
 

rjdj2000

Gone Cuckoo
Feed Provider
Joined
Jan 24, 2011
Messages
418
Reaction score
69
Location
Central NY
Years ago there was a guy who made an add-on sort of thing that I used to use on Unitrunker V1 and sent the audio through Radio Feed that captured the metadata. It is no longer available to my knowledge. The only way that I can think of, using Unitrunker, to get the call metadata would be to go through Trunking Recorder and then out.

The easier way, I think would be to use SDRTrunk to do your feed and then you could provide a calls node as well. SDRTrunk has the metadata on the stream. It takes a little bit to get things setup but it works great. I use it 24/7/365 for the feed I have all while doing a calls node, a OpenMhz feed, a private IceCast stream and a Rdio-Scanner setup for a YT live stream. All ran on a Dell system with a Core i7-6700 @ 3.4 GHz with 16 gigs of ram. I have OBS Studio, ProScan, Radio Feed, Unitrunker V2, Ice Cast Server and a couple of other programs running on this machine and it sits at like 6.1 gig of ram in use and the CPU is not working hard at all.

sdrtrunk.PNG
 

w9mmm

Member
Feed Provider
Joined
Apr 22, 2020
Messages
7
Reaction score
1
This is a funny reply because its easy to say TrunkingRecorder and pull the info over UDP. The question is how the heck to get it to work. Ever since Unitrunker changed the way it handles metadata I've never been able to manipulate it to get the feed. I've been feeding our local simulcast for over 10 years but the moment unitrunker decided to move the metadata I've never been able to access it. I have tried with pretty much every trunking program. Currently I am using the latest version of Unitrunker and the latest version of Trunking Recorder. TR displays the metadata on the screen perfectly. It recognized Unitrunker with no issues. The issue is when I try to access the metadata as usual it will not write the metadata to a file no matter what setup I used and I've been trying to get this to work for years. I'd love to see a how-to get it to work I've been searching for a long time and most of the talk is so old none of it applies today.

I have the same setup as OP. Unitrunker --> Radio Feed --> Trunking Recorder ... Radio feed doesnt see any metadata feed due to it only looks for captions it must use either a caption based or file. The funny thing is if TR simply put the dang metadata it was displaying in the dang place where it displays the metadata it would work but instead it only displays it on the screen even without recording which is super annoying. Its the usual comment I see oh TR will pull the info over UDP. Yeah RIGHT! It doesnt do it without some crazy convoluted rigging to get it to work. If anyone could share actual information that would be great! I'm sure a lot of people trying to do this are having the same issues.
 
Last edited:

w9mmm

Member
Feed Provider
Joined
Apr 22, 2020
Messages
7
Reaction score
1
So far I cant find a single program that can tap into the Unitrunker metadata. Its current state is not standard for these programs and I've not seen anything yet that can read it. I'm a tech architect would love to program one and sell it. Since Unitrunker never released a metadata spec I'd have to decompile it to discover how it is currently being used. This explains the 100s of posts about it online with nobody really knowing how to handle the metadata. It would be excellent after all these years of me using Unitrunker to get a detailed tech run down on the metadata and how to get TR configured so it will write the metadata either to captions or to a file. Both DO NOT WORK at all when recording, I spent many hours configuring TR because it look like I got close to see that the TR display showing everything but the metadata absolutely does not work. PLEASE SOMEONE FILL US IN and not that TR will pull the UDP feed but how. I can attest that it does not work without some serious manipulation that is undocumented.
 

RaleighGuy

Member
Premium Subscriber
Joined
Jul 15, 2014
Messages
17,218
Reaction score
26,452
Location
Raleigh, NC
I'm a tech architect would love to program one and sell it.

If you are looking to create and sell something, I doubt others will do the work for you. Go ahead and decompile it. But there are many FREE programs out there that give most of us the information we need, so I doubt you will sell many copies of your creation.
 

w9mmm

Member
Feed Provider
Joined
Apr 22, 2020
Messages
7
Reaction score
1
The funny thing is I was really just joking. I really want to get this working. I dont need to hire anyone I could program it and sell it myself if I wanted to. You say there are many free programs out there. Yes, that is true for trunking software but none interfaces with Unitrunker for metadata without major work. This is a specific edge case that a lot of people have issue with, I know because I searched everywhere and all I could find is people trying to rig it one way or another but I dont see any confirmations that people got it working with the modern versions of these apps. I simply want to get it to work.
 

w9mmm

Member
Feed Provider
Joined
Apr 22, 2020
Messages
7
Reaction score
1
I'm very close to finished coding a solution for myself. I simply was trying to get Trunking Recorder to update its title with the metadata as well as writing it to the file. So I could either use the file in Radio Feed or the Title. The thing is that TR reads the UDP metadata no problem verified in the logs. I've worked a long time with just about every trunking app and none work at all to either write the file or display the metadata so I could use it. So I've now coded my own solution. It only took me a few hours. If anyone knows how to get the TR metadata to work let me know but I've personally wasted way too many hours with TR, SDR Trunk, SDR Sharp. None of these apps work well to handle the metadata. If anyone has any new info on it please share it would be great. Could help out a log of people. Currently if I can work out the latency in what I wrote my code will do it using TR.
Unitrunker is working fine but most of these trunking app's do not handle the metadata well at all TR does not function the way it was designed to handle it.
 

Unitrunker2

Member
Premium Subscriber
Joined
Oct 28, 2017
Messages
326
Reaction score
253
The problem is too many programs rely on one of two ancient hacks. Both are very flawed. One hack is reading input from a file written by another program. The other ugly hack is scraping text from window captions. It is very little effort on the receiving end to add a receiver for UDP packets.

But why stop with just accepting metadata via UDP? Why not stream the audio content over UDP too?

The not-to-distant goal is to stop using VBCable and VAC in favor of audio piped directly over UDP. This allows the recording or streaming service to more accurately know where in time that the content of an audio stream has changed. Current means of expressing the meta-data in a side-channel in the context of buffered audio ... well, it just sucks.

Imagine one call ends and another starts. The audio buffering won't start the call for another 50 milliseconds but the meta-data update has already happened (or vice-versa).

If you're looking at building something to better integrate streaming and recording, take this under advisement.
 

w9mmm

Member
Feed Provider
Joined
Apr 22, 2020
Messages
7
Reaction score
1
Awseome change. I agree with all that but be aware it would cause everyone to have to change their setups and render all the existing apps that require Cable audio useless and most of those apps are abandoned projects now. I've written a py script to handle the metadata now but I'm rewriting it to handle the metadata directly from the UDP stream to have it real time eliminating Trunking Recorder. If I had time I could really create a professional application that can do everything from Cable, UDP, etc and make it completely user configurable and allow for user configuration rather then WYSWYG right now which because all those apps arent maintained are just old and tired and not being user configurable. Are you writing Unitrunker in .Net? I like the fact now that you mention this if I write my new script directly targeting the UDP stream it will be setup for the future. If you sent a metadata path and a audio path I could easily create app simply to tap into that also and handle the audio the way I want. I wish I had enough time in my life I could easily create a all in one app to do all this but it would be hard to find enough time to do. It's a thought since there has always been too many old tired apps in this area that are not maintained and have gone completely under it seems a good place to create something new. I personally wouldnt unless I can get like sub compensation could probably be faster if I had a partner too. Interesting thoughts! I'll let everyone know the outcome of my script to handle the UDP metadata stream directly. It will give me a lot of ideas of how to improve in this area creating something better. So far my py script for Trunking Recorder is working. Not bad for a few hours of work.
 

scannerbox

Member
Joined
Jan 30, 2010
Messages
103
Reaction score
71
Location
michigan
Trunking Recorder has the ability to write out the call metadata from Unitrunker to multiple text files. The way it works in Trunking Recorder is you create a "Stream" in Trunking Recorder where you select which talkgroups you want included and where you want the audio played back (usually a Virtual Audio Cable). Trunking Recorder will then create a "metadata" text file for that stream that stays in sync with the calls being played. Since multiple calls may have happened at the same time Trunking Recorder queues them up for playback so you never miss anything.

You would point your broadcasting program to the Trunking Recorder Stream audio output instead of the Unitrunker audio output. This means the call audio will be slightly delayed but also means you won't miss anything when a talkgroup is active.

Trunking Recorder is designed to record multiple simulations calls from Unitrunker (If you have enough voice receivers you can record everything on a site) and queues them up. You can have many different streams at the same time all with different talkgroups or the same talkgroup in each stream (private verse public, EMS, Fire, etc...)

To setup a steam in Trunking Recorder once you have it recording calls from Unitrunker go to the Configure menu and click the "Streaming" tab.
Click "Add Call Stream" if needed and then you can choose the Audio Output Device and which talkgroups you want streamed.

To configure the Metadata then click the "metadata" tab and configure the file location and name where you want the data written, you can also configure the format of the data using the custom tags listed on the page.
 
Top