VDR-Client: Erstellen von Timern auf dem Aufnahmeserver

  • Ich habe auf meinem bisher nur für Coreelec genutzten Odroid N2 einen VDR installiert, wie es hier

    Installation eines VDR+Plugins nativ auf CoreELEC Boxen beschrieben ist.

    Der VDR läuft jetzt schon, aber es fehlen noch grundlegende wichtige Dinge für die tägliche Nutzung!



    Was will ich erreichen:

    1. Nutzung meines bisherigen yaVDR-PC als Streamdev-Server für den neuen Odroid-Client.
    2. Auf dem PC sind die DVB-Karten verbaut und er hat auch die großen Festplatten für die Aufnahmen usw.
    3. Der Odroid hat keine DVB-Karten verbaut und auch keine Festplatte/SSD angeschlossen, da die Aufnahmen alle auf dem Server landen sollen.
    4. Die Timer sollen somit vom Client aus direkt auf dem yaVDR-Server angelegt und dann auch alle Aufnahmen gespeichert werden. So wie das z.B. jetzt schon mit über KODI mit dem "vdrvnsi-client-Addon" möglich ist.



    Ich habe schon etwas gesucht, aber wenn ich das richtig verstanden habe, dann ist das "streamdev-Plugin" dazu nicht in der Lage.


    Das "vdrvnsi-Plugin" geht ja leider nur mit KODI, da es für den VDR nur ein "vdrvnsi-server-Plugin" gibt, aber leider nicht das entsprechende "vdrvnsi-client-Plugin" für einen VDR-Client.


    Welche anderen Möglichkeiten gibt es denn noch? :/

  • Das Erzeugen der Timer auf dem Server kann VDR seit 2.4 schon ganz alleine, schau mal ins Manual unter SVDRP Peering. Das Aufnahmeverzeichnis vom Server kannst Du auf dem Client dann per NFS mounten.


    Habe ich hier seit längerem so streßfrei im Einsatz, wobei die meisten Timer ohnehin vom Live-Plugin auf dem Server selber erzeug werden.

  • Das SVDRP Peering funktioniert einwandfrei.

    Unter Einstellungen/Sonstiges den eigenen Machinennamen eintragen. Ich habe noch SVDRP Standardmaschine auf den Server eingestellt, damit nicht zufällig andere VDR im Netz den Timer bekommen.

    Alle Timer und Aufnahmen landen auf dem Server und das Server Video Verzeichnis wurde per NFS gemountet.


    Den NFS Mount mit Coreelec konfiguriert du in /storage/.config/system.d. Es gibt da ein nfs.mount.sample, das als Template verwendet werden kann.


    Ich habe z.B. eine Datei storage-mount-recordings.mountangelegt mit dem Inhalt:

    Beim Boot wird automatisch das Verzeichnis /storage/mount/recordings

    gemountet und der VDR bekommt noch zusätzlich den Parameter -v /storage/mount/recordings

    Damit ist die Box nur noch als Anzeigegerät eingerichtet. Keine lokalen Timer, keine lokalen Aufnahmen, ...

  • Zabrimus und Piet

    danke für die schnelle und perfekte Hilfe.

    Das Anlegen von Timern auf dem Server klappt jetzt einwandfrei!

    Super! :):thumbup:




    Mit dem NFS Mount der Recordings vom Server habe ich allerdings noch ein paar Probleme bzw. das will gar nicht!

    Ich habe folgende Datei nfs.storage-recordings.mount unter /storage/.config/system.d angelegt und auch "enabled":

    Zusätzlich habe ich dann noch in der vdr.conf ergänzt: -v /storage/recordings

    Das Verzeichnis "recordings" gibt es bereits "original" von Coreelec, das habe ich nicht neu angelegt, sondern wollte es gleich verwenden.

    Muss ich da evtl. etwas anderes machen?


    Beim Start vom VDR habe ich dann keine Anzeige der Recordings vom Server, dafür aber folgende Fehlermeldung im "journalctl -e":

    Könnt Ihr erkennen, was ich hier falsch gemacht habe?

    Ich sehe nichts! :(

  • Zusätzlich habe ich dann noch in der vdr.conf ergänzt: -v /storage/recordings

    Musst du wissen. Die Kodi Addons für VDR, TVHeadend und dergleichen scheinen das Verzeichnis zu verwenden. Wenn es keinen Konflikt gibt, was ich aber nicht weiß, kann das funktionieren.


    nfs.storage-recordings.mount: Cannot add dependency job, ignoring: Unit nfs.storage-recordings.mount has a bad unit file setting.

    Der Dateiname ist nicht korrekt. Bei einer Einstellung müsste er wohl so lauten: storage-recordings.mount

    Also der ganze Verzeichnispfad, wobei "/" durch "-" ersetzt wird.

  • Der Dateiname ist nicht korrekt. Bei einer Einstellung müsste er wohl so lauten: storage-recordings.mount

    Danke, jetzt klappt es.

    Ich habe den Dateinamen korrigiert und schon funktioniert es! :):thumbup:

  • So, jetzt habe ich doch noch ein Problem mit der Anzeige der Aufnahmen vom Server auf dem Client.


    Es werden alle Aufnahmen vom VDR-Server auf dem Clienten angezeigt, die nicht per SymLink am Server eingebunden sind.

    Ich habe auf einer zusätzlichen Platte am VDR-Server meine archivierten Aufnahmen/Filme liegen. Diese habe ich in separaten Unterverzeichnissen wie "Dokumentationen", "SciFi-Filme", "Adventures-Filme" usw. gespeichert.


    Und diese Unterverzeichnisse habe ich dann per SymLink in das "normale" Aufnahmeverzeichnis des yaVDR eingebunden.

    Das ist eben bei yaVDR: /srv/vdr/video


    Direkt unter yaVDR funktioniert das einwandfrei und ich kann auf alle Filme, also auch die, die per SymLink eingebunden sind, zugreifen. Nur eben vom Client aus klappt das nicht. :(

    Da kann ich nur auf die Aufnahmen zugreifen, die nicht per SymLink eingebunden sind, also die, welche direkt im Aufnahmeverzeichnis liegen.


    Gibt es da jetzt noch irgendeine Konfiguration, damit den SymLinks gefolgt wird? :/

    2 Mal editiert, zuletzt von Paulaner ()

  • Du brauchst für jedes Unterverzeichnis einen eigenen NFS share (z.B. über eine systemd unit wie oben beschrieben) und für den übergeordneten share ("/srv/vdr/vidio") zusätzlich die Option "crossmnt".

  • Per NFS gibt es da mW Probleme. Kannst Du die zweite Platte, oder die Ordner darin getrennt freigeben, und dann auf dem Client in die korrekten Ordner mounten?


    Ansonsten sollte das evtl. per Samba / CIFS gehen, da gibt‘s mW den Parameter „Follow Symlinks“ für diesen Fall.


    Edit: kfb77 war schneller :)

  • Ansonsten sollte das evtl. per Samba / CIFS gehen, da gibt‘s mW den Parameter „Follow Symlinks“ für diesen Fall.

    Daran habe ich auch schon gedacht.

    Da brauchte ich ja nur einen extra Eintrag in der "samba.conf" ?


    Ich werde Morgen noch weiter testen, jetzt ist erstmal Schluss. ;)

  • Ich habe mal versucht das Aufnahmeverzeichnis vom yaVDR-Server per "cifs" auf den Client einzubinden.

    Leider will es nicht funktionieren. :(


    In storage/.config/system.d gibt es eine cifs.mount.sample die ich als Grundlage für meine Versuche genommen habe.

    Ich habe eine neue Datei storage-vdr_recordings.mount erstellt, da der Mountpoint /storage/vdr_recordings sein soll :


    Damit bekomme ich dann aber immer folgende Meldung in "journalctl -e" und natürlich keine verbindung zum Aufnahmeverzeichnis vom yaVDR-Server:


    Ich habe jetzt schon eine ganze Weile gesucht, kann aber keine Idee / Lösung für mich finden.

    Vielleicht könnt Ihr mir hier nochmals helfen! :/

  • Hast Du den das Verzeichnis, das Du mit cifs mounten willst auch auf dem server in der /etc/samba/smb.conf freigegeben.

    smbclient -L //server sollten Dir die Freigaben anzeigen.

    Außerdem kannst Du nicht einfach beim mounten mit cifs das Verzeichnis des Servers benutzen, sondern Du musst dann den Freigabenamen aus der smb.conf benutzen.

    Was auch hilft: das Ganze, bevor man den Fehler beim systemd sucht, erst einmal am Prompt auszuprobieren:

    mount -t cifs //server/freigabe /mountpoint


    Ich persönlich würde zwar aus Performance-Gründen eher zu nfs tendieren, auch wenn das bedeutet, das man sich im Vorfeld etwas mehr Gedanken machen muss, wenn es um solche Sachen wie Symlinks geht. Ich nutze das z.B. seit Jahren so, und habe noch nie damit Probleme gehabt.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Wäre denn "bind-mounts" statt Symlinks eine Option?

    "bind-mounts" sind auch sehr nützlich bei nfs, allerdings würde ich die nicht als Ersatz für Symlinks einsetzen, sondern für die Verzeichnisse, wo der Symlink hinzeigt.

    Ich habe auf einer zusätzlichen Platte am VDR-Server meine archivierten Aufnahmen/Filme liegen. Diese habe ich in separaten Unterverzeichnissen wie "Dokumentationen", "SciFi-Filme", "Adventures-Filme" usw. gespeichert.


    Und diese Unterverzeichnisse habe ich dann per SymLink in das "normale" Aufnahmeverzeichnis des yaVDR eingebunden.

    Das ist eben bei yaVDR: /srv/vdr/video

    Genau hier liegt wahrscheinlich das Problem. Der Symlink zeigt dann auf dem Client ins Leere. Um das zu verhindern, muss man auf dem Client die gleiche Verzeichnisstruktur nachbilden, wie auf dem Server, auch für die zusätzliche Platte.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • So, jetzt läuft es endlich. :)

    Mit "nfs" habe ich die SymLinks nicht hinbekommen. Liegt vermutlich an den unterschiedlichen Symlinks, die ich eingesetzt habe.


    Dann habe ich es nochmal mit "cifs" probiert und es hat erst gar nicht gewollt.

    Die Samba-Freigabe des Aufnahmeordners hatte ich schon im der smb.conf vom yaVDR-Server drin.

    Die wichtige Option "follow symlinks = yes" war da auch schon enthalten.

    Mit einem smbclient -L //server-ip wurden mir dann auch alle verfügbaren smb-shares auf dem CoreElec-Client angezeigt.


    Dann habe ich lange vergeblich versucht auf der Konsole das Mounten mit "cifs" zu testen.

    Das mount -t cifs //server/freigabe /mountpoint brachte aber immer eine Fehlermeldung: "Invalid argument".


    Die Lösung war dann, eine weitere Option zuzufügen, nämlich die smb-Version > 1.0 , wobei vers=2.0 und auch vers=3.0 funktioniert haben.

    Mit einem mount -t cifs -o username=xxx,password=yyy,vers=3.0 //server/freigabe /mountpoint funktionierte dann das mounten! :)



    Meine funktionierende system.d-Datei storage-vdr_recordings.mount mit der auch alle SymLinks funktionieren, sieht nun so aus:


    Vielen Dank an alle für die Hilfe und die Tipps. :thumbup::):thumbup:

    2 Mal editiert, zuletzt von Paulaner ()

Jetzt mitmachen!

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