Jump to content
ö-r-rf

RS unterschlägt Sekunden aus EIT im EPG

Recommended Posts

ö-r-rf

Aufgrund einiger seltsamer Darstellungen in der Timeline-Ansicht des RS habe ich zunächst ein wenig nach den Ursachen dafür geforscht.

 

Dabei habe ich nun festgestellt dass der RS (und auch der DVBViewer) beim EPG einfach die Sekundenanteile für Startzeiten und Dauer aus der EIT unterschlägt.

Das führt dann u. A. bei sehr kurzen Events dazu dass diese überhaupt nicht mehr angezeigt werden, Lücken im EPG, falschen Längenangaben oder anderen merkwürdigen Effekten.

Insbesondere bei manchen Regionalsendern wird der EPG damit quasi unbrauchbar obwohl er eigentlich sehr präzise über die EIT zugeliefert wird.

 

Hier wäre es erforderlich dass zumindest die interne EPG-Datenbank die vollständigen Zeitangaben importieren und speichern kann.

Bei der GUI-Ausgabe von Zeiten könnte man dann immer noch darauf verzichten die Sekunden anzuzeigen.

 

Erkennbar ist es auch über den API-Zugriff via /api/epg.html

Dort sind die Sekundenanteile stets genullt.

 

Kann man dieses Problem beheben?

  • Like 1

Share this post


Link to post
Griga

Gib bitte an, bei welchen Sendern / Sendungen das reproduzierbar auftritt. Die Angabe "manche Regionalprogramme" ist zu unspezifisch. Screenshots als Beleg könnten auch helfen.

Share this post


Link to post
ö-r-rf

Hallo Griga,

 

entschuldige, kein Problem.

 

Betroffen sind u. a.

OK-KL, OK:TV Mainz, naheTV, OK54 Bürgerrundfunk

 

Die Daten in der EIT sind in korrekt und Standardkonform. TransEdit und andere DVB Analyzer bestätigen dies.

 

 

Mir ist jetzt aber zusätzlich noch aufgefallen das der RS bei Programmänderungen vermutlich aus gleichem Grund manchmal Sendungen nicht aus dem EPG entfernt obwohl diese definitiv nicht mehr in der EIT signalisiert werden und ggf. längst durch andere Events ersetzt wurden.

Dann gibt es parallele/ überlappende Einträge in der Programmtabelle. :-)

Dann hilft nur noch ein vollständiger Reset der EPG Datenbank.

 

 

Das Sekundenproblem scheint also möglicherweise den RS noch an anderen Stellen über sich selbst stolpern zu lassen.

 

 

TS-Mitschnitte oder andere Analysen kann ich gerne bereitstellen falls benötigt.

Share this post


Link to post
Griga
OK-KL, OK:TV Mainz, naheTV, OK54 Bürgerrundfunk

 

Hört sich nicht so an, als könnte ich die empfangen. Ist das DVB-C oder DVB-T? Etwas zum Nachvollziehen bei einem über Satellit empfangbaren Sender gibt es nicht?

 

Die Stelle, wo gerundet wird, habe ich bereits gefunden, aber es fragt sich, was an anderen Stellen passiert, wenn ich es entferne. Das zu recherchieren kann ziemlich zeitaufwändig werden. Deshalb versuche ich abzuschätzen, welche Bedeutung das Problem hat. OK 54 Bürgerrundfunk klingt ehrlich gesagt nicht sehr bedeutend ;)

 

Mir ist jetzt aber zusätzlich noch aufgefallen das der RS bei Programmänderungen vermutlich aus gleichem Grund manchmal Sendungen nicht aus dem EPG entfernt obwohl diese definitiv nicht mehr in der EIT signalisiert werden

 

Das liegt vermutlich nicht an der Rundung. Die ganze Vorgehensweise bei kollidierenden Einträgen muss im Grunde renoviert werden. Das Problem dabei ist, dass nichts das Wegfallen einer Sendung explizit signalisiert. Eigentlich kann man es nur dadurch feststellen, dass andere Sendungen die Zeit besetzen. Da der DVBViewer und RS den EPG datenbankmäßig abspeichern, bleiben Einträge drin, solange sie nicht veraltet sind oder verdrängt werden.

 

