Plugin für Zugriff auf Aufnahmen anderer VDR's via Stream?

  • Moin!


    Ich bin gerade dabei einen zweiten vollwertigen VDR mit einer Hauppauge NOVA-S Plus einzurichten.


    Den Zugriff auf die Aufnahmen des ersten VDR wollte ich eigentlich mittels SAMBA- Freigabe bewerkstelligen. Diese Lösung bewies sich aber leider nicht so schön, da z.B. der "zweit"- VDR nicht unmittelbar mitbekommt, wenn der "Erste" VDR eine neue Aufnahme anlegt. Wird der "Erste"- VDR vor dem "Zweiten" heruntergefahren, reagiert dieser nicht mehr.


    Hmm, das wäre doch über einen Stream viel eleganter, und eigentlich macht der Streamdev-Client dies doch auch schon, nur das der Zugriff auf das laufende Programm wegfallen kann, da ja eine eigene SAT- Karte vorhanden ist.


    Die eigenen Aufnahmen sollen aber weiterhin lokal auf den jeweiligen VDR abgelegt werden.


    Als Distri für den "Zweit" VDR probiere ich gerade mit gen2vdr und Kanotix herum. Auf dem "Ersten" läuft momentan noch ein CTVDR-5.


    Meine Suche im Portal hinsichtlich des Plugin waren bisher leider erfolglos.


    Hat jemand einen Tipp! Gibt es so etwas?????? Wäre toll!!!!

  • Hallo,


    sowas habe ich leider auch schon vergeblich gesucht und nicht gefunden, wäre toll, wenn das jemand implementieren könnte.


    Ich helfe mir folgendermassen:


    Statt samba benutze ich nfs


    Aktualisieren der Liste über folgenden Eintrag in der commands.conf


    Code
    Aufnahmen-Liste aktualisieren : /usr/bin/touch /video/.update


    MfG


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Hi,


    soweit ich weiss macht aber genau das streamdev plugin genau das.
    also es gibt da ja die option server-server oder so.


    du kannst dann somit die aufnahmen, timer etc. deines ersten VDR sehen.
    die channels.conf kannst du vom ersten vdr nehmen, musst du aber nicht!
    du kannst weiterhin eine lokale DVB karte benutzen und darueber schauen.


    schau doch mal im wiki nach dem streamdev-plugin.


    hoffe, ich habs richtig verstanden, was du machen willst :)


    flo


    - VDR 1.7.4 unter gentoo, Reel eHD, nfsroot, streamdev, P4 2GHz
    - wMVP ueber vompserver 3.0-10
    - file-/streaming-server, gentoo, 3 x Terratec Cinergy 1200 DVB-C, 4x1,5 TB Raid5
    - SAMSUNG PS63C7790, ONKYO TX-SR806E, TEUFEL System 5 THX Select

  • Verglichen mit einem Samba- oder NFS-Mount ist der Aufwand für so ein Plugin erheblich. Schließlich wäre wohl niemand damit zufrieden, wenn sich die Wiedergabe nur an- und wieder ausgeschalten ließe. Bei z.B. schnellem Vor-/Rücklauf oder Schnittmarken setzen und verschieben wird's dann aufwändig...


    eTroll: Lass auf dem Client doch jede Minute einen cron-Job laufen mit

    Code
    [ /pfad/zu/server/.update -nt /pfad/zu/client/.update ] && touch /pfad/zu/client/.update


    Wenn Du statt Samba NFS verwendest, könntest Du dort die mount-Option "soft" setzen. Dann bleibt der Client nicht ewig hängen wenn der Server weg ist. Vielleicht gibt es für Samba eine ähnliche Option, wäre mir aber nicht bekannt. Hilfsweise könntest Du beim Herunterfahren des Servers eine Datei auf dem Video-Share anlegen die dem Client den Shutdown signalisiert. Beim minütlichen cron-Job könnte der Client dann eben testen ob die Datei existiert und falls ja das Video-Verzeichnis des Servers unmounten:

    Code
    [ -e /pfad/zu/server/.shutdown ] && rm /pfad/zu/server/.shutdown && umount -f /pfad/zu/server


    Den Server lässt Du warten bis die .shutdown-Datei weg ist bzw. nach 1 Minute die Datei selbst löschen, dann kann der Server heruntergefahren werden.


    ProgLocker: Da hast Du eTroll falsch verstanden. Er will Aufnahmen streamen, nicht das Live TV.

  • hi,


    mache es doch einfach über scripte. Die kannst du wahlweise per commands.conf starten (oder ggf. per menuorg, setup) oder auch automatisch beim start einbinden. scripte unter gen2vdr dies sollte bei anderen distries ähnlich sein was das automatische starten angeht.


    Gruss Lexi

  • Guten Morgen!


    Vielen Dank für Eure Anregungen zur Lösung meines/des Problems.
    Hatte am Wochenende leider keine Zeit, und melde mich daher erst jetzt.


    schmirl: Deine Lösung gefällt mir momentan am besten. An NFS hatte ich auch schon gedacht, habe aber mangels NFS-Erfahrung bisher immer Samba genommen. Ich nehme an die Datei .update signalisiert dem VDR, dass er das Aufnahmeverzeichnis neu einscannen soll!? Beim unmounten sehe ich aber ein Problem. Bei dem Verfahren müsste man noch eine zweite Datei erzeugen, die dem Server signalisiert, dass das Verzeichnis von anderen VDR-Servern eingebundenen wurde, da die "Clients" nicht immer aktiv sind.


    Mal überlegen..........


    ....auf dem Server wird das Verzeichnis /usr/lib/video.00 freigegeben.
    Hier lege ich ein Verzeichnis .shutdown/veto an.
    Wenn die Clients /usr/lib/video.00 mounten, tragen sie sich hier mit ihrem Rechnernamen ein.
    Also:


    /usr/lib/video.00/.shutdown/veto/VDR01
    /usr/lib/video.00/.shutdown/veto/VDR02
    .....


    Der Server schaut dann beim shutdown, ob sich hier Clients registriert haben. Wenn ja erzeugt er die Datei
    /usr/lib/video.00/.shutdown/enabled. Auf diese Datei wiederum pollen die registrierten Clients, und löschen ihren Eintrag aus /usr/lib/video.00/.shutdown/veto. Erst wenn sich alle Clients selbst entfernt haben, fährt der Server herunter. Die Clients selbst entfernen ihr "veto" natürlich, wenn Sie selber herunterfahren. Während einer Aufnahme durch den Client, bzw. eines anderen Prozess des Clients, der das video.00 Verzeichnis braucht, achtet der Client einfach nicht auf die Datei .shutdown/enabled. (Dies muss natürlich in den entsprechenden Scripten implementiert werden...)


    Mir vielen gerade noch die Begriffe shutdown- und recordinghooks ein...da war doch was....!
    Wäre auch ganz sinnvoll, das NOAD auf em Server zu starten. Es ist wohl nicht sehr günstig, wenn der Client die komplette Aufnahme nochmals via Netzwerk durchnuckelt. Könnte man doch eigenlich über die recordinghooks steuern.......


    Puh....da ist alles in allem aber auch 'ne Menge zu implementieren, und bei der nächsten Installation des VDR, darf dann alles wieder nachgezogen werden.



    lexi: Wie meinst Du das? Abfrage der Aufnahmen via SVDRP und dann mittels MPlayer wiedergeben? Würde so etwas gehen??
    Müßte man auch mal durchdenken.....!



    Ich frage mich nur, wie die Wiedergabe der Aufnahmen mit dem Plugin-Vomp gelöst ist. Bis Dato hatte ich eine MediaMVP als Client im Einsatz. Bis der Fernseher plötzlich rauchte, lief das 1A. Nur leider DIVX und Co. gingen nicht. Deshalb habe ich mich statt einem neuen Fernseher für einen vollwertigen VDR entschieden, Monitor hatte ich noch übrig. Vomp kann jedenfalls Remote auf die Aufnahmen zugreifen. Das Videoverzeichnis mußte ich hierführ nicht freigeben. (Kann mich jedenfalls nicht daran erinnern, ist aber auch schon lange her, dass ich Vomp eingerichtet habe).

  • Zitat

    Ich nehme an die Datei .update signalisiert dem VDR, dass er das Aufnahmeverzeichnis neu einscannen soll!?


    Korrekt. Genauer gesagt das Änderungs-Datum der Datei.


    Zitat

    Beim unmounten sehe ich aber ein Problem. Bei dem Verfahren müsste man noch eine zweite Datei erzeugen, die dem Server signalisiert, dass das Verzeichnis von anderen VDR-Servern eingebundenen wurde, da die "Clients" nicht immer aktiv sind.


    Das ist natürlich die Luxusversion meiner Variante. Ich war davon ausgegangen, dass die Clients minütlich prüfen ob der Server herunterfahren will und dann sofort das Verzeichnis unmounten. Nach max. 1 Minute könnte dann der Server in jedem Fall herunterfahren.


    Das kann man so natürlich nicht mehr lösen, wenn ein Client auch über Netzwerk aufnehmen darf. Wenn das tatsächlich gewollt ist, musst Du aber auch noch das Problem lösen, dass der Server laufen muss sobald der Client auf dessen Freigabe aufnehmen soll. Sonst erfolgt die Aufnahme womöglich in den mount-Point auf der Platte des Clients und beim nächsten erfolgreichen mount wird die Aufnahme versteckt.


    Sinnvoller wäre es wohl, Aufnahmen immer auf die lokale Platte zu schreiben. Dann brauchst Du Dir auch keine grauen Haare bzgl. noad wachsen lassen. Mit dem remotetimers-Plugin kannst Du Timer übrigens bequem zwischen den zwei VDRs hin- und herschieben.


    Zitat

    Ich frage mich nur, wie die Wiedergabe der Aufnahmen mit dem Plugin-Vomp gelöst ist. (...) Vomp kann jedenfalls Remote auf die Aufnahmen zugreifen. Das Videoverzeichnis mußte ich hierführ nicht freigeben. (Kann mich jedenfalls nicht daran erinnern, ist aber auch schon lange her, dass ich Vomp eingerichtet habe).


    Naja - wie gesagt - unmöglich ist es natürlich nicht. Der Aufwand um den gesamten Komfort zu erhalten (Vor-/Rücklauf, Schnittmarken setzen/verschieben, ...) ist aber recht hoch während es einen Netzwerk-Mount praktisch geschenkt gibt. Und ich gehe mal davon aus, dass Vomp zumindest das verschieben von Schnittmarken auch nicht implementiert hat ;)

  • Hallo schmirl!
    Danke für Deine rege Beteiligung!!!!


    Zitat

    Mit dem remotetimers-Plugin kannst Du Timer übrigens bequem zwischen den zwei VDRs hin- und herschieben.


    Guter Tipp, werde mir das Plugin mal anschauen.


    Irgendwo habe ich von von einem Plugin oder Patch gelesen, mit dem man dem VDR mehrere Aufnahmeverzeichnisse zuweisen kann. Das wäre ja auch noch eine Möglichkeit den NFS-Share mit den lokalen Aufnahmen zu vereinigen? Hat damit Jemand Erfahrung??



    Zitat

    Naja - wie gesagt - unmöglich ist es natürlich nicht. Der Aufwand um den gesamten Komfort zu erhalten (Vor-/Rücklauf, Schnittmarken setzen/verschieben, ...) ist aber recht hoch während es einen Netzwerk-Mount praktisch geschenkt gibt. Und ich gehe mal davon aus, dass Vomp zumindest das verschieben von Schnittmarken auch nicht implementiert hat


    Soviel Komfort erwarte ich auch nicht. Der Client ist für meine Kids, die am Wochenende abends mal einen Film gucken dürfen. Da wäre es nur schön, wenn man die Aufnahmen der beiden Systeme vereinigen könnte. In der Regel heißt das: Aufnahme starten/ Vorlauf/ Rücklauf....

  • das sollte doch alles mit xineliboutput gehen da hast du den server unter voller kontrolle

  • ja das ist richtig


    man könnte auf dem "server" auch ne 2.te instanz vom vdr mit dummy-input und xineliboutput laufen lassen
    diese instanz könnte auf die viedeoverzeichnise am "server" zugreifen.

  • Zitat

    Original von eTroll
    lexi: Wie meinst Du das? Abfrage der Aufnahmen via SVDRP und dann mittels MPlayer wiedergeben? Würde so etwas gehen??
    Müßte man auch mal durchdenken.....!


    hi,


    ich mounte einfach nur das /video Verzeichnis vom entsprechenden Rechner, aktualiesiere das Videoverzeichniss und kann dann direkt auf die Aufnahmen zugreifen (wie wenn Sie lokal vorhanden sind)


    aus den verlinkten Thread



    ein paar Erklärungen


    Zitat

    USER=daniela
    IP=192.168.0.14
    MNT_POINT=/mnt/daniela


    das sind Variablen also das muss an dein Netzwerk/distrie angepasst werden.


    Zitat

    mount -t nfs $IP:/video $MNT_POINT


    ist das eigentliche mounten des Verzeichnisses (halt mit den Variablen)


    Zitat

    sleep 30


    einfach 30 sek. lang nicht tun (je nach größe des orginalen Laufwerks)


    Zitat

    /_config/bin/linkvid.sh $MNT_POINT


    das ist g2v spezifisch, hier werden die "Inhalte" sortiert und entsprechend verlinkt.


    Zitat

    svdrpsend.pl MESG "Viel Spass mit den eingelesen Daten wuenscht $USER"


    das ist einfach nur die Rückmeldung auf den TV kann auch weggelassen werden


    Zitat

    svdrpsend.pl HITK "red"


    kann ebenso weggelassen werden dann musst du halt manuell das "Aufzeichnungsmenu" aufrufen.


    Gruss Lexi


    ps. die Variablen braucht man auch nicht unbedingt aber bei 5 vdr im Netzwerk und ausführlicheren script hat sich das schon angeboten ;)

  • :moin

    Zitat

    Original von Moorviper:
    ...man könnte auf dem "server" auch ne 2.te instanz vom vdr mit dummy-input und xineliboutput laufen lassen


    Dann müsste ich am Client die IP für vdr-sxfe ändern und neustarten!?
    Finde ich etwas umständlich



    lexi:
    Vielen Dank für die Ausführliche Beschreibung. Ich habe mir mal linkvid.sh angesehen. Dabei wird ja unterhalb vom /video ein neues _MEDIA_ angelegt, in dem die Links zu den Aufnahmen angelegt werden. Spricht generell etwas dagegen, wenn die Links gleich in /video angelegt werden?



    Bin beim stöbern in /_config/bin auf mountsrv.sh gestoßen. Das macht ja im Prinzip das gleiche, nur das es ggf. lokal den portmap startet und unter /video einen Link video-SERVERNAME anlegt. Auch nett!
    Das ganze noch zusätzlich automatisch über die Crontab enbinden, und ich habe genau was ich wollte! Genial! :lovevdr

  • Zitat

    Dann müsste ich am Client die IP für vdr-sxfe ändern und neustarten!?
    Finde ich etwas umständlich


    gut das kann man per script und übers befehle menü realisieren

  • Zitat

    Spricht generell etwas dagegen, wenn die Links gleich in /video angelegt werden?


    das musst du entscheiden! Generell ist das schon möglich. Mich hat damals (ist schon lange her, war glaube bei der 1.1) gestört das lehre Verzeichnisse (unter /video) automatisch gelöscht wurden. Somit hat das mounten nicht funktioniert. Mag sein das es jetzt anders ist...


    Gruss Lexi

  • :lol2
    Soooooooo......es ist vollbracht!


    Über Menü-> Befehle -> System -> Aufnahmen von VDR einbinden
    Kann ich jetzt das Videoverzeichnis des ""Servers" einbinden.


    :lehrer1
    Hierzu habe ich auf dem Server (CTVDR 5 also Debian)
    die Pakete


    Code
    nfs-common nfs-kernel-server portmap


    installiert


    WICHTIG: Am besten nach der Installation ein reboot, oder alle NFS- Dienste per Hand starten, sonst bekommt ihr beim mounten immer ein RPC- irgendwas Fehler


    Mit der folgenden Zeile in der /etc/export des Servers habe ich das video- Verzeichnis freigegeben


    Code
    /var/lib/video *(rw,all_squash,sync)]


    dann IP undNamen des Clients (der gen2vdr im meinem Falle) in der /etc/hosts eintragen.


    WICHTIG: mountsrv.sh erwartet den Namen video. Mit video.00 gab es Probleme. Ggf. einen Link mit diesen Namen erzeugen, falls nicht vorhanden.



    Auf dem gen2vdr habe ich in der /etc/hosts die IP und Namen des Servers eingetragen,
    und in der /etc/vdr/commands/system die Zeile


    Code
    Aufnahmen von VDR einbinden    : /_config/bin/mountsrv.sh vdr && echo "Aufnahmeverzeichnis von VDR wurden eingebunden!"


    eingefügt. (vdr ist ja mein "Server")


    gen2vdr neu starten, und alles ist gut.


    Das Script erszeugt nach Aufruf unterhalb des /video Verzeichnis ein Verzeichnis _VIDEO-vdr_ (vdr ist der Rechnername), das unter Menü->Aufnahmen erscheint, und alle Aufnahmen des Servers beinhaltet.


    Das Script startet auch ggf. die Benötigten Dienste an.
    Ich bin begeistert!


    Als nächsten Schritt werde ich das ganze noch versuchen zu automatisieren. Habe im Moment (wie immer) nur leider etwas wenig Zeit.


    lexi:
    Moorviper:
    schmirl:


    Vielen Dank für Eure Unterstützung!

  • Zitat

    Als nächsten Schritt werde ich das ganze noch versuchen zu automatisieren. Habe im Moment (wie immer) nur leider etwas wenig Zeit.


    myinit.sh ist eines der ansatzpunkte ;) oder halt /etc/conf.d/local.start


    Gruss Lexi

  • Ich wärme den thread mal auf...und habe hierzu gleich eine Frage:

    Zitat

    Original von lexi
    Ich mounte einfach nur das /video Verzeichnis vom entsprechenden Rechner, aktualiesiere das Videoverzeichniss und kann dann direkt auf die Aufnahmen zugreifen (wie wenn Sie lokal vorhanden sind)


    Kann es sein, dass hierzu beide vdr unter dem exakt gleichen user (mit uid, gid) laufen müssen? Ich wollte nach dem Prinzip per nfs das Video-Verzeichnis (/var/lib/video.00) meines Servers (auf dem alle Aufnahmen liegen sollen) auf einen client mounten. Der client übernimmt dabei die uid/gid des gemounteten Verzeichnisses (und deren Unterverzeichnisse) und steigt dann beim Start des vdr wegen fehlender Zugriffsrechte auf das Video-Verzeichnis aus...


    Beispiel:

    Code
    vdr-server:/var/lib# ls -la | grep video.00
    lrwxrwxrwx  1 root        root    8 2008-04-30 15:32 video -> video.00
    drwxr-xr-x 18 vdr         vdr  4096 2008-05-01 01:01 video.00


    Client nach nfs-mount:

    Code
    vdr-wz:/var/lib# ls -la | grep video.00
    lrwxrwxrwx  1 root        root           8 2008-02-23 19:34 video -> video.00
    drwxr-xr-x 18 vdradmin-am vdradmin-am 4096 2008-05-01 01:01 video.00


    vdradmin auf vdr-wz hat in diesem Fall die uid vom User vdr des servers...


    Gruß


    Andi

    registered vdr-user: 1318


    file/vdr-server: ASRock Q1900M, SSD, 2TB HD, 1xDVBSky S952 v3 mit 2xDVB-S2, stretch+e-tobi, vdr 2.4.0-2~etobi1

  • hi,


    keine Ahnung wie das bei anderen distries ist. Bei gen2vdr stellt man ip und hostname im admin ein startet nfs auch im admin. Und schon funktionert es ohne weitere Anpassungen. Natürlich das/die script(e) noch anpassen und in der commands.conf oder menuorg.xml ablegen. Fertig.


    Gruss Lexi

Jetzt mitmachen!

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