Hallo, Gast!


Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
vdr-vnsi sporadische aussetzer
#1
Hallo zusammen ich bin gerade auf der Suche nach einer Lösung für ein sporadische Problem mit dem vdr-vnsi server.

Ich habe auf github schon eine Issue erstellt aber da noch nicht wirklich weiter gekommen deswegen hier die frage wo und wie ich weiter ansetzen kann um das zu lösen:
https://github.com/FernetMenta/vdr-plugi.../issues/97

Ich fasse hier nochmal kurz auch auf Deutsch zusammen was das Problem ist:

Bisher wurde fernsehen über ein Intel NUC mit easyvdr problemlos geschaut.
Das habe ich gegen eine Kiste mit Kodi und vnsi plugin ausgetauscht.
Am Server selber habe ich nur das VNSI-Server plugin aktiviert.

Sporadisch beim umschalten passiert es nun, dass am Server das VNSI-Server plugin sich mit dem Fehler "no data" meldet.
Nach VDR neustart oder ein paar minuten warten geht es wieder ohne problem.
Von dem was ich schon nachvollziehen konnte, scheint es als ob der Tuner den der VNSI-server sich raussucht einfach kurz nicht "tut".
An anderen Clients oder wenn der VNSI-Server beim umschalten einen anderen Tuner bekommt, geht es wieder ohne Probleme.

Ich habe mal verglichen was passiert wenn der Empfang wirklich schlecht ist (Gewitter) und dann sagt VDR auch tatsächlich, dass er vom Tuner nen timeout bekommt.

Wie gehe ich hier jetzt am besten vor?
Zum test einfach mal neuinstallieren oder hat noch jemand Ideen wie ich das debuggen könnte.


Angehängte Dateien
.zip   easyinfo.zip (Größe: 56,62 KB / Downloads: 1)
 Zitieren
#2
Hi,

(05.09.2017, 10:08)Ironman schrieb: Wie gehe ich hier jetzt am besten vor?
Code:
ii  vdr-plugin-vnsiserver 2:1.5.2~git20170616-0easyVDR0~trusty amd64 VDR-Network-Streaming-Interface
vllt. mal ein upgrade durchführen, da im PPA nee neuere Version des Plugins liegt!
Code:
vdr-plugin-vnsiserver 2:1.5.2~git20170815-0easyVDR0~trusty

Gruss
Wolfgang

 Zitieren
#3
Habe Ich probiert leider keine Änderung.
Im Anhang ist nochmal die neue easyinfo frisch mit Syslog wo das Problem wieder auftritt.

Was kann ich noch tun um dem ganzen auf die schliche zu kommen?

femon auf allen 8 adaptern laufen lassen um zu schauen ob zum Zeitpunkt des Aussetzer da was ist?

Kann ich im VDR dann noch mehr debuggen?

Also z.B. vdr-dbg installieren? 

Da bräuchte ich dann aber ne kurze Einweißung/Anleitung nach was ich schauen sollte.


Angehängte Dateien
.zip   easyinfo (1).zip (Größe: 77,54 KB / Downloads: 1)
 Zitieren
#4
Hallo

So nach VDR Problem sieht das nicht aus, eher dein Client ist zu langsam.
Nimm mal einen PC Laptop ... installiere Kodi und versuch es damit.

Einzig die Lirc Fehlmeldungen sind nicht schön.
Ich dachte im Setup kann man auch keine FB/Empfänger anwählen, ist das gewählt?

Gruß
Bleifuss
Produktiv-VDR:
Board GA H77-DS3H, Intel Intel® Core™ i5-3470, Cine S2 DVB, WD 3TB Green, WDC WD20EARS-00J  2TB, Geforce 750Ti oder Intel HD
Easyvdr 3.0
 Zitieren
#5
Hi

