VDR streaming client und Kanäle mit Regionalfenstern

  • Hallo,


    ich betreibe ein Client/Server System je mit VDR und streamdev Plugin. Der Client hat eine Kopie der channels.conf vom Server. Wenn nun ein Kanal mit Regionalfenster angesehen wird - z.B. MDR Sachsen HD - wo ab 19.00Uhr je Region unterschiedliche Nachrichten gesendet werden, dann zeigt mir der Server das eine Program an (Sachsenspiegel) und der Client ein anderes (SachsenAnhalt). Im EPG vom Client steht aber "Sachsenspiegel". Wie kommt das?


    Hier der relevante Eintrag der channels.conf:


    Code
    MDR Sachsen HD;ARD:10891:HC23M5O35P0S1:S19.2E:22000:5331=27:5332=deu@3,5333=mis@3;5336=deu@106:5334:0:10352:1:1061:0


    Am Server sehe ich, dass für das Regionalfenster die PIDs geändert werden:

    Code
    Jan  3 19:26:40 hdtv vdr: [1725] changing pids of channel 11 from 5331+5331=27:5332=deu@3,5333=mis@3;5336=deu@106:0:5334 to 5321+5321=27:5322=deu@3,5323=mis@3:0:5324
    Jan  3 19:43:11 hdtv vdr: [1725] changing pids of channel 11 from 5321+5321=27:5322=deu@3,5323=mis@3:0:5324 to 5331+5331=27:5332=deu@3,5333=mis@3;5336=deu@106:0:5334
    Jan  4 19:23:09 hdtv vdr: [1671] changing pids of channel 11 from 5331+5331=27:5332=deu@3,5333=mis@3;5336=deu@106:0:5334 to 5321+5321=27:5322=deu@3,5323=mis@3:0:5324
    Jan  4 19:32:20 hdtv vdr: [1671] changing pids of channel 11 from 5321+5321=27:5322=deu@3,5323=mis@3:0:5324 to 5331+5331=27:5332=deu@3,5333=mis@3;5336=deu@106:0:5334


    Am Client habe ich die Änderung von PIDs erlaubt, aber davon bekommt der offenbar garnichts mit?! Im steamdev Plugin des Client ist der StreamFilter abgeschalten, weil das sonst Ärger macht.


    Was muss man tun, damit der Client genau das anzeigt, was man auch am Server sieht?


    Danke & Gruß, ollo

  • Zitat

    Am Client habe ich die Änderung von PIDs erlaubt, aber davon bekommt der offenbar garnichts mit?! Im steamdev Plugin des Client ist der StreamFilter abgeschalten, weil das sonst Ärger macht.


    Meta-Daten wie EPG aber auch PID-Änderungen werden über das Filter-Streaming an den Client geschickt. Wenn Du diese Option im streamdev-client ausschaltest, ist klar, dass er PID-Änderungen nicht mehr mitbekommt.

  • Hallo schmirl,


    OK, macht Sinn. Das Filter-Streaming habe ich abgeschalten, weil es am Client immer wieder zu Fehlern kommt, analog zu hier. Ich verwende am Server yavdr-testing and am Client einen selbstgebauten VDR auf dem RasberryPi mit streamdev Plugin aus dem vdr-developer git. Die Versionen sollten aber zueinander passen, die Jungs von YAVDR sind ja auf Zack :]


    Offenbar haben auch andere RasPi User Probleme damit - siehe ab hier.


    Gruß, ollo

  • Hallo schmirl,


    nein, kein WLAN. Ich habe den Timeout von 5 auf 10 gesetzt und nun läuft es besser. Die Meldung kommt zwar noch kurz nach einem Umschalten, bleibt dann aber ganz aus. Dafür kommt hier dieses noch recht häufig:


    Code
    Jan  9 20:39:18 raspberrypi vdr: [2115] cStreamdevFilter::PutSection socket overflow, Pid   18 Tid  64
    Jan  9 20:39:18 raspberrypi vdr: [2115] cStreamdevFilter::PutSection socket overflow, Pid   18 Tid  64
    Jan  9 20:39:18 raspberrypi vdr: [2115] cStreamdevFilter::PutSection socket overflow, Pid   18 Tid  64
    Jan  9 20:39:18 raspberrypi vdr: [2115] cStreamdevFilter::PutSection socket overflow, Pid   18 Tid  64
    Jan  9 20:39:18 raspberrypi vdr: [2115] cStreamdevFilter::PutSection socket overflow, Pid   18 Tid  64
    Jan  9 20:39:18 raspberrypi vdr: [2115] cStreamdevFilter::PutSection socket overflow, Pid   18 Tid  64
    Jan  9 20:39:18 raspberrypi vdr: [2115] cStreamdevFilter::PutSection socket overflow, Pid   18 Tid  64


    Was ist das und wo klemmt's da?


    Danke & Gruß, ollo

  • VDR liest die Filter-Daten von einem Dateideskriptor. Bei einer DVB-Karte ist das ein Block-Device. Streamdev stellt den Dateideskriptor in Form eines Sockets bereit. Mit dem Socket ist systemseitig ein Puffer assoziiert. Die Meldung erscheint, wenn Streamdev nicht in das Socket schreiben kann, weil dessen Puffer voll ist. Scheinbar holt VDR die Daten nicht oder nicht schnell genug ab. Möglicherweise ist auch der Kernel des Raspberrys auf Sparsamkeit getrimmt und stellt für Pipes weniger Speicherplatz zur Verfügung als bei einem Standardkernel.

  • ollo als Tipp zum testen der Regionalfesters, es gibt einen Sender mit dem Namen Test-R welcher jede Minute zwischen zwei Sendern umschaltet.

  • VDR liest die Filter-Daten von einem Dateideskriptor. Bei einer DVB-Karte ist das ein Block-Device. Streamdev stellt den Dateideskriptor in Form eines Sockets bereit. Mit dem Socket ist systemseitig ein Puffer assoziiert. Die Meldung erscheint, wenn Streamdev nicht in das Socket schreiben kann, weil dessen Puffer voll ist. Scheinbar holt VDR die Daten nicht oder nicht schnell genug ab. Möglicherweise ist auch der Kernel des Raspberrys auf Sparsamkeit getrimmt und stellt für Pipes weniger Speicherplatz zur Verfügung als bei einem Standardkernel.


    Unter Raspian, was ich auf meinem VDR-RPI verwende scheint mir die Pufferkonfiguration identisch zu meinem gentoo VDR server zu sein. Per default passt da in den Puffer ca. 160KByte rein, man kann mit setsockup(SO_SNDBUF) diesen Wert vergroessern, allerdings halt nur auf den Wert, der von net.core.wmem_max erlaubt ist. Man kann auch mit ioctl(TIOCOUTQ) gucken, wieviel da in der Queue drinsteck (aka: vom VDR noch nicht abgeholt wurde). Habe mir das mal in den streamdev client reingebastelt. Habe den Pufferwert auf 3MByte gesetzt. Jetzt sehe ich dass sich da bis knapp 6MByte ansammeln. Kriege jetzt absolut keine Pufferueberlaeufe mehr, aber es laeuft nicht wirklich rund. Wenn ich den streamdev client Timeout auf < 10 sek setze, dann verklemmt er sich immer noch, mit >= 10 sekunden gibts ab und zu mal Anhalter , aber dann geht es weiter.


    Was man dann noch im log sieht:


    Dec 29 14:29:56 eckert-pi2 vdr: [6078] i/o throttle activated, count = 1 (tid=6078)
    Dec 29 14:29:56 eckert-pi2 vdr: [6078] buffer usage: 70% (tid=6077)
    Dec 29 14:29:56 eckert-pi2 vdr: [6078] buffer usage: 80% (tid=6077)
    Dec 29 14:29:57 eckert-pi2 vdr: [6078] buffer usage: 0% (tid=6077)
    Dec 29 14:29:57 eckert-pi2 vdr: [6078] i/o throttle released, count = 0 (tid=6078)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!