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

  • Es scheint erledigt zu sein!

    Ich habe ein Kernel-Update von 5.15.0-91 auf 6.2.0-39 gemacht, vtunerc neu gebaut und nun läuft eine Aufnahme fehlerlos!

    Morgen zeigen die Timeraufnahmen neue Erkenntnisse...


    rfehr

    Danke - Zapfenstreich! ;)

  • 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!


    Ich habe letzte Nacht auch 2 Aufnahmen bekommen die fehlerhaft sind.

    Es sind jedoch nicht alle Aufnahmen fehlerhaft.

    Bei mir nicht auf einem headless-Server.



    Nachtrag: Ich kann aber nicht ausschließen, dass meine Probleme, jetzt auch mit der GSS.box, von zu hohen Pegeln kommen.

    Ich habe jetzt Dämpfungssteller bestellt...

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

    Edited once, last by heifisch ().

  • Ich hatte über Nacht noch je eine ver-, und eine unverschlüsselte Aufnahme gemacht - beide fehlerlos. Ich beobachte weiter.

    In Sachen Stabilität und Fehlertoleranz - was passiert wenn der Satip-Server mal zeitweise weg ist? Verbindet sich vtuner automatisch neu?


    Ich lasse Client und Server jetzt komplett mit dieser Konstellation laufen...


    heifisch

    kannst Du mal prüfen ob du auch noch den 5.15er Kernel hast? Und wenn ja, 6.2.0-39 ist in dem Fall hier die Problemlösung gewesen

  • heifisch

    kannst Du mal prüfen ob du auch noch den 5.15er Kernel hast? Und wenn ja, 6.2.0-39 ist in dem Fall hier die Problemlösung gewesen


    Ich habe aktuell Kernel 6.6.6.


    Ich hatte ja schon länger Probleme beim Umschalten mit der Octopus Net und dem Satip-Plugin gehabt und jetzt auch mit vtuner und GSS.box.

    Der freundliche Mitarbeiter von Digital Devices hat mich auf einen möglichen Fehler in meiner Antennenverkabelung hingewiesen, nämlich die Anbindung der Octopus mit nur 20 cm Antennenkabeln hinter dem Multischalter. Das könnte zu zu hohen Pegeln führen, was dann beim Tuning Probleme macht. Das möchte ich erst mal ausschließen in dem ich Dämpfungssteller einbaue und mal schauen, was mein Sat-Messgerät her gibt, mal die Pegel messe. Das muss erst mal passen, dann will ich weiter sehen.

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

  • Hi,

    Octopus und Multischalter? Wozu? Kann die das nicht mit einem Kabel selbst? Hab keine, sondern das nur gelesen. Oder können das nicht alle?

    MfG Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • 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.)

    Natürlich ist das möglich. Dazu benötigt man nur jemanden mit zuviel Tagesfreizeit der Frontend-Logik und Software-Demuxer komplett in UserSpace nachbastelt. Oder man fragt die Jungs und Mädels von Sundtek ob die ihren Code rausrücken :saint: - denn die haben das scheinbar schon gemacht...

  • Hi,

    Octopus und Multischalter? Wozu? Kann die das nicht mit einem Kabel selbst? Hab keine, sondern das nur gelesen. Oder können das nicht alle?

    MfG Stefan

    Hab' meine SatIP-Box auch gerade (noch) an einem Multischalter. Da hab' ich einen Kanal für den neuen vdr "reserviert" und drei gehen noch zum alten vdr.. Wenn der mal rausfliegt werde ich die Schüssel direkt an die SatIP-Box hängen...

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

    Die überschreiben wohl read() und ioctl() per LD_PRELOAD mit ihrem Treiber blob, so dass all diese Funktionen erst durch ihren Treiber müssen.

    Kostet Performance, da alle Anfragen jeder Software davon betroffen sind, nicht nur VDR und co. und ist eigentlich ein Sicherheitsrisiko, du vertraust damit diesem Software Hersteller, dass sie nichts gefährliches dort in ihren Funktionen machen.

  • Octopus und Multischalter? Wozu? Kann die das nicht mit einem Kabel selbst?


    Die Octopus kann man auch direkt am LNB betreiben.

    Hier ist aber eine Multifeed-Anlage und am Multischalter hängt noch ein klassischer Sat-Reciever.

    Wobei beides wohl nicht mehr notwendig wäre.

    Ich hatte die Oktopus auf Empfehlung vom Service-Mitarbeiter mal direkt am LNB dran, aber da noch höhere Pegel im Web-Interface gesehen.

    Also um die Dämpfer komme ich wohl nicht drum herum, überlege mir aber schon, ob ich die Octopus zukünftig direkt am LNB betreibe...

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

  • Folgendes ist mir noch in den Sourcen zu vtuner aufgefallen: Es gibt ein 30 PIDs Limit. Eventuell sollte ich das aufblasen. Als ich letztens eine Aufnahme auf ARD-HD machte und auf ArteHD wechselte waren schon 22 PIDs in Verwendung. Was nun passiert wenn ich eine weitere Aufnahme auf dem gleichen Transponder starte habe ich (noch) nicht ausprobiert...

  • Ist die Option der Mehrfachnutzung der Frontends möglich (gleicher Transponder)?

    Derzeit geht hier nur eine Aufnahme pro Device...

  • Quote

    Ist die Option der Mehrfachnutzung der Frontends möglich (gleicher Transponder)?

    Derzeit geht hier nur eine Aufnahme pro Device...

    Ich hab' gerade mal FE_CAN_MULTISTREAM hinzugefügt ohne so genau zu wissen was das macht ;)


    Zuvor hab' ich aber auch schon ARD-HD aufnehmen und ArteHD anschauen können, die sind ja auch auf dem gleichen Transponder.

    Jetzt gerade 4 Aufnahmen auf einem Transponder gestartet:


    Sieht dann im /proc/vtunerc0 so aus:


    Und im vdr:

    Code
    Dec 14 17:28:52 server vdr: [2626] recording to '/var/lib/video/taff/2023-12-14.16.57.5-0.rec/00001.ts'
    Dec 14 17:29:13 server vdr: [2626] recording to '/var/lib/video/Die_Urlaubs-Docs/2023-12-14.16.57.4-0.rec/00001.ts'
    Dec 14 17:29:29 server vdr: [2626] recording to '/var/lib/video/Abenteuer_Leben_täglich/2023-12-14.16.55.8-0.rec/00001.ts'
    Dec 14 17:33:18 server vdr: [2626] recording to '/var/lib/video/Desperate_Housewives/2023-12-14.17.27.1005-0.rec/00001.ts'


    Code
    Dec 14 17:38:17 server vdr: [2626] timer 120 (8 1655-1806 'Abenteuer Leben täglich') stopped with 0 errors
    Dec 14 17:38:19 server vdr: [2626] timer 118 (5 1657-1810 'taff') stopped with 0 errors
    Dec 14 17:38:21 server vdr: [2626] timer 119 (4 1657-1740 'Die Urlaubs-Docs') stopped with 0 errors
    Dec 14 17:38:23 server vdr: [2626] timer 122 (1005 1727-1833 'Desperate Housewives') stopped with 0 errors
  • Die überschreiben wohl read() und ioctl() per LD_PRELOAD mit ihrem Treiber blob, so dass all diese Funktionen erst durch ihren Treiber müssen.

    Danke, das erklärt einiges.

    Dass es zumindest mit ioctl() Probleme geben wird war mir inzwischen auch schon aufgefallen, hatte bislang aber noch keine Zeit mir das näher anzusehen.


    Kostet Performance, da alle Anfragen jeder Software davon betroffen sind, nicht nur VDR und co. und ist eigentlich ein Sicherheitsrisiko, du vertraust damit diesem Software Hersteller, dass sie nichts gefährliches dort in ihren Funktionen machen.

    Ja, wirklich schön ist die Lösung nicht.

    Zumal read() und ioctl() auch nicht unbedingt die Funktionen sind, die ich mit "irgendwas" überschrieben haben möchte ;) .

    Gruss
    SHF


  • Die überschreiben wohl read() und ioctl() per LD_PRELOAD mit ihrem Treiber blob, so dass all diese Funktionen erst durch ihren Treiber müssen.

    Kostet Performance, da alle Anfragen jeder Software davon betroffen sind, nicht nur VDR und co. und ist eigentlich ein Sicherheitsrisiko, du vertraust damit diesem Software Hersteller, dass sie nichts gefährliches dort in ihren Funktionen machen.

    Das kostet keine messbare Performance (wenn man was misst bemerkt man auch wie sich der CPU Verbrauch vom Kernel in das System zieht da der Demuxer als Applikation läuft), außerdem beschränkt sich die arbeitende Logik nur auf die DVB/Video Adapter, was anderes interessiert auch nicht.


    Einige Systeme isolieren das auf die DVB Applikation an sich, das System ist flexibel gestaltet und der Installer hat da auch einige Optionen. Auch ist ein Streamingserver enthalten man muss nicht das V4L/DVB Layer benutzen wenn man nicht möchte.

    Wer fleissig kompilieren will den hindern wir auch nicht, auch beeinflussen wir keine anderen Analog TV / Webcam oder DVB Treiber.


    Wer ein abgesichertes System haben will muss sowieso Hand anlegen und sich auskennen (sprich man sollte verstehen was man macht, der wird es dann auch schaffen sich ein bißchen in die Treiberoptionen einzulesen).

    Man kann gerade bei unserem Tuner auch direkt über API Calls oder einem Streamingserver auf den Tuner zugreifen (das machen auch einige Kunden), wie geschrieben der Installer hat da so einige Optionen.


    Multimedia Treiber im Kernel zu benutzen ist auch nicht so ohne, jahrelang gab's irgendwelche Systemcrashes oder andere Probleme mit diversen anderen Geräten und Updates zu durchlaufen ist einfach zeitaufwändig.


    Kernel-Treiber sind eine alte Technologie, mit der Zeit kam in Linux die Option mit Userspace Treiber hinzu während die Linux Media Maintainer damals ihre Grabenkämpfe hatten haben wir unsere Geräte bereits vollständig mit etlichen Features im Userspace integriert. Viele von denen damaligen Kernel-Entwicklern in dem Bereich sind über die Jahre hinweg ohnehin nicht übrig geblieben, sie haben sich einfach anderen Dingen gewidmet.

  • Ich habe es an meiner FRITZ!Box 6490 Cable probiert, bekomme aber ein: RTSP/1.0 403 Forbidden


    #> cat /tmp/satip0.log

    [2260 satip_rtp.c:291] info: rtp/rtcp port 45983/45984

    [2260 satip_rtsp.c:692] debug: connecting...

    [2260 satip_rtsp.c:582] debug: connected -> establishing

    [2260 satip_rtsp.c:308] debug: >>txbuf:

    OPTIONS rtsp://172.20.0.1:554/ RTSP/1.0

    CSeq: 1


    <<

    [2260 satip_rtsp.c:217] debug: rxbuf:

    RTSP/1.0 200 OK

    Public: OPTIONS, DESCRIBE, SETUP, PLAY, TEARDOWN

    CSeq: 1


    <<

    [2260 satip_rtsp.c:600] debug: response complete

    [2260 satip_rtsp.c:391] debug: >>txbuf:

    SETUP rtsp://172.20.0.1/?src=1&freq=420600.0&pol=v&msys=dvbs2&mtype=8psk&sr=6900&fec=& RTSP/1.0

    CSeq: 2

    Transport: RTP/AVP;unicast;client_port=45983-45984


    <<

    [2260 satip_rtsp.c:217] debug: rxbuf:

    RTSP/1.0 403 Forbidden


    Sollte ich bei DVB-C noch etwas beachten?

  • Hi,


    ich nutze hier zum Testen ein Kernel 6.6.7 mit einer Octopus Net.

    - z.B. Die Umschaltzeiten sind super (besser als mit vdr-satip)

    Ich bin erstaunt wie einfach diese Lösung umzusetzen war und werde weiter testen (zur Zeit mit 4 Tuner am VDR-2.6.4)


    Schön wäre es wenn man diese Lösung mit unter https://vdr-projects.github.io/ mit aufnehmen könnte

    z.B. unter ---> Addons/Tools/Libraries

    (VDR) NUC11PAH & GEEKOM MINI-IT11-11. Generation * BM2LTS * DD NET S2 Max * NC * (Sound) Cinebar Lux Set * (Stream) Apple TV 4K (2022) *

    (Light) PHILIPS Hue Play HDMI Sync Box & Gradient Lightstrip * (OLED TV) LG OLED65G29LA

  • Mein Resümee fällt auch positiv aus. Umschaltzeiten top, keinerlei 'schwattes Bild' mehr nach dem Umschalten und vor allem echt fehlerfreie Aufnahmen - Wobei früher auch angezeigte Fehler nicht zwingend in der Aufnahme sichtbar waren sondern zu Stande kamen, weil zum Zeitpunkt des Timers Vollmond war ;) ...


    Danke Joe_D :thumbup:

  • Ich würde das gerne ausprobieren. Allerdings bin ich mir nicht sicher, wie ich es am besten machen soll.

    Ausgangssituation aktuell:

    Server, zeichnet auf, 2 Sundtek Sticks, 6 Tuner von Kathrein Exip fest zugewiesen. Server verteilt Devices per Streamdev.

    2 Clients, 1x direkt Tuner vom Satip Server, zus. Device z.B. für EPG Scan via streamdev. Ob da dann Sundtek oder Satip kommt, weiß ich nicht.


    Wie bringe ich hier am sinnvollsten vtuner ins Spiel? Sinnvollerweise interessiert mich die Umschaltzeit nur am Client. Jeder Client benötigt 2 Devices und der Server braucht max. 4 Devices für Recordings.


    Zu welchem Setup mit vtuner würdet ihr mir raten? Brauchts das auf allen Maschinen oder reicht der Server und ich verteil dann wieder?

  • Hi,

    So weit ich weiß können die Sundteks die Tuner selbst weiterreichen an andere VDRs im LAN. Ging zumindest früher unter yavdr wohl.

    Hat mit vtuner nix zu tun, ich weiß.

    MfG Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!