Jump to content

Best way to inject EPG from non-standard stream


tim copperfield

Recommended Posts

Hiya,

 

I'm writing a plugin which plays local satellite radio service. For some insane reason, instead of using EIT P/F for current playing song information, they instead placed this information into private PES which is listed in each radio program PMT. Since my plugin already has to deal with PMT parsing for descriptors etc, it was simple enough to get the radio information PES PID and add it to filter, and now I have access to that packet:

 

47 55 12 15 00 00 01 bd 00 b2 88 80 05 21 62 4b 25 f5 81 a0 02 02 62 a1 02 00 04 a2 0a 3f 4d 4e 78 24 37 24 2f 24 46 a3 06 46
6e 3a 3b 3f 25 a4 0e 25 52 25 48 25 33 25 24 25 37 25 2f 25 46 a5 0c 25 5f 25 4a 25 5f 25 35 25 2a 25 6a ff 6d ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 47 1f ff 10 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

This obviously contains ISO-2022-JP / ARIB encoded text data.

Let's say I extracted it and converted it to Unicode or UTF-8.

 

What would be the best way to get this into the EPG data that DVBViewer displays? Currently, when program is switched, the info popup screen shows "No EPG data available" for both current and next song.

 

I'm thinking maybe generating a new EIT packet and inserting this data, then overwriting entire 188byte packet received from DVBViewer (which is originally tagged with PID of private PES), and returning that. actually hmm that wouldn't work because there IS a fairly high bitrate EIT PID which has all the channel names but no currently playing schedule in them.


Anyway, so any suggestions on how to get this info into the DVBViewer UI to show current/next playing program.

Link to comment
5 hours ago, Griga said:

EPG import/export expert

 

I've looked at this, and it looks to be generating offline EPG data based from something from internet. As per definition of "radio", the EPG I would be injecting is something that changes every few minutes, so I can't really be shutting down DVBViewer on each song change.

Link to comment

Update on the progress.

I've got the data extracted, its updated every ~5 seconds while the radio track is playing.

 

PID: 1512
A0: 0262
A1: 0201
A2: 人恋しくて
A3: 南沙織
A4: ヒトコイシクテ
A5: ミナミサオリ

A0 = total song time in BCD

A1 = current song time in BCD

A2-A5 = song name/performer/their readings.

 

There's no "next" song information as I originally thought, so I can only populate "current" program.

Being able to use track length/time to show current "program" progress (like the current OSD does for regular TV programs) would be great.

 

So how do I get this info into DVBViewer GUI? :)

 

Link to comment

DVBViewer provides a COM interface for things like that (so that you can even use a script language for communication). I've never used it, but @Delphi knows how to handle it. The API and some other COM stuff is available in the download area -> source section.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...