[vtuner-ng] Aktualisierter vtuner für kernel >= 4.16

  • /etc/init.d? Das geht aber schon in Richtung deprecated .... mit systemd wäre es zukunftssicherer

    Bei Gentoo gibt es wahlweise openrc oder systemd.

    Bisher habe ich noch nichts aufgeschnappt, das openrc da abgeschafft werden soll.

    So habe ich den Wechsel zu systemd verschlafen und der Leidensdruck ist nicht hoch genug, mich da umzustellen... ;)

    Gentoo Linux ~ VDR 2.6.6 ~ DD Octopus NET V2 S2 Max - SAT>IP ~ LENOVO ThinkServer TS200V ~ Intel(R) Core(TM) i5 CPU680@3.60GHz ~ 16GB RAM ~ NVIDIA T400

  • Wie ist denn die Umschaltdauer im Vergleich zum satip-Plugin?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Wie ist denn die Umschaltdauer im Vergleich zum satip-Plugin?

    Da habe ich keinen Vergleich, bei mir dauert es schon ein bisschen - zudem warte ich jetzt bei jeder PID auf das PUSI-Bit (Payload unit start indicator) damit der Softwaredemuxer nicht mehr so viele Logmeldungen raushaut. Auf der anderen Seite wird kein TEARDOWN -> SETUP -> PLAY -> DESCRIBE -> TEARDOWN gemacht. Das bedeutet bei Umschaltung auf einen anderen Kanal entfällt das Aufbauen einer RTSP- und RTP-Verbindung, der SETUP-Handshake für die Session und den Stream usw. usf.


    Bezüglich der Frage was passiert wenn der vdr nicht mehr läuft:


    Solange das satip-Programm läuft bleibt die Verbindung bestehen, jedoch werden alle PIDs abgemeldet:

  • Hab' nun etwas mehr proc-Ausgabe eingebaut:

    Bis alle PUSIs empfangen wurden (* Marker hinter den PIDs) werden 142 Pakete (26696 Bytes) zu Fillern umgewandelt. Zusätzlich schickt der satip-Server noch 7 Leerpakete (1316 Bytes)

  • Wie müßte denn (für Ubuntu yaVDR) eine *.service aussehen, damit vtuner inklusive satip-Instanzen rechtzeitig und so früh wie möglich gestartet wird - regelkonform !? Die rc.local die ich als Übergang nutze ist ja auch eher ein Dinosaurier...

  • Also bei mir habe ich ExecStartPre/ExecStopPos in die vdr.service (/usr/lib/systemd/system/vdr.service) eingetragen:


    Als startvtuner.sh:

    Code
    #/bin/bash
    
    #exit 0
    
    /usr/sbin/modprobe vtunerc devices=4
    
    /usr/local/bin/satip -h 10.15.10.30 -d /dev/vtunerc0 -m 2 -l 4 2> /tmp/satip0.log &
    /usr/local/bin/satip -h 10.15.10.30 -d /dev/vtunerc1 -m 2 -l 4 2> /tmp/satip1.log &
    /usr/local/bin/satip -h 10.15.10.30 -d /dev/vtunerc2 -m 2 -l 4 2> /tmp/satip2.log &
    /usr/local/bin/satip -h 10.15.10.30 -d /dev/vtunerc3 -m 2 -l 4 2> /tmp/satip3.log &


    Und als stopvtuner.sh

    Code
    #/bin/bash
    
    #exit 0
    
    killall -q -HUP satip
    sleep 1
    /usr/sbin/modprobe -r vtunerc
  • So, habe noch was ergänzt. Manche Sender wie arteHD senden Filler-PIDs. Da kann ich natürlich ewig auf ein PUSI-Bit warten. Filler-PIDs werden jetzt mit einem Minus in der PID tab kenntlich gemacht, PIDs mit * haben sozusagen Nutzdaten:

  • Interessante Entwicklung :tup


    Aber irgendwie verstehe ich nicht ganz, warum da ein Kernelmodul notwendig ist.


    Die Daten gehen doch vom Userspace durchs Kernelmodul wieder in den Userspace.

    Oder habe ich da was übersehen?

    Gruss
    SHF


  • Damit du ein character device node /dev/dvb/* haben kannst, auf das ioctl Befehle gesendet werden können?

  • Aber irgendwie verstehe ich nicht ganz, warum da ein Kernelmodul notwendig ist.


    Die Daten gehen doch vom Userspace durchs Kernelmodul wieder in den Userspace.

    Oder habe ich da was übersehen?

    Naja, wenn Du vdr-plugin-satip verwendest kommst Du ganz um das Kernelmodul drumherum... Dann geht es von einem vdr-device direkt zum satip-Receiver. Mit dem Plugin hatte ich aber einige "Probleme" bzw. Dinge die mir nicht gefielen. Ich konnte mich noch an das vtuner - Projekt erinnern und habe auf github eben zwei verwaiste Projekte gefunden. Und das satip-Programm funktionierte out-of-the-box mit meinem satip-Receiver wie ich es mir gewünscht hatte. Zudem hat der vtuner den Vorteil, das ich jegliches Programm das mit /dev/dvb Devices arbeitet in Zukunft verwenden kann.

  • Wie ist denn die Umschaltdauer im Vergleich zum satip-Plugin?

    Das ist hier ein mächtiges Kriterium - mit vtuner und dem 'bösen' Plugin sind alle Umschaltzeiten deutlich besser (gerade auch 'encrypted').


    Mit dem SatIP Plugin und minisatip mit der Option '-o' kam es immer mal wieder zu fehlerhaften Aufnahmen weil der headless-Server beim Start einer Aufnahme (natürlich unbemerkt) keine erfolgreiche Entschlüsselung erreichte und somit eine defekte '0:00' Aufnahme produzierte. Das macht auf Dauer gerade bei Serien nicht glücklich. Auf dem Client ist es hier ähnlich. Beim Umschalten des öfteren kein Bild/Ton - da hilft nur umschalten auf FTA und zurück.


    Es scheint für mich in der Konstellation SatIP-Plugin -> minisatip '-o' -> SatIP-Server einen Flaschenhals zu geben. Mit vtuner habe ich noch keinen Blackscreen beim umschalten gehabt. Hier ist natürlich die Abfolge auch ohne minisatip.


    Ich möchte damit hier nicht offtopic werden - falls jemand ähnliches beobachtet oder bei mir einen Fehler vermutet gerne das Thema ausgliedern oder per PN.

  • Joe_D

    macht es einen Unterschied, ob vtuner/satip auf einem headless-Server oder einem Rechner mit Ausgabe-Plugin läuft?

    Der Client funktioniert perfekt aber auf dem Server sind die Aufnahmen alle fehlerhaft mit 0:00 auch auf freien Sendern!


  • macht es einen Unterschied, ob vtuner/satip auf einem headless-Server oder einem Rechner mit Ausgabe-Plugin läuft?

    Der Client funktioniert perfekt aber auf dem Server sind die Aufnahmen alle fehlerhaft mit 0:00 auch auf freien Sendern!

    Kann ich nicht genau sagen, bei mir läuft der vtuner, satip und vdr mit xineliboutput alles auf einem odroid-c4.

    Aufnahmen habe ich bis jetzt noch nicht ausgiebig getestet. Log vom RTSP-Channel mitlaufen lassen? (-m 2 -l 4)

  • Uups, ich hänge die drei Tuner-Logs mal an während die Aufnahme läuft aber 0:00 und defekt ist... Ich sehe anhand der Logs nix!


    satip0.txt

    satip1.txt

    satip2.txt

  • Uups, ich hänge die drei Tuner-Logs mal an während die Aufnahme läuft aber 0:00 und defekt ist... Ich sehe anhand der Logs nix!


    satip0.txt

    satip1.txt

    satip2.txt

    Hast du auch mal die VDR Log's dazu

    https://www.minidvblinux.de/forum/

    1x OctopusNet mit 8x DVB-C
    1x Raspberry 4 MLD 6.0 SATIP (softhddevice-drm )

    1x RockPi 4 MLD 6.0 SATIP (softhddevice-drm )

    1x Raspberry 3 als Client MLD 5.4

    1x Raspberry 2 als Client MLD 6.0

    1x Raspberry 1 (staubt gerade so vor sich hin) ;)
    1x Cubietruck

    1x MCC 100
    1x BananaPi

    1x Zotac CI327 MLD 6.0 SATIP (softhddevice)

  • Aus dem syslog habe ich den Bereich einer defekten Aufnahme rauskopiert...


    log.txt

  • Joe_D Generell war es eine Verständnis-Frage meinerseits, bitte nicht als Kritik auffassen.


    Das Konzept SAT-IP auf lokale Tuner zu mappen finde ich echt gut, so muss man die Umsetzung nur einmal machen.

    Aktuell liebäugele ich auch damit meinem VDR ein paar mehr Tuner zu spendieren. Bislang schwankte ich eher zwischen Unicable und mehr Kabeln, durch diese Entwicklung wird SAT-IP aber deutlich interessanter für mich.

    Damit du ein character device node /dev/dvb/* haben kannst, auf das ioctl Befehle gesendet werden können?

    Das hatte ich auch zuerst gedacht.

    Aber die Sundtek-Treiber kommen ohne Kernel-Teil aus, es muss also auch anders gehen.


    Es wäre halt schön, wenn man diese Abhängigkeit auch hier los werden könnte. (Als Nvidia-User habe ich da so meiner Erfahrungen ;) )

    Daher die Frage, ob es zumindest theoretisch gehen könnte das komplett in den Userspace zu ziehen.

    (Dass man vermutlich einen Haufen Zeug kopieren oder nach programmieren muss ist mir schon klar. Mir geht es primär ums Verständnis.)

    Gruss
    SHF


    Einmal editiert, zuletzt von SHF ()

  • macht es einen Unterschied, ob vtuner/satip auf einem headless-Server oder einem Rechner mit Ausgabe-Plugin läuft?

    Evtl. mal das "dummy-device" auf dem Server installieren?

    Das fehlen des Primary-Device scheint teilweise kleine Unterschiede im Verhalten auszulösen, obwohl es das eigentlich nicht sollte.

    Gruss
    SHF


  • Aber die Sundtek-Treiber kommen ohne Kernel-Teil aus, es muss also auch anders gehen.

    Sundtek macht das als User Treiber also Kernel unabhängig.

    https://www.minidvblinux.de/forum/

    1x OctopusNet mit 8x DVB-C
    1x Raspberry 4 MLD 6.0 SATIP (softhddevice-drm )

    1x RockPi 4 MLD 6.0 SATIP (softhddevice-drm )

    1x Raspberry 3 als Client MLD 5.4

    1x Raspberry 2 als Client MLD 6.0

    1x Raspberry 1 (staubt gerade so vor sich hin) ;)
    1x Cubietruck

    1x MCC 100
    1x BananaPi

    1x Zotac CI327 MLD 6.0 SATIP (softhddevice)

  • Aus dem syslog habe ich den Bereich einer defekten Aufnahme rauskopiert...


    log.txt

    Um welche Aufnahme geht es in deinem Log denn ?

    https://www.minidvblinux.de/forum/

    1x OctopusNet mit 8x DVB-C
    1x Raspberry 4 MLD 6.0 SATIP (softhddevice-drm )

    1x RockPi 4 MLD 6.0 SATIP (softhddevice-drm )

    1x Raspberry 3 als Client MLD 5.4

    1x Raspberry 2 als Client MLD 6.0

    1x Raspberry 1 (staubt gerade so vor sich hin) ;)
    1x Cubietruck

    1x MCC 100
    1x BananaPi

    1x Zotac CI327 MLD 6.0 SATIP (softhddevice)

Jetzt mitmachen!

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