Streamdev: Streaming VDR-2-VDR wie?


  • Du hast recht, das Gerät verhält sich wie ein VDR mit 2 Karten, außerdem friert das Pay TV (CanalSatellite) häfig ein. Das ist
    jedoch wahrscheinlich der Server, die Unterstützung für das
    ASTON CAM Modul ist notorisch buggy. Ewige Umschaltzeiten
    und häufige Abstürze beim Umschalten.


    Bin aber immer noch begeistert. Es ist doch angenehmer
    einen Barebone im Wohnzimmerschrank stehen zu haben,
    als kilometerlange Leitungen bis in den Keller zu verlegen, wie
    bisher. Statt Audio, Composite, FB-IR, An/Aus-Schalter liegt
    jetzt nur noch ein Netzerkkabel da und das teilen sich mein
    Philips-Fernsecher (Connected World) und der VDR.


    Was bewirken die Einträge in der connections.c eigentlich
    genau? Würde mich mal interessieren, ich fühl mich sonst
    so fremdgesteuert ;)

  • Hallo zusammen,


    ich lese hier immer wieder, wie begeistert die Leute vom Streamdev-Plugin sind.


    Nur: kann mir mal einer erklären, wie ich meinem Client (VIA SP8000, remote-bootend, keine DVB-Karte, Debian Sarge, VDR mit softdevice und streamdev-client) erkläre, dass er als DVB-Device bitte den streamdev-server (Ahtlon64 4000+, 1x Nexus-S, 1x Nova-S, VDR mit streamdev-server, welcher auch mit mplayer etc. vom Client aus erreichbar ist).


    VDR startet zwar auf dem Client, switchet dann aber ständig und sagt: Kanal nicht verfügbar. channels.conf habe ich vom Server kopiert und die 5-letzte Stelle auf 1 gesetzt (weil wegen fehlender DVB-Karte wäre das ja dann wohl das streamdev-device).


    Aber nichts! Ich kann noch nicht mal das OSD-Menü öffnen, wenn ich via control-Plugin mit telnet auf dem Client das OSD aufmachen möchte, sagt er mir, dass das OSD bereits geöffnet wäre und er ein Dummy-OSD benutzt.


    Im Server-Log findet sich auch nichts, dass ein Client mit 192.168.5.40 (Client-IP) connecten wollte. Wie sag ichs meinem client, wo der Server zu finden ist???


    Wer kann helfen?


    Viele Grüße,
    Flipsen

    VDR-Server: Pentium G3220, 8GB RAM, 60GB OCZ SSD, 2x 3TB WD Red (RAID1), 1x TeVii S482 Dual DVB-S2-Karte, 1x DVBshop DVBSky 952 Dual DVB-S2-Karte, Ubuntu 14.04.3LTS, VDR 2.2.0, yavdr-Repo, vnsi-server
    VDR-Client 1: Asus ATOM, 2GB RAM, KODI 15.2 Kodibuntu 14.04.3LTS, vnsi-client
    VDR-Client 2: Samsung Galaxy S5 mit Kodi



  • Zitat

    Originally posted by Flipsen1977


    VDR startet zwar auf dem Client, switchet dann aber ständig und sagt: Kanal nicht verfügbar. channels.conf habe ich vom Server kopiert und die 5-letzte Stelle auf 1 gesetzt (weil wegen fehlender DVB-Karte wäre das ja dann wohl das streamdev-device).


    Ich habe keine Erfahrung mit dem softdevice, aber ich vermute mal dass Du die CAM-ID auf 2 setzen musst. Die Werte in Deinem Fall sind wohl:


    0 ... jede Karte
    1 ... softdevice
    2 ... streamdev


    Die Frage nach dem OSD verstehe ich nicht: Wenn Du die Meldung "Kanal nicht verfügbar" bekommst, müsstest Du auch ein OSD haben. oder steht die Meldung in /var/log/messages?


    K.

  • Ok, ich bin einen Schritt weiter.


    Softdevice startet, wenn auch nur gelegentlich. Sender werden auch gefunden, EPG geht. Nach Anlernen der Tastatur als Fernbedienung kam ich auch ins OSD. Ich konnte auch streamdev-client sagen, wo der Server zu finden ist. Irgendwie speichert er diese Einstellung jedoch nicht, ebenso die angelernte Tastaturbelegung nicht. Das dürfte jedoch ein Zugriffsrechteproblem sein.


    Kann jemand sagen, in welche Dateien das geschrieben wird? In den Logs hatte ich einen Hinweis auf /var/lib/vdr/setup.conf.$$$. Legt der die geänderten Daten für setup.conf erstmal in einer temporären Datei ab?


    Im Moment hab ich das softdevice jedoch nur mit Dummy-Audio-Device am laufen, weil ich nicht weiß, wie meine Soundkarte anzusprechen ist und die Standardeinstellung AC3 über alsa funktioniert nicht. Kann man das ähnlich wie bei mplayer anzeigen lassen?


    Weiterhin ruckelt das Bild gewaltig, wahrscheinlich, weil ich als video-out nur das normale xv gesetzt habe im softdevice-plugin. Hier ist jedoch das gleiche Problem wie beim Audio, ich würde gerne die Hardware-Beschleunigung des CN400-Chipsets verwenden, weiß aber auch nicht, wie ich die ansprechen muss. kann man die Parameter für XvMC irgendwie auslesen?


    Gruß, Yves

    VDR-Server: Pentium G3220, 8GB RAM, 60GB OCZ SSD, 2x 3TB WD Red (RAID1), 1x TeVii S482 Dual DVB-S2-Karte, 1x DVBshop DVBSky 952 Dual DVB-S2-Karte, Ubuntu 14.04.3LTS, VDR 2.2.0, yavdr-Repo, vnsi-server
    VDR-Client 1: Asus ATOM, 2GB RAM, KODI 15.2 Kodibuntu 14.04.3LTS, vnsi-client
    VDR-Client 2: Samsung Galaxy S5 mit Kodi



  • Zitat

    Original von Flipsen1977
    Hier ist jedoch das gleiche Problem wie beim Audio, ich würde gerne die Hardware-Beschleunigung des CN400-Chipsets verwenden, weiß aber auch nicht, wie ich die ansprechen muss. kann man die Parameter für XvMC irgendwie auslesen?


    Beherrscht denn das Softdevice-Plugin mittlerweile XvMC? Der Eintrag im deutschen Wiki spricht von "leider bisher nur in Planung", im englischen Wiki fehlt dieser Hinweis.


    Gruß,
    Holger

  • Ups... dann hab ich das wohl falsch verstanden, ich dachte, das wäre mittlerweile umgesetzt.


    Dann bleibt wohl doch am Ende nur die Alternative über das xine-Plugin. Xine hab ich bereits mit Hardware-Unterstützung zum Laufen bekommen, jedoch krieg ich seit dem Update von XFree86 auf Xorg von apt-get nur den Hinweis, dass libxine1 nicht installiert werden könne, weil xfree86-common fehlt :(

    VDR-Server: Pentium G3220, 8GB RAM, 60GB OCZ SSD, 2x 3TB WD Red (RAID1), 1x TeVii S482 Dual DVB-S2-Karte, 1x DVBshop DVBSky 952 Dual DVB-S2-Karte, Ubuntu 14.04.3LTS, VDR 2.2.0, yavdr-Repo, vnsi-server
    VDR-Client 1: Asus ATOM, 2GB RAM, KODI 15.2 Kodibuntu 14.04.3LTS, vnsi-client
    VDR-Client 2: Samsung Galaxy S5 mit Kodi



  • Zitat

    Original von hquant
    Was bewirken die Einträge in der connections.c eigentlich
    genau? Würde mich mal interessieren, ich fühl mich sonst
    so fremdgesteuert ;)


    Mit GetDevice wird nach einer DVB-Karte gesucht die den gewünschten neuen Kanal empfangen kann. Ohne Attach() und Detach() wird dabei nicht berücksichtigt, dass Streamdev ja den alten Kanal nach dem Wechsel gar nicht mehr benötigt und damit eine DVB-Karte frei werden würde. Statement des Autors warum die Zeilen auskommentiert wurden:

    Zitat

    Grund für die Auskommentierung war, dass der VDR früher mal Probleme hatte mit diesem doch verdammt kurzen Intervall, in dem ein Thread gestoppt und wieder gestartet wird. Wenn's jetzt stabil funzt, spricht nichts dagegen.


    Im aktuellen CVS snapshot sind die Kommentare entfernt.

  • 'Ne andre Möglichkeit gabs nicht, um die Hardware-Unterstützung der VIA-Chips ans Laufen zu bekommen. Macht es Sinn, alles auf Sid umzustellen?


    Habt Ihr da Erfahrung?


    Interessanterweise hat Debian Sarge selbst auf meinem Server der noch mit xfree86 lief, eines Tages auf Xorg upgedatet, mit dem gleichen Effekt.

    VDR-Server: Pentium G3220, 8GB RAM, 60GB OCZ SSD, 2x 3TB WD Red (RAID1), 1x TeVii S482 Dual DVB-S2-Karte, 1x DVBshop DVBSky 952 Dual DVB-S2-Karte, Ubuntu 14.04.3LTS, VDR 2.2.0, yavdr-Repo, vnsi-server
    VDR-Client 1: Asus ATOM, 2GB RAM, KODI 15.2 Kodibuntu 14.04.3LTS, vnsi-client
    VDR-Client 2: Samsung Galaxy S5 mit Kodi



  • Ich möchte an dieser Stelle noch ein wenig mit den Mythen rund um die CAM-ID aufräumen, da im Wiki nur die halbe Wahrheit steht:


    Die Nummer 1-4 sind für DVB-Devices reserviert. Alle anderen Devices (wie streamdev-client oder auch Ausgabe-Devices wie dxr3 oder softdevice) bekommen Nummer 5 aufwärts. Bei meinen Clients ist z.B. dxr3 bzw. softdevice die 5 und streamdev-client die 6. Der streamdev-client schert sich aber herzlich wenig darum, was als CAM-ID in seiner channels.conf eingestellt ist.


    Wer folglich einen Client ohne DVB-Devices hat braucht die CAM-ID in der channels.conf nicht abzuändern, es stört aber auch nicht.


    Wie es sich auf gemischten Systemen verhält (also sowohl DVB-Devices als auch Streamdev-Client) kann ich nicht testen, da ich nur Clients ohne DVB-Device habe. Hier sollte es aber wie folgt aussehen (vielleicht kann das mal jemand verifizieren):


    Um einen bestimmten Kanal nicht über die lokale DVB-Karte sondern über streamdev zu empfangen genügt es irgendeine Device-Nummer anzugeben (sinnvollerweise <= MAXDEVICES = 16), ausgenommen natürlich die Nummer(n) der lokalen DVB-Karte(n). Das muss also nicht unbedingt die Nummer des streamdev-clients sein.


    Bei verschlüsselten Kanälen die die lokale DVB-Karte nicht entschlüsseln kann, sollte automatisch streamdev zum Zuge kommen wenn die CAM-ID auf dem ursprünglichen Wert für Verschlüsselung (>= 0x100) bleibt. Alternativ auch hier irgendeine Device-Nummer verwenden die nicht mit einer lokalen DVB-Karte korrespondiert.


    Manch einer hat im Client eine FF-Karte stecken die er nur zur Ausgabe nutzt (die also grundsätzlich gar nichts empfangen kann). Anstatt hier für alle Kanäle die CAM-ID zu ändern kann auch der LocalChannelsProvide-Patch aus dem streamdev/patches Verzeichnis installiert werden. Vermutlich wird sich dieser auf aktuelle VDR-Versionen nicht mehr anwenden lassen. Wer auf die Konfigurationsmöglichkeit via Setup-Menü verzichten kann, für den genügt es in dvbdevice.c ein return false einzufügen:

    Code
    bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *NeedsDetachReceivers) const
    {
      return false;
    ...


    Und noch ein Mythos:

    Zitat

    Ich habe festgestellt, dass die channels.conf nicht identisch sein muss.


    Das ist korrekt, solange die Remote Timers des streamdev-Plugins nicht verwendet werden. Diese arbeiten nämlich noch mit der Kanal-Nummer.

  • Also beim em84 Plugin bekomm ich (DVBDEVICES+1) und nich >= 5, zudem sollte die CA-ID schon der ID des gewünschten Devices entsprechen - wenn das egal ist, dient eine CA-ID!=0 nur dem unerwünschten Update der PID durch den VDR.


    arghgra

  • Zitat

    Original von arghgra
    Also beim em84 Plugin bekomm ich (DVBDEVICES+1) und nich >= 5


    Das em84xx Device wird beim Initialisieren der Plugins erzeugt und erhält hier seinen CardIndex. Zuvor initialisiert VDR aber die DvbDevices und dort wird der Zähler hochgesetzt:

    Code
    NextCardIndex(MAXDVBDEVICES - i); // skips the rest


    Wie das Plugin an einen CardIndex unter 4 kommen soll ist mir schleierhaft ?(


    Zitat

    zudem sollte die CA-ID schon der ID des gewünschten Devices entsprechen


    Mit "sollte" gebe ich Dir in jedem Fall recht. Fakt ist aber, das der streamdev-client sich im "ProvidesChannel()" nicht um den Inhalt des CA-Feldes kümmert. Ob das so gewollt oder ein Bug ist sei mal dahingestellt. In Bezug auf konsistentes Verhalten ist es ein Bug, da selbst wenn ich einstelle das Kanal XY immer über eine lokale DVB-Karte empfangen werden soll zur Not streamdev einspringt wenn diese Karte belegt ist.

  • Hi schmirl,


    Wärst Du nicht der ideale Author, um das streamdev weiterzuentwickeln? Natürlich mit dem Einverständniss des bisherigen.



    Peter

    VDR1: ASUS N100I-D D4 + IP TV Plugin + Flirc + softhddevice-git VAAPI + vdr-2.6.5 + 3 weitere Plugins + Debian Bookworm via M2 + Kernel 6.1.0


    VDR2: ASUS AT3IONT-I + PCTV USB Stick 461e + Nvidia 340.108 + Flirc + softhddevice-git + vdr-2.6.4 + 8 weitere Plugins + Samsung U70 + Debian Bullseye via SSD + Kernel 6.3.6 + LG 55 Zoll

  • Naja - in gewisser Weise tue ich das ja schon indem ich modularen Ersatz für den alten Menü-Teil schaffe (mit Segen des Meisters). Wenn mir mit meinen Plugins langweilig wird, habe ich mir auch vorgenommen mich um streamdev selbst zu kümmern (z.B. section streaming), aber das wird wohl noch eine Weile dauern. Momentan kommen mir Ideen zu neuen Plugin-Features noch schneller als ich sie programmieren kann :D


    Eine ideale Besetzung für den Job bin ich trotzdem nicht gerade. Zum einen sehr wenig Zeit (vor allem wegen :§$% und ;( ;( - bald sind's ;( ;( ;(), zum anderen habe ich für HTTP-Streaming keinerlei Verwendung. Aber wenn sich bis dahin immer noch niemand anderes gefunden hat...


    Aber danke für die Blumen :prost2


  • jau, die rennt. Wie geil !

    Asus Pundit M2A690G - Athlon64x2 2GHz - PVR350 - Ubuntu 7.1 - VDR1.4.7 -
    pvr350-2008-01-26 - pvrinput-1.0.0_20070523 - streamdev-20070921 - twolame0.3.12 - vdradmin-am-3.6.1

Jetzt mitmachen!

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