Im DVBViewer GE (Download aus dem Mitgliederbereich, ReadMe lesen!) habe ich bereits einen Versuch unternommen, den EPG in der Hinsicht anders zu behandeln. Die Methode soll nach Möglichkeit in den DVBViewer pro und RS übernommen werden, wenn sie sich bewährt. Vielleicht kannst du mal testen, wie es sich damit bei dir verhält. Der DVBViewer GE lässt sich zusätzlich zum DVBViewer Pro installieren.

Share this post


Link to post
ö-r-rf

Wie die meisten Regionalsender sind dies DVB-C und/oder IPTV-Programme.

Direkte Zugriffsmöglichkeiten auf die TS-Streams über Internet kann ich auf Anfrage für Analysen und Testzwecke bereitstellen.

 

 

Normalerweise sollten für Aktualisierungen immer ganze EIT-Sections (3-Stunden-Blöcke) genutzt werden.

Algorithmisch ungefähr so:

EIT-Section vollständig einlesen, Datenbank sperren, dann in der Datenbank ganze Section (von/bis Startzeit) löschen und direkt neue Daten der Section einfügen, Datenbank entsperren.

So kann nie etwas durcheinander geraten. So ist dies normalerweise auch in Settopboxen implementiert.

 

Wenn man Lust und Laune hat kann man das natürlich beliebig optimieren und mit höherwertigeren Vergleichen aufhübschen... :D

 

 

Dann gucke ich mir doch mal auch den neuen DVBViewer GE an.

Share this post


Link to post
Griga
EIT-Section vollständig einlesen, Datenbank sperren, dann in der Datenbank ganze Section (von/bis Startzeit) löschen und direkt neue Daten der Section einfügen, Datenbank entsperren.

 

Wenn eine standardkonforme EIT die einzige EPG-Quelle ist, kann man das so machen ;)

 

https://www.google.de/#q=site:DVBViewer.tv+xepg

https://www.google.de/#q=site:DVBViewer.tv+xmltv

https://www.google.de/#q=site%3Advbviewer.tv+MediaHighway

https://www.google.de/#q=site%3Advbviewer.tv+ATSC+EPG

 

usw.

Share this post


Link to post
Griga
Normalerweise sollten für Aktualisierungen immer ganze EIT-Sections (3-Stunden-Blöcke) genutzt werden.

 

Wenn schon, dann Segmente, die aus mehreren Sections (maximal 8) bestehen können. Eine Section ist für 3 Stunden eventuell zu klein. arte braucht für manche Zeitabschnitte zwei:

Zwischenablage01.png

Share this post


Link to post
ö-r-rf

Segmente. Du hast recht. :-)

 

Wenn das nicht funktioniert muss man die gesamte EIT für einen Service einlesen, ggf. DB sperren, in der DB löschen, Events neu einfügen, DB entsperren.

Dauert eventuell halt einen kleinen Moment länger.

 

 

Noch eine Idee:

Oder man baut die DB nach den Positionen der Events innerhalb eines Segments...

Dann würde auch ein Ersetzen von einzelnen Events effizienter funktionieren.

Share this post


Link to post
Griga
Wenn das nicht funktioniert muss man die gesamte EIT für einen Service einlesen, ggf. DB sperren, in der DB löschen, Events neu einfügen, DB entsperren.

 

Das geht nicht so einfach. Der DVBViewer / RS sammelt EPG ein, wo er ihn kriegen kann. Oft wird der EPG für einen Sender auch auf anderen Transpondern übertragen, dort aber vielleicht in geringerem Umfang, vielleicht nur Present / Following, oder vielleicht alles, aber ohne Extended Event Descriptoren mit den langen Beschreibungen... oder umgekehrt. Da gibt es X Varianten.

 

Wenn du bei der vorgeschlagenen Methode auf den falschen Transponder schaltest, besteht eventuell ein ehemals üppiger EPG plötzlich nur noch aus Sendungstiteln oder ist sogar auf zwei Einträge zusammengeschrumpft.

 