(06.09.2017, 14:01)Bleifuss2 schrieb: Einzig die Lirc Fehlmeldungen sind nicht schön.
Ich dachte im Setup kann man auch keine FB/Empfänger anwählen, ist das gewählt?
Wenn das noch keiner debuged hat, kommen diese Fehlermeldungen bei Auswahl kein Empfänger.

Da wird doch dann default ein comport Empfänger pauschal vorgegeben.

Gruß Aaron


Gesendet von meinem SM-G935F mit Tapatalk
Mediacenter
easyVDR3.0(4.2.0 64-Bit) Gigabyte, Ltd. H97-HD3 mit Intel® G3260 @ 3.30GHz 4GB DDRx,Intelgrafik,MATSHITA BD-MLT UJ265 Bluray LW, 2TB Festplatte,LCD+IRTrans-Empfänger,2x SkystarS2 PCI
[Bild: IMG_20150725_090852.JPG?dl=1&pv=1]
 Zitieren
#6
(06.09.2017, 14:01)Bleifuss2 schrieb: Hallo

So nach VDR Problem sieht das nicht aus, eher dein Client ist zu langsam.
Nimm mal einen PC Laptop ... installiere Kodi und versuch es damit.

Einzig die Lirc Fehlmeldungen sind nicht schön.
Ich dachte im Setup kann man auch keine FB/Empfänger anwählen, ist das gewählt?

Gruß
Bleifuss

Der Kodi Clients ist ein Pentium G2030 mit 4 GB ram Angebunden über ac WLAN im test mit iPerf deutlich über 100MBit/s datenrate Load Average 15 min 0,25.

Das Problem tritt aber auch an meiner Workstation mit i7 6800k 32 GB RAM Radeon 7870 und 1 Gbits/s Netzwerk auf.


Zu den LIRC Fehlermeldungen ja das ist nur ein headless Server ohne FB und ist auch so im setup ausgewählt.
Ich habe mal gelesen mit LIRC über ALSA und mic eingang zu machen aber die Fehler scheinen ja nur kosmetischer? Natur zu sein.
 Zitieren
#7
Wähle mal im Setup einen Seriellen Empfänger und irgend eine FB. Aber ja ich denke auch das es nichts macht.

Wlan ist immer heikel, aber du hast ja mit Kabel das selbe Problem.
Von daher habe ich auch keine Idee mehr. Obwohl wie viele Clients laufen den gleichzeitig?
Produktiv-VDR:
Board GA H77-DS3H, Intel Intel® Core™ i5-3470, Cine S2 DVB, WD 3TB Green, WDC WD20EARS-00J  2TB, Geforce 750Ti oder Intel HD
Easyvdr 3.0
 Zitieren
#8
Hi,

Bitte Ausgabe von
Code:
cat /var/lib/vdr/setup.conf | grep EPGScanTimeout
und wie sind die Prio-Einstellungen am Client im PVR-Addon-VNSI unter Konfiguration?

P.S
Kann hier Stundenlang auf Himbeere P2(LibreELEC) mit VNSI streamen und umschalten, hatte noch keine Probleme damit! ...egal ob das Sat(Dual-Tuner) oder DVB-T ist!

Gruss
Wolfgang

 Zitieren
#9
Es laufen in der Regel einer maximal zwei Clients und 1-2 Aufnahmen also maximal 4 Tuner würde ich sagen. Aber auf jeden Fall niemals alle 8.
Wie viele Tuner aber gerade in Benutzung ist egal. Es kann sein dass ein PC minutenlang kein Bild bekommt während der andere ohne Problem schauen kann.

Code:
EPGScanTimeout = 5

Prio ist auf 0:
Code:
Sep  6 19:42:38 easyvdr vdr: [2609] VNSI: Successfully found following device: 0x1547340 (3) for receiving, priority=0
 Zitieren
#10
Hi,

(06.09.2017, 18:55)Ironman schrieb: Code:
EPGScanTimeout = 5
hast du den EPGScan mal deaktiviert? EPGScanTimeout = 0
und Plugin vnsi ohne Parameter gestartet? ...sollte ja auch ohne -d laufen.

