[yavdr-ansible] "Bandbreite beim Schneiden begrenzen"

  • Hallo Allerseits,


    ich verwende den vdr sowohl als Aufnahme Server als auch zum Ansehen der Server Aufnahmen in zwei anderen Räumen.

    Daher starte ich sehr oft das Schneiden eines Films welcher auf dem Server liegt von einem der beiden vdr Clients aus per Taste 2 auf der Fernbedienung.


    Anscheinend wird durch das Schneiden über das Netzwerk mein ansible vdr für die Dauer des Schneidens "unbedienbar".

    Diese Verhalten trat auf dem yavdr0.5, welchen ich zuvor verwendet habe, nicht auf, da im extrecmenu Plugin der Schalter "Bandbreite beim Schneiden begrenzen" aktiviert war.


    Gibt es eine einfache Möglichkeit eine solche Begrenzung im yavdr-ansible oder Core-vdr zu aktivieren?

    Oder gibt es über das OSD Menü ( oder Taste X der Fernbedienung) das Schneiden lokal auf dem Server zu starten?


    Der yavdr-ansible mit extrecmenung Plugin benutzt die Core-vdr Schnittfunktion laut diesem Post #6:

    Asrock J4105 itx erfahrungen probleme mit sata und tbskarte

    Diese Option gibt es in extrecmenung nicht mehr. Ich habe wohl vergessen, das aus dem Setup-Menü heraus zu nehmen, das mache ich noch.

    ExtrecmenuNG nutzt jetzt überwiegend die internen Funktionen vom Core-VDR, also auch die Schnitt- und Verschiebe-Routinen. Du kannst ja mal versuchen, den Schnitt direkt aus dem originalen VDR-Aufzeichnungsmenü zu starten. Wenn es sich dann genau so verhält, und das sollte es eigentlich, dann ließe sich das nur direkt im Core-VDR beeinflussen.


    Übrigens, wenn man das alte Plugin, also ohne NG, mit "USE_VDR_CUTTER" übersetzt hat, nutze es auch schon nicht mehr die eingebaute Schnittfunktion.

  • Hallo,

    Anscheinend wird durch das Schneiden über das Netzwerk mein ansible vdr für die Dauer des Schneidens "unbedienbar".

    Dazu kann ich nicht viel sagen, ich schneide auch sehr viel übers Netzwerk (bei mir mit NFS eingebunden) und da gibt es solche Probleme nicht.


    Ein ähnliches Verhalten wie mit LimitBandwidth in extrecmenu kann auch im Core-VDR mit folgendem Patch erreicht werden:

    Du könntest mal probieren, ob das bei Dir hilft. Die Zahl in SleepMs(1) kann auch größer sein, ich würde da aber nicht über 10 gehen. Das Schneiden dauert dann natürlich um so länger, je größer diese Zahl ist.


    Grüsse

    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

  • Oder gibt es über das OSD Menü ( oder Taste X der Fernbedienung) das Schneiden lokal auf dem Server zu starten?

    Man kann sich da was basteln: [Gelöst] Schnitt von Aufzeichnungen auf dem VDR-Server durch VDR-Client triggern? - Saman hatte eine Erweiterung für den avahi-linker gebaut, die das ebenfalls ermöglicht: vdr-net-monitor + server side cutting

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Du kannst dir die Sourcen inkl. der Patches mit apt source vdr holen - dazu musst du das PPA für den VDR aber so einbinden, dass eine deb-src Zeile angelegt wird - nachträglich geht das z.B. für ppa:yavdr/experimental-vdr so: sudo add-apt-repository -s ppa:yavdr/experimental-vdr

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • kamel5: Der Core-vdr Patch funktioniert prima, der vdr bleibt während dem Schneiden einer Aufnahme auf dem Server bedienbar.

    Vielen Dank


    Leider bleibt das Bedien Problem beim Verschieben über Netzwerk bestehen.


    Gibt es einen ähnlichen Patch für die Core-vdr Verschiebe Funktion?

  • gotscha Schön, das es damit klappt. Hast Du das bei 1ms Verzögerungszeit gelassen oder musstest Du einen anderen Wert einstellen?

    Gibt es einen ähnlichen Patch für die Core-vdr Verschiebe Funktion?

    Da habe ich im Moment nichts vorrätig. Ich werde mir das bei Gelegenheit mal ansehen.


    Grüsse

    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

  • 1 ms reichen um die Kommando Annahme des vdrs während dem Schneiden sicherzustellen.


    Das Schneiden wird allerdings deutlich langsamer (Faktor > 10).

    Ist nicht ganz so schlimm, da das Schneiden jetzt problemlos im Hintergrund laufen kann.


    Eventuell versuche ich nochmal kürzere Zeiten, falls der Funktionsaufruf diese annimmt (z.B. 0.1 ms).


    Falls ich das richtig verstehe, müsste die "Move" Funktion in recordings.c enthalten sein.

    Allerdings finde ich keine Stelle an der mit ein cCondWait sinnvoll erscheint.

  • Ja, das Ganze ist etwas unübersichtlich.

    Die relevante Funktion in recordings.c ist "void cDirCopier::Action(void)" und dort etwa so:

    Code
     while (Running()) {
    +              cCondWait::SleepMs(1);
                   // Suspend copying if we have severe throughput problems:
                   if (Throttled()) {
                      cCondWait::SleepMs(100);
                      continue;
                      }

    Ich kann das im Moment nicht testen, aber in diese while-Schleife muss es rein.


    Grüsse

    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

  • Wieso macht Ihr das ganze nicht so wie in der c't 02/2017 Seite 150 (Link zum script ct.de/ynqq)

    Auf dem Client autocut_add in usr/local/bin ablegen und in reccmds.custom.conf hinterlegen

    Und auf dem Server autocut_batch ebenfalls in usr/local/bin ablengen und per cron alle paar Minuten ausführen lassen.

Jetzt mitmachen!

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