Jump to content

Best way to inject EPG from non-standard stream


tim copperfield

Recommended Posts

tim copperfield

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 post
tim copperfield
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 post
tim copperfield

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 post

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 post

Join the conversation

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

Guest
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.

  • Similar Content

    • SchauAN
      By SchauAN
      In der Hoffnung, dass ich es hier veröffentlichen darf, hier mein Weg, wie ich EPG bei Internet-Streams bekomme.
      Viele Angaben sind anpass- oder verbesserbar, ohne die Funkion einzuschränken. Mir reicht, dass es klappt.

      Der DVBViewer muss installiert sein und laufen.
      EPG-Buddy gibt's hier, XEPG hier.
      EPG-Buddy installieren. Es kann von Windows-Defender als Virus behandelt werden und muss dann explizit in den Einstellungen unter Viren- & Bedrohungsschutz erlaubt werden.
      XEPG installieren. Bei mir wehrte sich Windows gegen die Installation, im blauen Fenster auf mehr Information, dann kann man es installieren.
      Das Verzeichnis c:\ProgramData\Xepg\ muss vorhanden sein. Hier werden die von EPG-Buddy gesammelten Daten gespeichert und von XEPG gesucht. Es wird automatisch bei der Installation von XEPG erzeugt. Getestet mit EPG-Buddy 0.6.0.6 und XEPG 0.7.4.2. Das Forum zu EPG-Buddy ist hier zu ereichen. Dort gibt es auch eine tiefer gehende Anleitung mit Bildern.
      Änderungen an der von EPG Buddy genutzen EPG-Quelle TVSpielfilm kann dazu führen, dass plötzlich das EPG nicht mehr vollständig ist. Vor kurzer Zeit fehlten einige Dritte Programme und wenige Tage später gab es einen Workaround dafür.
      Ich nutze die Automatisierungsmöglichkeiten von EPG Buddy nicht, sondern automatisiere mit XEPG und dem Windows Aufgabenplaner.
       
      EPG-Buddy starten und im Tab Settings TVDB metadata language auf de und GUI Language auf deutsch umstellen, rechts unten You need to restart EPG-Buddy to activate changes. Restart now? Yes klicken.

       
      Tab TV Datenbank: auf manuell [default]

       
      Tab Zeitplaner alle Wochentage und Für Download wecken abkreuzen. Hier kann man zum Test EPG jetzt laden klicken. Das hilft auch, wenn man es mal eben zwischendurch aktualisieren möchte.
      Damit eine Senderliste angezeigt wird, auf EPG jetzt laden? Los Gehts

       
      Tab Einstellungen: Bei XML - Einstellungen Ordner den Pfad c:\ProgramData\Xepg\ angeben. In diesem Ordner erwartet XEPG die EPG-Daten.
      Tab Einstellungen: und rechts unten Jetzt neu starten? Ja.


      Tab EPG Daten: auf Datenbank Modus und jetzt das Mapping und Konfiguration ausführen. Die gewünschten Sender in der Liste anklicken und rechts den korrespondierenden Namen des Senders im DVBViewer eintragen. Alle nicht benötigten Sender bei Wie viele Tage grabben? auf null stellen, die gewünschten auf 14 Tage. Mehr geht nicht - leider. Je mehr Sender, desto länger dauert das Grabben. Bei mir 3:10 gesamte Liste, 17 Sekunden nur für die ör-Sender.


      Zum Test Tab Zeitplaner und EPG jetzt laden. Im Ordner c:\ProgramData\Xepg\ muss jetzt die TVGuide_1.xml mit aktuellem Zeitstempel stehen. Die kann anschließend von XEPG verarbeitet werden.
       
      XEPG
      DVBViewer schließen, XEPG starten:
      0) Zum Pfad vom DVBViewer navigieren C:\Program Files (x86)\DVBViewer\DVBViewer.exe, Execute angeben und ok.


      1) Add here und bei XMLTV TV Data file den im EPG-Buddy angegebenen Namen der Daten angeben, also TVGuide_1.xml. Grabber executable/URL: zu C:\Program Files (x86)\EPG-Buddy\Grab-EPG.exe navigieren. Format Language File und Extra Genre Search Language auf Deutsch.xml stellen.

       


      2) Channel Pairing ausführen: links XMLTV Channels und rechts DVBViewer Channels jeweils den gleichen Sender einstellen und das paaren bestätigen. Am Ende Apply und Exit.


      3) Options folgende Angaben:
      General: Import XMLTV EPG Into DVBViewer
      DVBViewer On Xepg End Action do: Always close DVBViewer
      Install bei DVBViewer.exe Parameters: -c eingeben. Damit startet der DVBViewer ohne Bild/Ton für den Datenimport.


      4) Test Import macht genau das und als Ergebnis zeigt der DVBViewer das EPG an.
       
      Damit das alles automatisch im Hintergrund abläuft, jetzt noch im Aufgabenplaner von Windows die entsprechende Aufgabe einrichten. Aufgabenplaner öffnen, rechts außen Aufgabe erstellen.
      Allgemein:
          Name XEPG (ist wie der Beschreibungstext beliebig)
          Mit höchsten Privilegien ausführen (weil sonst keine Schreibrechte für die EPG-Daten im Verzeichnis des DVBViewer existieren)


      Trigger: Täglich, Start 06:00 Uhr, Aufgabe verzögern für maximal 5 Minuten

       


      Aktionen: Bearbeiten

       
      Aktion: Programm starten
      Programm/Script: "C:\Programm Files (x86)\Xepg\Xepg.exe"
      Argumente hinzufügen (optional): -xGrabThenImport


      Bedingungen: Beenden, wenn Computer in den Akubetrieb wechselt (habe ich NICHT angekreuzt)
      Alle anderen Angaben bleiben voreingestellt. Viele Angaben können den eigenen Bedürfnissen angepasst werden.

       
      Einstellungen: Aufgabe so schnell wie möglich nach einem verpassten Start ausführen und Falls Aufgabe scheitert, neu starten alle 30 Minuten
      Alle anderen Angaben bleiben voreingestellt. Viele Angaben können den eigenen Bedürfnissen angepasst werden.

       
      Geschafft!
       
      Manueller Betrieb:
      EPG-Buddy: Tab Zeitplaner EPG jetzt laden? Los geht's klicken erstellt die TVGuide_1.xml.
      XEPG: Die erstellte c:\ProgramData\Xepg\TVGuide_1.xml mit Test Import in den DVBViewer übertragen, der dafür laufen muss.
       
      Hoffentlich sind keine Fehler enthalten…
      Danke an Christian für die Möglichkeit, mehr Bilder zu speichern und Griga für das Pinnen.
       
       
    • wald7
      By wald7
      Die Senderliste kann in Pro komplett aufgerufen werden,
      doch kann ich - auch nach Einspielung  der Fixes -
      für DBViewer Pro alleine und mit Media-Server kein EPG zu erhalten.
      Der Internetdownload im Mediaserver über die EPG-Suche
      zeitg ein endloses Loading. --> Nach Aktualisierung(Fix)
      AMD Radeon(TM) R5 M430
      Telestar digibit r1
      Windows 10 home aktualisiert
      support.zip
    • breakiboy
      By breakiboy
      Hallo zusammen,
       
      Ist es möglich den record button also die Funktionalität zu verbergen mit einem command wie z.B
      http://172.30.110.26:8089/timeline.html?aktion=timeline&showrecordbutton=false 
       
      ich möchte eine EPG Liste darstellen und die recordfunktion möchte ich nicht dabei haben, da es sich nur um epg view handelt. Gibt es da schon was? alternative wäre selber was zu machen mittels
      http://172.30.110.26:8089/api/epg.html export aber 
      1. will das rad nicht neu erfinden
      2. euer view sieht echt nice aus und würde es gerne auch selber gebrauchen.
       
      Freundliche Grüsse aus der Schweiz
       
       
    • SchauAN
      By SchauAN
      Ich suche nach einer Möglichkeit, EPG oder Ähnliches auch bei Streams aus dem Internet im DVBV GE zu haben. 
      AKtuell nutze ich unter Android MT-Cast von Sofalabor.de als Zusatzinfo, das bei Internetstreams eine Programminfo rudimentär angezeigen kann.
      Gibt es eine Lösung hierfür?
    • Matthias Grimmeisen
      By Matthias Grimmeisen
      Hallo,
       
      nachdem ich nach langer Zeit ein Aktualisierung durchgeführt und die DVBViewer Pro-Version 6.1.5.0 installiert habe, sind in den Aufnahmedaten (TS-Format) leider nicht mehr die EPG-Informationen (Folgenname, Sendungsbeschreibung etc.) enthalten. Diese waren in der bisher von mir genutzen Version (leider weiß ich nicht mehr, welche dies war) enthalten und wurden in den Eigenschaften der Datei abgelegt bzw. im Explorer-Fenster angezeigt (sh. auch Screenshot im Anhang..
       
      Zwar ist es möglich, zusätzlich eine Textdatei mit diesen Infos anzulegen, doch dann muss ich diese Textdatei immer zusammen mit der Aufnahme verschieben/kopieren/ablegen, was insgesamt deutlich weniger komfortabel und übersichtlich ist.
       
      Gibt es daher eine Einstellung-Möglichkeit (die ich übersehen habe), um die EPG-Infos wieder direkt in der Aufnahmedatei einzubinden? Falls ja, wäre ich über Tipps7Hinweise dankbar!
       
      Gruß,
       
      Matthias

×
×
  • Create New...