Die EPG-Erfassung im DVBViewer enthält einige wertende Heuristik, um sowas zu verhindern. Im DVBViewer Pro / RS ist sie zugegebenermaßen renovierungsbedürftig.

Share this post


Link to post
ö-r-rf

Naja, da der RS ohnehin alle Kanäle abklappert braucht man doch die EIT-other eigentlich gar nicht zu berücksichtigen, oder?

Denn dann würde man auch nicht Gefahr laufen kastrierte Daten aus Fremdquellen zu importieren. Verlässliche EIT-Daten erhält man immer nur vom "Originalkanal".

Weil eigentlich wird dies in der Regel (ja ich weiß :-) nur genutzt um P/F auf fremden Transpondern zu signalisieren um beim Umschalten diese Information gleich verfügbar zu haben.

Aber P/F scheint mir sowieso momentan weder im RS noch im DVBViewer für den EPG genutzt zu werden.

Share this post


Link to post
Tjod

Das alle Transponder durchgeschaltet werden können ist nicht in allen Konfigurationen gegeben (der RS schalte nie alle Sender durch) .

Grade bei HTPCs mit nur einem Tuner wo der DVBViewer immer läuft wen der PC an ist, ist nur sehr selten der eine Tuner frei um gezielt EPG Daten einzusammeln.

 

Und ich würde mich auch nicht darauf verlassen das Weltweite immer der Sender Selber die besten Daten liefert. :innocent:

Share this post


Link to post
ö-r-rf

Woran machst du fest was "die besten Daten" sind? :innocent:

 

Ich sehe keine andere Möglichkeit als die EIT schedule actual auf dem originären Kanal/Transponder/Multicast einzusammeln um valide Daten zu bekommen.

Die anderen Daten könnte man höchstens noch als niederwertig ansehen. Dann kann man sie zwar erstmal einsammeln falls nichts besseres vorhanden ist aber muss sie in der DB entsprechend kennzeichnen um sie dann später ggf. durch das Original zu ersetzen - falls möglich.

Edited by ö-r-rf

Share this post


Link to post
ö-r-rf

Im DVBViewer GE (Download aus dem Mitgliederbereich, ReadMe lesen!) habe ich bereits einen Versuch unternommen, den EPG in der Hinsicht anders zu behandeln. Die Methode soll nach Möglichkeit in den DVBViewer pro und RS übernommen werden, wenn sie sich bewährt. Vielleicht kannst du mal testen, wie es sich damit bei dir verhält. Der DVBViewer GE lässt sich zusätzlich zum DVBViewer Pro installieren.

 

Ich habe es jetzt hinsichtlich getestet EPG und kann vermelden dass die beobachteten Probleme dort offensichtlich nicht auftreten.

Auch wenn dort auch keine Sekunden angezeigt werden so scheint intern dennoch korrekt damit gerechnet und für die GUI-Darstellung entsprechend gerundet bzw. abgeschnitten zu werden.

 

Eine funktionale Übernahme in den RS wäre somit ein echter Mehrwert.

Share this post


Link to post
Griga
Naja, da der RS ohnehin alle Kanäle abklappert braucht man doch die EIT-other eigentlich gar nicht zu berücksichtigen, oder? (...) Verlässliche EIT-Daten erhält man immer nur vom "Originalkanal".

 

Das haben Lars und ich auch gedacht. Nach entsprechender Optimierung der EPG-Hintergrund-Aktualisierung passierte dies:

 

http://www.DVBViewer.tv/forum/topic/51366-epg-error-in-latest-version/

 

Es gibt Anbieter, die auf den Original-Transpondern Present / Following liefern und den mehrtägigen EPG (EIT Schedule) für alle Sender des Bouquets nur als EIT Other auf einem einzigen speziellen Transponder. Daraufhin hat Lars einen Tweak eingeführt, der bestimmt, ob der RS bei der Hintergrund-Erfassung nur die EIT Actual oder auch die EIT Other liest. Letzteres macht leider die EPG-Erfassung im Hintergrund deutlich langsamer, weil die EIT Other auf vielen Transpondern eine längere Zykluszeit hat.

 

