Abspielen von Aufnahmen über WAN (höhere Latenz / ReadAhead)

  • Hallo zusammen,


    ich versuche gerade, das VDR-Aufnahmen-Archiv per WAN (über VPN) verfügbar zu machen.


    Die getestete Verbindung ist schnell genug, um die Testaufnahme (~10 MBit/s) in einem Viertel der Spielzeit per CIFS auf den Abspiel-VDR zu kopieren.

    Leider mag der VDR die Latenz nicht und spielt das nur mit heftigen Aussetzern (auch bei 2 MBit/s Aufnahme) ab - so unguckbar.

    Jemand eine Idee (oder schon einen Patch), wo man dem VDR beim nicht rechtzeitigen Eintreffen der Abspielpackete zu ein wenig ReadAhead auffordern könnte?


    Stefan

  • Das streamdev Plugin könnte/kann doch den Stream herunterrechnen lassen: http://www.vdr-wiki.de/wiki/index.php/Streamdev-plugin

    Vielleicht geht das auch mit Aufnahmen?

    Wohnzimmer: NUC10I3 - Logitech z-5500 - Panasonic 55" TV - Hauppauge Dual DVB-C Stick - Ubuntu 22.04 LTS - yavdr ansible
    Schlafzimmer: NUC10I3 - LG 42" TV - Hauppauge Dual DVB-C Stick - Ubuntu 22.04 LTS - yavdr ansible

    Streamingserver: -im Aufbau-
    diverse Test Clients: -Raspberry Pi + openelec, i3 mit Geforce1030

  • Das streamdev Plugin könnte/kann doch den Stream herunterrechnen lassen: http://www.vdr-wiki.de/wiki/index.php/Streamdev-plugin

    Vielleicht geht das auch mit Aufnahmen?

    Soweit mir bekannt, macht Streamdev nur LiveTV (so ist das hier als VDR-VDR Streaming im Einsatz). Das läuft auch ohne Rechnerei durch WAN. Die Aufnahmen kommen regulär per CIFS/NFS ... was im LAN ja kein Problem darstellt. Im WAN stört das Handshake der Netzwerkprotokolle das ruckelarme Abspielen.


    Der VDR realisiert da offenbar sein eigenes 128kB ReadAhead (Parameter scheinen im wesentlichen aus einem Patch von um 2006 zu stammen) - gefunden in dvbplayer.c / tools.c.


    Mal sehen ... :)


    Stefan

  • Wäre auch an einer Lösung für Aufnahmen via VPN interessiert. Komischerweise ist LiveTV auf einem rpi kein Problem, weder mit streamdev noch mit Kodi. Bei Aufnahmen hingegen stottert alles über 5 MBit/s. Habe NFS, Samba und SSH versucht - ohne Erfolg.

    VDR-Clients:
    Raspbian Buster
    - vdr 2.4.1 - Raspberry PI 2B


    Home-Server:
    Debian Bookworm - vdr 2.6.0 (eTobi) - Kernel 6.1

    Asus Prime B360M-C - Pentium Gold G5400 - Mystique SaTiX-S2 Dual - Hauppauge WinTV-QuadHD

  • Ich hatte früher ein sich ähnlich anhörendes Problem mit Powerline.Da hat es geholfen, fadvise zum schreiben AUS(!)zuschalten:
    in tools.c ca. Zeile 1785: #define USE_FADVISE_WRITE 0

  • FADVISE habe ich schon durch. Inclusive Änderung der readahead Parameter und Funktion.

    Das Grundproblem bleibt.


    Um das zum Funktionieren zu bekommen, müßte der VDR erst einen Abspielpuffer füllen und diesen gefüllt halten (so gut wie möglich).

    So ähnlich wie es Linux beim Kopieren über das Netz macht: lokal jeweils lesen bis Puffer-Speicher voll und wegschreiben, so schnell es das Netz halt zuläßt.


    Wir basteln mal weiter,

    Stefan

  • Hast Du mal versucht, die Aufnahmen per Kodi abzuspielen oder ist Kodi keine Option?

    Und im Kodi dann diese Erweiterung nutzen: https://github.com/MarkusEh/plugin.video.vdr.recordings

    Eventl. wird bei gleichem Verbindungsweg damit "besser" abgespielt...

  • Kannst du die Aufnahme nicht einfach kopieren und dann lokal abspielen? Oder gibt es am Ziel nicht genug Platz?

    Die Video-Over-HDD Verbindung ist bezüglich der Auswahl etwas eingeschränkt, aber existiert, klar.

    Außerdem muß man immer vorher wissen, was man wohl schauen möchte.


    Einzelne FIlme kann ich natürlich einfach übers Netz kopieren. Aber das geht nicht per FB, sondern braucht SSH...


    War auch nur die Frage, ob schon jemand was hat, aber dann muß ich halt selber ran. :)


    Stefan

  • Aber das geht nicht per FB, sondern braucht SSH...

    Es gibt ja das filebrowser-Plugin für den VDR - dem kann man entsprechende Befehle geben, so dass man das übers OSD steuern kann.


    Ich hatte vor Jahren mal Sigis FTP-Server über curlftpfs eingebunden, um VDR-Aufnahmen bequem per Fernbedienung transferieren zu können. Für SSH gibt es analog dazu sshfs und wenn das Gegenüber nicht immer an ist, kann man einen Automount mit autofs oder einer Systemd Automount Unit realisieren, damit beim Zugriffsversuch auf der Verzeichnis ein Mount-Versuch gestartet wird.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich verstehe es so, dass die Aufnahme im OSD des abspielenden vdr ja schon zu sehen ist - sonst könnte man sie nicht abspielen.

    Da ließe sich doch ein Command zum Kopieren einbauen, oder?

    Oder kann der vdr das von sich aus schon? Oder extrecmenu?

  • Ich verstehe es so, dass die Aufnahme im OSD des abspielenden vdr ja schon zu sehen ist - sonst könnte man sie nicht abspielen.

    Da ließe sich doch ein Command zum Kopieren einbauen, oder?

    Oder kann der vdr das von sich aus schon? Oder extrecmenu?

    Ja, genau.


    Der Abspiel-VDR kann über LAN und Router mit VPN-Hardware-Netzkopplung auf den Fileserver zugreifen. Das mountet sich bei Zugriff per AutoFS alles selbst.


    Problem war: < 5s Film, Pause, Sync -1s, nächstes Stück, REPEAT.


    Hab die Pufferung jetzt geändert. Gerade die 12 MBit/s Aufnahme ging stressfrei durch.

    Sobald ich die Änderungen etwas aufgeräumt und fein getuned habe, hänge ich den Patch an. (War im aber Prinzip alles schon da ...)


    Stefan

  • Danke für den Patch. Das Abspielen von HD-Material über WLAN funktioniert jetzt zuverlässig. Da hatte ich vorher bei NFS-Freigaben Probleme, per Samba hatte es funktioniert. Auch bei lokalen Dateien treten beim schnellen Vorspulen jetzt keine Aussetzer mehr auf.

  • Hallo Zusammen,

    bin wohl doch nicht alleine mit meinem Problem ;) vnsiserver / kodi - (nur) Aufnahmen stocken bei Wiedergabe über VPN
    Hatte schon auf die Latenz getippt, da dies lokal einwandfrei läuft und genug Bandbreite/Durchsatz vorhanden ist.

    Wie sieht dies heute aus? Habt ihr da neue Erkenntnisse, Lösungen bzw. habt ihr den Patch auch bei 2.6.x im Einsatz?
    Danke im voraus für eine Antwort.


    Auch von mir ein Tipp für (Wireguard-)VPN, steigert den Durchsatz um ein Vielfaches, behebt aber das Problem nicht:

    sysctl -w net.ipv4.tcp_congestion_control=bbr # "cubic" ist (bei opensuse) standard


    VG, Walter

Jetzt mitmachen!

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