(06.09.2017, 18:55)Ironman schrieb: Prio ist auf 0:
Code:
Sep  6 19:42:38 easyvdr vdr: [2609] VNSI: Successfully found following device: 0x1547340 (3) for receiving, priority=0
das ist aber nicht vom Client ..oder täusche ich mich da??

Gruss
Wolfgang

 Zitieren
#11
Läuft dein VDR auch mit GBit Netzwerk?
Sind noch einige Switches in der Leitung?

Am besten du nimmst einen GB Switch und steckst zum testen alles am Switch ein.
Produktiv-VDR:
Board GA H77-DS3H, Intel Intel® Core™ i5-3470, Cine S2 DVB, WD 3TB Green, WDC WD20EARS-00J  2TB, Geforce 750Ti oder Intel HD
Easyvdr 3.0
 Zitieren
#12
Hi Bleifuss2,

(06.09.2017, 22:06)Bleifuss2 schrieb: Läuft dein VDR auch mit GBit Netzwerk?
...wenn ich das so lese, dürfte bei mir nichtmal SD funktionieren.
Server steht im 3.OG - Pi im 1.OG. Server ist über Kabel von  6 Port Switch mit Fritz 300E Repeater verbunden.
WLan ins 1.OG zu Fritz 7490 mit Kabel an 6 Port Switch, dann über Kabel auf die Pi.
Keine Probleme mit nur einem Client, ob nun SD oder HD. Bei SD geht auch Parallel-Stream auf Laptop
alles ohne Artfakte/Freeze oder das der Stream wegbricht.

Gruss
Wolfgang

 Zitieren
#13
Hallo Wolfgang

Wenn du mal soviel mit Netzwerk Problemen zu tun hastest wie ich fängst du auch da an.
Probleme:
VDR hat schlechtes NW Kabel, Verbindung zu Switch unter Umständen 10Mbit, je nach Switch.
Schlechtere Variante Switch schaltet trozdem auf 100 und da CRC Fehler sind werden die Telegrame X Mal gesendet. Oder es gehen 2 GB Switch auf einen 100M Switch, das läuft auch nicht gut ...
Oder es ist wie bei mir mit Wlan, ich Wohne auf dem Land. Bei mir gibt es mind. 15 Wlan Netze, selbst welche von Druckern, wobei ich behaupte das die Leute nur nicht wissen wie man das Drucker WLAN abschaltet ... Da suchst du dir einen einigermaßen akzeptablen Kanal, 2 Tage alles Super, dann sucht sich wieder ein Wlan von den Nachbarn einen neuen Kanal und schon ist es wieder aus mit schnellem Wlan.

Daher erst mal alles unter Labor Bedingungen testen dann weiß man das es nicht am Netzwerk liegt.
Ist es aufwendig das VNSI zeug zu installieren? Ich hätte genügend Clients das mal zu testen. Allerdings habe ich kein SAT IP.


Gruß
Bleifuss
Produktiv-VDR:
Board GA H77-DS3H, Intel Intel® Core™ i5-3470, Cine S2 DVB, WD 3TB Green, WDC WD20EARS-00J  2TB, Geforce 750Ti oder Intel HD
Easyvdr 3.0
 Zitieren
#14
(06.09.2017, 21:42)mango schrieb: hast du den EPGScan mal deaktiviert? EPGScanTimeout = 0
und Plugin vnsi ohne Parameter gestartet? ...sollte ja auch ohne -d laufen.

(06.09.2017, 18:55)Ironman schrieb: Prio ist auf 0:
Code:
Sep  6 19:42:38 easyvdr vdr: [2609] VNSI: Successfully found following device: 0x1547340 (3) for receiving, priority=0
das ist aber nicht vom Client ..oder täusche ich mich da??

Gruss
Wolfgang