Auch den mehrtägigen Freesat-EPG auf Astra 28° Ost (für praktisch alle relevanten freien britischen Sender) erhält man ausschließlich als EIT Other, sogar wenn der betreffende Sender auf dem selben Transponder liegt. Aber die Freesat EIT ist ohnehin eine Sache für sich...

 

Ich habe es jetzt hinsichtlich getestet EPG und kann vermelden dass die beobachteten Probleme dort offensichtlich nicht auftreten.

 

Danke für den Test. Allerdings stellt die Übernahme in den RS / DVBViewer Pro einen größeren Eingriff dar und wird deshalb nicht kurzfristig geschehen.

Share this post


Link to post
ö-r-rf

Danke für den Test. Allerdings stellt die Übernahme in den RS / DVBViewer Pro einen größeren Eingriff dar und wird deshalb nicht kurzfristig geschehen.

 

Vielleicht kann man ja zwischenzeitlich einfacher in den RS eine Funktion bzw. Task integrieren mit dem man den gesamten EPG löschen (quasi epg.dat leeren) und anschließend sauber neu einlesen kann. Wenn man das z. B. alle 12 Stunden macht kommt nicht so viel durcheinander wie bisher.

Share this post


Link to post
VinoRosso

Die Option gibt es doch schon im Recording Service Tweaker....

Share this post


Link to post
ö-r-rf

Danke. Das habe ich jetzt gefunden.

Share this post


