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

  • Ich hab seit ein paar Tagen bei mir auch einen Kathrein exip 418 am start der die derzeitige DVB-Karte (dvbsky s952) in meinem headless vdr server ersetzen soll.

    Das ganze läuft mit vdr 2.6.7 + vtunerc + satip grundsätzlich recht ordentlich ( Joe_D: Danke das du das auf vordermann gebracht hast!).

    Allerdings habe ich doch jetzt ein ernstes Problem festgestellt. Der vdr startet keine Aufnahme bei Timern bei denen vps zugeschaltet ist!

    Hat da schon jemand ähnliche Erfahrungen gemacht?


    Im Anhang der Log zu vdr/satip für einen timer zu 3sat HD Ländermagzin geplannter start 14:11.

    Man sieht wie der vdr bei 14:08 den Kanal tuned (ich habe 180s vps Vorlaufzeit konfiguriert) vermutlich um jetzt den stream auf das vps

    start event zu beobachten.

    Um 14:09 wird der stream warum auch immer wieder geschlossen. Da kann der vdr dann auch kein start event mehr sehen und

    dann gibt es auch keine Aufnahme. Was läuft da schief?

    Greift da vieleicht ein inaktivitäts timeout'?

  • Hab' gerade selber was gefunden: https://github.com/selsta/hlsd

    Quote

    ToDo

    • support for Fragmented MPEG-4 playlist
    • support for EXT-X-MAP in the MPEG-2 Transport Streams playlist

    Aufpassen, die Lib unterstützt MPEG-4 HLS-Streams anscheinend nicht!

    Bevor ihr da zu viel Zeit versenkt, solltet ihr mal schauen, ob das wirklich mpeg2-ts ist, was da ankommt.


    ffprobe gibt beim ZDF-Livestream leider nur "format_name": "hls",          "format_long_name": "Apple HTTP Live Streaming" aus. Ob man daraus ableiten kann, ob es mpeg2-ts oder MPEG-4 ist, konnte ich bislang nicht in Erfahrung bringen.

    Gruss
    SHF


  • seahawk1986

    um mögliche weitere daemons (iptv?) zu integrieren schlage ich folgende Änderung vor:


    Konfigurationsverzeichnis /etc/vtuner. Das /etc/default finde ich nicht so passend da ja potentiell mehrere Konfigurationsdateien entstehen können.


    Die Basiskonfiguration in base.conf oder alternative als Name main.conf:



    Eine zukünftige fiktive Erweiterung für einen iptv daemon würde dann IPTV_xxx Variablen definieren, iptv unit template hinzufügen und eine Erweiterung der udev rules:


    Code
    # assign group video to vtunerc device and trigger systemd satip daemon service instance
    ACTION=="add", SUBSYSTEM=="vtuner", KERNEL=="vtunerc[0-1]", GROUP="video", MODE="0660", TAG+="systemd", ENV{SYSTEMD_WANTS}="satip@$name.service"
    # assign group video to vtunerc device and trigger systemd iptv daemon service instance
    ACTION=="add", SUBSYSTEM=="vtuner", KERNEL=="vtunerc[2-3]", GROUP="video", MODE="0660", TAG+="systemd", ENV{SYSTEMD_WANTS}="iptv@$name.service"
  • Hallo,

    zu meinen Beitrag #281 in diesem Thread:

    Ich habe mal den vdr auf Version 2.6.6 downgraded.

    Mit der Version startet der vdr auch Aufnahmen zu Timern mit zugeschalteten VPS.

    Allerdings ist der Log und der angezeigte Tunerstatus am exip auch hier sonderbar!

    Es ist ein VPS-Timer auf die Sendung "Um Himmels Willen (163)" geplant 14:35 gesetzt:


    Bis 14:32 sind die Tuner am exip wegen eit-Scan belegt der ja in dieser vdr-Version noch ohne grosse Pausen durchläuft.

    Um 14:32 wird auf den Sender getuned weil der Timer den vps margin erreicht.

    Kurz danach wechseln alle Tuner am exip auf unbelegt!!!

    Um 14:35:08 startet tatsächlich die Aufnahme. Tuner aum exip auch wieder belegt. Weitere Tuner mit eit-Scan belegt.

    Um 14:35:11 stoppt der Aufnahme-Thread???

    Um 14:36:08 wird die Aufnahme dann wieder gestartet und läuft dann auch durch.


    Log ist im Anhang.

  • Ubuntu 22.04.4 (GLIBC_2.35)


    Problem ab dem Kernel 6.9. --> Der Kerneltreiber (vtunerc_main ?)

    kann nicht mehr gebaut werden -- Hm damit war der VDR dunkel :wand


    jemand eine Idee bzw. das gleiche Problem

    (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

    Edited 2 times, last by cinfo ().

  • also neueren gcc nehmen ....

    glaube ich nicht -- da beim Kernel 6.8.9 das auch schon war und es nicht zu einem Fehler kam.

    Ich tippe auf ein GLIBC_2.* Problem --> Ubuntu 22.04.4 nutzt GLIBC_2.35


    Kernel 6.8.9

    (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

    Edited 5 times, last by cinfo ().

  • Komische Fehlermeldung, ich sehe nichts von GCC :/ .

    Evtl. schon ein Fehler in der Makefile?

    Ich würde es mal in einem anderen Verzeichnis versuchen. Weniger Unterverzeichnisse und ohne ! und andere Sonderzeichen im Namen.

    Gruss
    SHF


  • Komische Fehlermeldung, ich sehe nichts von GCC :/ .

    Evtl. schon ein Fehler in der Makefile?

    Ich würde es mal in einem anderen Verzeichnis versuchen. Weniger Unterverzeichnisse und ohne ! und andere Sonderzeichen im Namen.

    hilft auch nicht -->hier läuft es mit der Kernelversion 6.8.9 alles ohne Fehler. Ich denke auch das etwas am Makefile geändert werden müsste.

    (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


  • Siehe Mal wieder VPS


    VDR bekommt keinen running status

    -> VDR startet Aufnahme bei event-start.

    -> VDR bekommt running status (jetzt ist ja auf den Sender getuned)

    -> VDR running status is "not running" -> VDR beendet Aufnahme


    Das Spiel kann sich auch öfter wiederholen.


    Also, wenn VDR auf einen Kanal tuned, dann erwartet VDR auch, dass auf diesen Kanal getuned ist. Das ist notwendig, um vom Sender laufend den running status zu bekommen, anhand von dem beurteilt wird, ob die Sendung starten soll.

    Wenn vtuner-ng das nicht kann, dann funktioniert damit kein VPS.

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • jemand eine Idee bzw. das gleiche Problem

    Komisch. Ich sehe gar keinen Compilerfehler in Form von z.B. nicht vorhandenem Symbol oder sowas ähnliches...

    Wenn vtuner-ng das nicht kann, dann funktioniert damit kein VPS.

    vtuner-ng "kann nichts" sondern empfängt Kommandos von /dev/dvb/frontendX und leitet diese einfach an /dev/vtunercX weiter. Dort muss ein Programm die Kommandos auswerten und (im besten Fall) einen TS-Stream in /dev/vtunercX hineinschreiben. Das "beigelegte" satip-Programm filtert nix, der TS-Stream kann lesend über /dev/vtunercX "mitgehört" werden falls man der Meinung ist da würde was fehlen.

    Der vdr startet keine Aufnahme bei Timern bei denen vps zugeschaltet ist!

    Ich teste das auch mal bei mir!

  • Um 14:32 wird auf den Sender getuned weil der Timer den vps margin erreicht.

    Kurz danach wechseln alle Tuner am exip auf unbelegt!!!

    Ja, ich weiß nun auch warum: Wenn nur Section-Pids angefragt werden gebe ich die Tuner nach 60 Sekunden frei. Der Scan selbst braucht nur 20 Sekunden, an VPS selbst habe ich nicht gedacht :whistling:

    Leider ist die VpsMargin Einstellung im VDR unbegrenzt, da kann man auch 9999999 Sekunden Vorlauf eingeben...


    Die Frage ist nun was ist ein guter Standard-Timeout Wert?

  • Leider ist die VpsMargin Einstellung im VDR unbegrenzt, da kann man auch 9999999 Sekunden Vorlauf eingeben...

    Kann man das eventuell per Modul-Parameter konfigurierbar machen? Dann könnte man vor dem Laden des Moduls in die setup.conf des VDR schauen und den Wert dementsprechend anpassen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich teste das auch mal bei mir!

    Funktioniert nun mit Timeout 180 bei VpsMargin 120:


    Kann man das eventuell per Modul-Parameter konfigurierbar machen? Dann könnte man vor dem Laden des Moduls in die setup.conf des VDR schauen und den Wert dementsprechend anpassen.

    Ja ich baue das als Parameter ein

  • Was passiert denn eigentlich wenn eine Sendung z.B. um 20 Minuten verspätet beginnt.

    Wird da eine neue VPS-Startzeit übermittelt oder muss der vdr jetzt die 20 Minuten auf den running-Status warten?

    In dem Fall wäre das bestimmen der Timeoutzeit schon nicht so einfach.

  • Was passiert denn eigentlich wenn eine Sendung z.B. um 20 Minuten verspätet beginnt.

    Wird da eine neue VPS-Startzeit übermittelt oder muss der vdr jetzt die 20 Minuten auf den running-Status warten?

    In dem Fall wäre das bestimmen der Timeoutzeit schon nicht so einfach.

    Gute Frage... habe aber dazu keine Erfahrung weil ich bislang nix mit VPS aufgenommen habe...

  • Im git ist eine aktualisierte Version mit folgenden Änderungen:


    • tune id hinzugefügt, d.h. bei Wechsel auf eine neue Frequenz wird der Umschaltvorgang eine id mitgegeben die dann in den TS-Paketen hineincodiert werden können (optional). Das satip Programm macht das nun. Beabsichtigte Wirkung: Zuordnung der TS-Pakete. Wenn zum Zeitpunkt des Umschaltvorgangs TS-Pakete mit id 3 gesendet werden und die neue id ist 4, dann werden nun alle noch gesendeten TS-Pakete mit id 3 verworfen und erst wieder die Pakete mit id 4 durchgelassen.
    • timeout Parameter hinzugefügt, nach dieser Zeit werden Frontends freigegeben wenn nur Section-Pids übertragen werden. Der EIT-Scan belegt ein Frontend 20 Sekunden, bei VPS könnte das ein Problem sein/werden - eventuell muss dann diese Funktion stillgelegt werden...
    • Patch von durchflieger eingebaut um satip als user starten zu können
  • Komisch. Ich sehe gar keinen Compilerfehler in Form von z.B. nicht vorhandenem Symbol oder sowas ähnliches...

    finde ich nur die Aussetzer im Makefile und ein Abbruch gleich bei /vtuner-ng/kernel/vtunerc_main.o] Fehler 1 gleiche vtuner Version aus dem Git läuft bei dem Kernel 6.8.9 noch ohne Fehler. Hm sollte es mit vtuner beim Kernel 6.9 am Ende sein -- ist doch schon etwas schräg. Kann das GLIBC_2.35 von Ubuntu 22.04.4 hier das Problem sein -- wird das Abgefragt?


    Hat jemand vtuner mit dem Kernel 6.9 am Laufen?

    (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

    Edited once, last by cinfo ().

    • timeout Parameter hinzugefügt, nach dieser Zeit werden Frontends freigegeben wenn nur Section-Pids übertragen werden. Der EIT-Scan belegt ein Frontend 20 Sekunden, bei VPS könnte das ein Problem sein/werden - eventuell muss dann diese Funktion stillgelegt werden...

    Wenn der Sender aufgrund des erreichen der VPS-Margin-Zeit getuned wird dann werden hier laut meiner Beobachtung auch nur die Standard-Section-Pids <= 20 für die Auswertung des running Status gesetzt.

    Das wird schwierig mit dem Timeout.

Participate now!

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