Guten Morgen,

EPGscan deaktiviere ich mal zum testen.
VNSI ohne parameter hatte ich direkt nach der installation am laufen mit genau dem gleichen Problem, weswegen ich es überhaupt erstmal mit den Parametern probiert habe.

Kurze Anmerkung noch dazu:
Beim vnsi server plugin werden die parameter aus /etc/vdr/plugins/plugin.vnsiserver.conf nicht genommen.
Ich musste die manuell in der /var/lib/vdr/sysconfig hinzufügen (wo sie dann bei ner änderung an den plugins wieder weg sind aber war ja nur zum testen).
Ich glaube in der /var/lib/vdr/plugins/setup/vdr-setup.xml fehlt für das VNSI Plugin param="" ?

Doch das ist die Prio mit dem der  VNSI client vom Server den tuner anfordert. Ich hatte diese erst auf 5, dann wurde geraten den auf 0 zu stellen, was ich an allen clients gemacht habe.


Der VDR-Server ist am gleichen Switch wie meine Workstation an der ich das Problem habe.
Ein generelles Netzwerkproblem kann ich natürlich nicht 100% ausschliesen, aber laufende VNSI Streams brechen nie ab und auch sonst gibt es im Netzwerk nirgendwo timeouts etc.

Ich bin über ssh aufm VDR-Server drauf und sehe live mit:  tail -f /var/log/syslog | egrep 'switched|no data' wenn der fehler passiert.
Ich kann es ja verstehen dass es am Netzwerk liegen könnten, wenn andere clients auch kein Bild mehr bekommen / der Stream abbricht, aber das ist nicht der Fall alles läuft stabil.


Ich bin zwar kein C++ programmierer aber wenn ich den Code richtig lese dann ist es vom ablauf her so:
VNSI Client schickt anfrage an Server ich will kanal xy sehen.
VNSI Server lässt sich von VDR nen tuner geben.
VNSI Server demuxt den TS-Stream und schickt den an den client.

Und im dem letzten Schritt ist denke ich das Problem:
https://github.com/FernetMenta/vdr-plugi...streamer.c Zeile 178
Das ist der Main Loop der die Daten vom VDR bekommt und weiterschickt
Code:
void cLiveStreamer::Action(void)
ret = m_Demuxer.Read(&pkt_data, &pkt_side_data);

Ich vermute das returned mit -1 wenn der fehler bei mir auftritt.

https://github.com/FernetMenta/vdr-plugi.../demuxer.c Zeile 103
Code:
int cVNSIDemuxer::Read(sStreamPacket *packet, sStreamPacket *packet_side_data)
// read TS Packet from buffer
 len = m_VideoBuffer->Read(&buf, TS_SIZE, m_endTime, m_wrapTime);
 // eof
 if (len == -2)
   return -2;
 else if (len != TS_SIZE)
   return -1;

Ich vermute das hier versucht wird den TS-Stream zu lesen und die len wahrscheinlich 0 anstatt 188 Byte ist.

Damit bin ich aber leider auch schon mit meinem Latein am Ende.
 Zitieren
#15
Ich bin zwar auch kein C++ Programmierer aber es sieht überschaubar aus.
Kannst du das compilieren und testen wenn ich dir Änderungen poste?

Schritt 1 wäre alles was abbricht ins Syslog schreiben.
Produktiv-VDR:
Board GA H77-DS3H, Intel Intel® Core™ i5-3470, Cine S2 DVB, WD 3TB Green, WDC WD20EARS-00J  2TB, Geforce 750Ti oder Intel HD
Easyvdr 3.0
 Zitieren
#16
Ich kann das compilen und testen ja.

So wies aussieht sollte ich folgenden Codeschnipsel: INFOLOG("Channel: no data %d", error);
ja wiederverwenden können damit ich sehe wo genau er austeigt und von da aus könnte man dann ja weiterdebuggen.