Link to post

  • Similar Content

    • 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

    • snorre
      By snorre
      DVBWiewer Recording Service Linux / Wine
       
       
      Hardware:
      Ubuntu 18.04 server 1GB RAM 1 Core FSTAB: mount NFS recordings  from NAS to /mnt/recordings Name: dvbsrv  
       
      Software:

      We need wine (32bit version), Xvfb (short for X virtual framebuffer) for
      running the recording service without screen, cabextract for extracting
      the needed DirectX file (ksproxy.ax) and nfs-common for mounting the
      recording share.
       
      dpkg --add-architecture i386 && apt update apt install wine32 xvfb cabextract nfs-common  
       
      Software Wine:
       
      We create a user which is running the Recording Service.
      In the users home we store the needed Windows software parts in the subdirectory "sw".
      SSH to the Ubuntu server as root or become root with "sudo su -".
       
      # create user w/o passwd adduser dvb su - dvb mkdir sw && cd sw wget http://download.microsoft.com/download/E/E/1/EE17FF74-6C45-4575-9CF4-7FC2597ACD18/directx_feb2010_redist.exe cabextract directx_feb2010_redist.exe -F dxnt.cab cabextract dxnt.cab -F ksproxy.ax  
      Files to be stored in /home/dvb/sw:
       
      Total Commander 32bit: tcmd922ax32.exe DVBViewer: DVBViewer_setup_6.1.4.exe Recording SVC: Recording_Service_setup_1.33.02.01.exe FFMPEG 32bit: ffmpeg-20190707-98b122c-win32-static.zip DVB Lic: xxxx.dvbvkey  
       
      Config from Windows DVBWiewer:
       
      This step is optional. You can configure the Recording Service without these.
      I copied the file from the Windows installation to keep my settings.
       
      Channel Logos: "c:\Program Files\DVBViewer\Images\Logos" Plugins: "c:\Program Files\DVBViewer\Plugins" Channels: "c:\Documents and Settings\All Users\Application Data\CMUV\DVBViewer\channels.dat" Allowed Networks: "c:\Documents and Settings\All Users\Application Data\CMUV\DVBViewer\Config\svcuserdata.xml" Rec-Server Config: "c:\Documents and Settings\All Users\Application Data\CMUV\DVBViewer\Config\service.xml" Tuner Config: "c:\Documents and Settings\All Users\Application Data\CMUV\DVBViewer\Config\svchardware.xml" SAT>IP Config: "c:\Documents and Settings\All Users\Application Data\CMUV\DVBViewer\Config\svcnetwork.xml"  
       
      Setup:
       
      Start Xming on Windows client. On Linux Desktop you usually already have a X server running. If using Putty, configure it to have X forwarding enabled. Putty (or ssh -X) to dvbsrv as root.  
      cp .Xauthority /home/dvb/ chown dvb:dvb /home/dvb/.Xauthority su - dvb cd sw  
      Initial Wine start wine cmd exit  
       
      Install Total Commander wine tcmd922ax32.exe - no shortcuts
       
       
      Install DVBViewer wine DVBViewer_setup_6.1.4.exe  - no shortcuts, no FW
       - OK on "Unable to execute file: powercfg.exe" - 10 times
       - Add Key File, Username and Passsword - Key file in Z:\home\dvb\sw
       - Cancel additional components install
       - do not wiew changelog_en.html and do not Launch DVBViewer
       
       
      Install Recording Service wine Recording_Service_setup_1.33.02.01.exe  - no shortcuts, no FW, no Download FFmpeg
       - OK on "Unable to execute file: powercfg.exe" - 10 times
       - do not wiew changelog_en_rs.html and do not Launch Configuration
       - Right click Recording Service System Tray Icon -> Disable Auto-Start Tray Control Program -> Exit
       
       
      Start Total Commander - These steps can also be done manually on Linux or Wine comandline "wine cmd" wine c:\\totalcmd\\totalcmd.exe &  - Configure
       - Copy z:\home\dvb\sw\ksproxy.ax -> c:\windows\system32
       - Open z:\home\dvb\sw\ffmpeg-20190707-98b122c-win32-static.zip
         + Copy z:\home\dvb\sw\ffmpeg-20190707-98b122c-win32-static.zip\ffmpeg-20190707-98b122c-win32-static\bin\ffmpeg.exe -> "c:\Program Files\DVBViewer"
       - Copy Plugins -> "c:\Program Files\DVBViewer\Plugins"
       - Copy Logos -> "c:\Program Files\DVBViewer\Images\Logos"
       - Copy z:\home\dvb\sw\channels.dat -> c:\ProgramData\CMUV\DVBViewer
       - Copy XML config files -> c:\ProgramData\CMUV\DVBViewer\Config
       
       
      Configure Recording Service wine "c:\Program Files\DVBViewer\svcoptions.exe"  - Recorder: Directories: Z:\mnt\recordings
         + Recordings: Disable Create NTFS filestorage data
       - Web/UPnP:
         Port 8080
         Disable: Prevent PC sleep
       
       
       
      Run As systemd service:

      /etc/systemd/system/DVBViewer.service
      [Unit] Description=Run DVBViewer Recording Service in Wine [Service] User=dvb ExecStart=/usr/bin/xvfb-run /usr/bin/wine "c:\Program Files\DVBViewer\DVBVservice.exe" [Install] WantedBy=multi-user.target
      /etc/systemd/system/DVBViewer-port.service
      [Unit] Description=Redirect port 80 to 8080 for DVBViewer Recording Service [Service] Type=oneshot ExecStart=/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080 [Install] WantedBy=multi-user.target
       
      systemctl enable DVBViewer-port.service systemctl enable DVBViewer.service systemctl start DVBViewer-port.service systemctl start DVBViewer.service  
       
      Start Wine programs as root:
       
      Totalcmd: cp /root/.Xauthority /home/dvb/ && su - dvb -c 'wine "c:\totalcmd\totalcmd.exe"' & DVBViewer Opts: systemctl stop DVBViewer && \ cp /root/.Xauthority /home/dvb/ && \ su - dvb -c 'wine "c:\Program Files\DVBViewer\svcoptions.exe"' && \ systemctl start DVBViewer
    • c.paul
      By c.paul
      Hallo,
      wollte meinen DVBViewer samt Recording-Service mal wieder updaten.
      Leider finde ich auf der Mitgliederseite dir Rubrik für den Recording-Service nicht.
      Danke für Eure Hilfe
      Grüße
      Christian
×
×
  • Create New...