Frage zu Server und Client Betrieb

  • Hallo,


    ich bin derzeit dabei mit einem Raspberry einen Streaming Client aufzubauen. Das funktioniert bisher auch ganz gut. Für mich stellen sich ein paar Fragen die ich mir bisher nicht beantworten kann. Kurz zu meinem Aufbau...ich habe einen VDR darin ist eine CineS2 mit vier Tunern und dieser lief bisher als standalone VDR. Aufnahmen etc. landen derzeit alle auf diesem VDR. Jetzt habe ich auf meinem Haupt-VDR einen Streamdev-Server eingerichtet. Als Client verwende ich einen Raspberry auf dem ebenfalls ein VDR mit dem Streamdev-Client läuft. Als Ausgabedevice auf dem Client verwende ich das rpihddevice Plugin. Da auf meinem Raspberry nur begrenzt Speicherplatz zur Verfügung steht (32GB SD Karte) habe ich mir überlegt ich könnte das Aufnahmeverzeichnis von meinem Haupt-VDR als NFS-Share einbinden.
    Die Frage ist was passiert dabei dann? Zum Beispiel wenn ich Plugins auf dem Client habe wie zum Beispiel Markad, EPGd oder Scraper2VDR? Kommt es dann im Aufnahmeverezichnis irgendwie zur Unordnung? Oder was würde passieren wenn von beiden Geräten gleichzeitig der gleiche Film oder Serie aufgezeichnet werden?


    Oder gibt es dazu nichts zu beachten? Gibt es andere Stoplersteine an die ich nicht gedacht habe?

  • Dem Raspberry Pi würde ich weder scraper2vdr noch markad zumuten, der läuft ja schon beim Zeichnen des LCARS-Skin am Limit, wenn man z.B. durchs EPG scrollt...

    Oder was würde passieren wenn von beiden Geräten gleichzeitig der gleiche Film oder Serie aufgezeichnet werden?

    Wenn sich mehrere VDRs ein gemeinsames Aufnahmeverzeichnis teilen, kannst du sie mit unterschiedlichen Instance-IDs starten lassen - siehe Manpage des VDR:

    -i instance, --instance=instance
    Use instance as the id of this VDR instance (default is 0). In an environment where several instances of VDR use the same video directory, this parameter can be set to a positive integer value that's unique for each instance, so that they won't interfere with each other in case they record exactly the same broadcast. The number given here will be part of the directory name in which the recordings will be stored.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • markad auf dem rpi? :)


    Für Aufnahmen ins gleiche Verzeichnis gibt es ansonsten die instanceid des vdr (Parameter -i oder so). Die wird in den Verzeichnisnamen eingearbeitet. Was das noch für Folgen hat, weiß ich allerdings nicht, müsstest du mal nachlesen oder ausprobieren (z.B. weiß ich nicht, ob man Aufnahmen eines vdr mit anderer Id löschen darf o.ä.).


    Ansonsten sollte man dafür sorgen, dass markad, scraper usw. nur auf dem Server laufen. Es macht ja keinen Sinn, da mehrere drüber laufen zu lassen.


    Lars.

  • Hi,


    das mit den Instanz-IDs ist schon mal ein guter Hinweis. Wie verhält sich das dann im Detail? Nehmen wir mal an mein Haupt-VDR hat die Instanz-ID 0 und mein Raspberry die Instanz-ID 1. Bleiben wir mal beim Beispiel Markad das würde ich dann nur auf dem Haupt-VDR laufen lassen. Würde dann Markad nur die Aufnahmen mit der Instanz-ID 0 scannen und bearbeiten da nur auf dem Haupt-VDR mit der Instanz ID 0 Markad läuft?

  • Das Markad-Plugin startet markad nur für die Aufnahmen, die der VDR mit dem Plugin selbst durchführt. Wenn das Aufnahmeverzeichnis über NFS angebunden ist, ist es recht sinnfrei Markad auf dem Client laufen zu lassen, weil sich die Netzwerkauslastung dadurch mindestens verdoppelt. Man könnte aber z.B. auf dem Server mit inotify nach neuen Ordnern mit einer anderen als der instance-ID als der lokalen VDR-Instanz suchen und markad (liegtja auch als CLI-Tool dem Plugin bei) für diese Aufnahmen auf dem Server starten, wenn man den raspberry unbedingt Aufnahmen machen lassen möchte.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • das mit den Instanz-IDs ist schon mal ein guter Hinweis. Wie verhält sich das dann im Detail?


    Was das noch für Folgen hat, weiß ich allerdings nicht, müsstest du mal nachlesen oder ausprobieren


    Manpage, vdr-Handbuch, Wiki, Quelltext... Einfach mal lesen.


    Lars.

  • seahawk1986
    könnte ich dann an meinem Haupt-VDR auch Aufnahmen von anderen Instanz-IDs bearbeiten? Sprich sehe ich diese Aufnahmen dann überhaupt? Ich könnte ja manuell über das VDR OSD Markad über die Aufnahme laufen lassen?

  • könnte ich dann an meinem Haupt-VDR auch Aufnahmen von anderen Instanz-IDs bearbeiten? Sprich sehe ich diese Aufnahmen dann überhaupt?

    Ja, sonst könnte man doch gleich getrennte Aufnahmeverzeichnisse nutzen...
    Damit die anderen VDRs mitbekommen, wenn es eine neue Aufnahme gibt, solltest du außerdem eine .update Datei im Aufnahmeverzeichnis anlegen, für die alle VDR Schreibrechte haben, dann bekommen die es mit, wenn ein anderer VDR eine relevante Änderung an Aufnahmen durchführt und lesen das Aufnahmeverzeichnis neu ein.

    Ich könnte ja manuell über das VDR OSD Markad über die Aufnahme laufen lassen?

    Das geht natürlich auch, aber es spricht eigentlich nichts dagegen soetwas zu automatisieren.


    Die Grundsätzliche Frage ist, ob du überhaupt dem Raspberry Aufnahmen zumuten willst - er holt sich ja den Stream vom Streamdev-Server und muss ihn dann über NFS zurückschreiben - bei HD-Sendern dürfte das mit der schwachen über USB angebundenen Netzwerkkarte schnell verdammt eng werden.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Der Raspberry hat ein 100MBit Netzwerkinterface sprich nicht über USB. Oder ist dieses intern über den USB Bus angebunden? Aber ok ich verstehe auf was du hinaus willst. Sollte man dann besser das remotetimers Plugin verwenden?


    Bezüglich der .update Datei da könnte ich in der runvdr auf beiden Systemen ein "-r touch/video/.update" ausführen lassen?

  • Der Raspberry hat ein 100MBit Netzwerkinterface sprich nicht über USB. Oder ist dieses intern über den USB Bus angebunden?


    Ja.


    Sollte man dann besser das remotetimers Plugin verwenden?


    Ja.


    Lars.

  • Der Raspberry hat ein 100MBit Netzwerkinterface sprich nicht über USB. Oder ist dieses intern über den USB Bus angebunden?

    Der Raspberry Pi B nutzt einen LAN9512 (siehe http://elinux.org/RPi_Hardware): http://www.microchip.com/wwwpr…ices.aspx?product=LAN9512

    Bezüglich der .update Datei da könnte ich in der runvdr auf beiden Systemen ein "-r touch/video/.update" ausführen lassen?

    Ein einmalige anlegen der Datei genügt, der VDR fasst die Datei dann jeweils an, wenn sie existiert und andere VDRs mit dem gleichen Aufnahmeverzeichnis aktualisieren darauf hin ihre Aufnahmenliste:

    .update
    If this file is present in the video directory, its last modification time will be used to trigger an update of the list of recordings in the "Recordings" menu.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Kurzer Einwurf

    Die Grundsätzliche Frage ist, ob du überhaupt dem Raspberry Aufnahmen zumuten willst - er holt sich ja den Stream vom Streamdev-Server und muss ihn dann über NFS zurückschreiben - bei HD-Sendern dürfte das mit der schwachen über USB angebundenen Netzwerkkarte schnell verdammt eng werden.


    Habe mir das gerade eine blutige Nase gehholt (RPI als Streaming-Server).
    2 * HD-Bandbreite über das NIC des RPI zu pressen , hat nicht funktioniert. Das gibt sehr viele Artefakte.

    VDR-1: streamdev-server | Hummingboard2| TT 3600 USB | Siemens S500 Gehäuse | Archlinux mit eigen Skripten
    VDR-2: streamdev-client | rpihddevice | Raspberry 2b | Siemens S450 Gehäuse| Remote: URC6410 | LG 42LV4500 |
    Archlinux mit eigenen Skripten


Jetzt mitmachen!

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