Code:
diff --git a/demuxer.c b/demuxer.c
index 3521656..34a4fe3 100644
--- a/demuxer.c
+++ b/demuxer.c
@@ -120,11 +120,18 @@ int cVNSIDemuxer::Read(sStreamPacket *packet, sStreamPacket *packet_side_data)

  // read TS Packet from buffer
  len = m_VideoBuffer->Read(&buf, TS_SIZE, m_endTime, m_wrapTime);
+
  // eof
  if (len == -2)
+  {
+    INFOLOG("demuxer.c: readlen -2 error ");
    return -2;
+  }
  else if (len != TS_SIZE)
+  {
+    INFOLOG("demuxer.c: readlen -1 error ");
    return -1;
+  }

  m_Error &= ~ERROR_DEMUX_NODATA;


Das habe ich mal gemacht kompiliert und installiert und die neue libvdr-vnsiserver.so.2.2.0 ist auch in /usr/lib/vdr/plugins/ angekommen.
Dann ja nur nuch einmal neustarten und warten bis es wieder passiert?
 Zitieren
#17
Ob Infolog so funktioniert bin ich nicht sicher, da müsste ich die Funktion anschauen.
Aber ERRORLOG("cParser::AddPESPacket - realloc failed"); das müsste gehen.
Format:
ERRORLOG("Hier X beliebiger text");

Ob das dann aber im Syslog oder in einer Speziellen Log Datei landet weiß ich nicht, da müsste ich die Funktion ERRORLOG anschauen.

Gruß
Bleifuss
Produktiv-VDR:
Board GA H77-DS3H, Intel Intel® Core™ i5-3470, Cine S2 DVB, WD 3TB Green, WDC WD20EARS-00J  2TB, Geforce 750Ti oder Intel HD
Easyvdr 3.0
 Zitieren
#18
Hi,

(07.09.2017, 08:52)Ironman schrieb: Kurze Anmerkung noch dazu:
Beim vnsi server plugin werden die parameter aus /etc/vdr/plugins/plugin.vnsiserver.conf nicht genommen.
Ich musste die manuell in der /var/lib/vdr/sysconfig hinzufügen (wo sie dann bei ner änderung an den plugins wieder weg sind aber war ja nur zum testen).
Ich glaube in der /var/lib/vdr/plugins/setup/vdr-setup.xml fehlt für das VNSI Plugin param="" ?
richtig die "/etc/vdr/plugins/plugin.xxxx.conf" wird von easyVDR nicht angefasst, da wir Plugin setup
nutzen. Alle Parameter(wenn ein Plugin dies benötigt) kommen aus der "/var/lib/vdr/plugins/setup/vdr-setup.xml"
Wenn aber der Parameter nur in der sysconfig steht, wird der Zustand aus der "vdr-setup.xml" übernommen.
...ergo, bei neustart des Systems ist dieser dann auch weg.
Deshalb sollte der Parameter immer hier aufgeführt sein. Da bisher noch keiner einen Parameter für das Plugin benötigte gibt es auch kein param=""

Gruss
Wolfgang

 Zitieren
#19
Und bist du weiter gekommen?
Produktiv-VDR:
Board GA H77-DS3H, Intel Intel® Core™ i5-3470, Cine S2 DVB, WD 3TB Green, WDC WD20EARS-00J  2TB, Geforce 750Ti oder Intel HD
Easyvdr 3.0
 Zitieren
#20
Ja und nein ich habe am Do. Abend ein paar debug sachen hinzugefügt dann gewartet bis es wieder passiert ist bin daraus aber nicht wirklich schlau geworden weil die read errors auch im normalen Betrieb vorkommen ohne negative auswirkungen.

Am Fr. Abend dann noch ein paar sachen geändert und das Problem ist nun das bisher der Fehler nicht mehr auftrat. Dodgy 

Ich behalte es im Auge und halte euch auf dem laufenden.
 Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste