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

  • Meines Wissens nach hält vdr das frontend device geöffnet, solange das Programm läuft. Im Unterschied dazu wird das dazugehörige dvr device nur geöffnet (OpenDvr) wenn Daten empfangen werden sollen- also bei LiveTV, Aufnahme und wohl auch beim EPG Scan. Sobald das dvr device nicht mehr benötigt wird (z.B. wenn nach einem Kanalwechsel ein anderes device aufgrund höherer Priority ‚gewinnt‘), wird es geschlossen (CloseDvr).

    Es ist eine Besonderheit der DVB-Karten, dass sie zum Tunen ein anderes Device als zum Streamen verwenden. Deshalb bezweifle ich, dass diese Logik bei anderen Transportwegen 1:1 funktioniert. Bei pvrinput (analoge Karten mit Hardwareencoder, die nur ein einziges device für beides hatten) war das anfangs ein Riesenproblem. Vdr wollte tunen, hatte aber über CloseDvr vorher schon das device geschlossen. Da musste ich einiges tricksen. Ich bezweifle, dass das satip-Plugin den Aufwand betreibt.

    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

  • Macht das satip-Plugin das genauso?

    Ich bezweifle, dass das satip-Plugin den Aufwand betreibt.

    Mit einem svdrpsend SCAN bei Benutzung des satip-Plugins, werden bei mir alle 8 Tuner meiner Octopus Net belegt.

    Nach dem Ende des EPG-Scans, werden alle nicht benötigten Tuner der Octopus Net wieder frei gegeben.

    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

  • Ich habe mich mal an einem Paket versucht - ungetestet (außer einer erfolgreich durchgelaufenen Installation der Pakete in einer VM): https://launchpad.net/~seahawk…+archive/ubuntu/vtuner-ng


    Wenn man das Paket vtuner-ng-satip installiert, sollte er damit sowohl das satip binary als auch das dkms-Paket vtuner-ng-dkms als Abhängigkeit installieren.


    Oh, erst jetzt gesehen - Danke. Läuft!


    Beim Installieren gab's eine Meldung:

    Code
    Error! Module version 2.0 for vtunerc.ko
    is not newer than what is already found in kernel 5.15.0-92-generic (2.0).

    :S


    .. das Modul war schon neu aus dem Git übersetzt als mal ein Kernelupdate (ubuntu) kam ..


    Rebootet hab ich noch nicht - also es läuft nun immer noch mit @Joe_D 's Einträgen in "vdr.service"


    Ist echt eine Alternative (hier) - so "zackig" ist's auf einmal :] :tup


    Grusz!

  • Hab' wieder etwas aktualisiert.


    Bei mir sind häufig folgende Meldungen wegen der Sections erschienen (vor allem EIT), die wollte ich unbedingt "entfernen"

    Code
    Feb  2 03:39:20 server kernel: [28754.343166] dvb_demux: dvb_dmx_swfilter_section_new: section ts padding loss: 367/367
    Feb  2 03:39:20 server kernel: [28754.343170] dvb_demux: dvb_dmx_swfilter_section_new: pad data: 50 f7 45 00 30 ef e8 f8 00 05 00 85 e8 50 2f 61 eb b8 15 50 00 00 47 00 02 20 4d 8f 44 45 55 45 05 56 6f 6d 20 53 63 68 77 65 69 6e 20 7a 75 6d 20 53 63 68 6e 69 74 7a 65 6c 20 2d 20 48 69 6e


    Das hat seinen Grund darin das manche (vor allem EIT) Section-Feeds schon vor dem Tune-Befehl gestartet werden.

    Ich mach' das jetzt im Debug-Log kenntlich indem ich schon laufende Feeds mit "r" markiere:

    Nun "steht" der Kanal aber noch auf der "alten Frequenz" und in die schon gestarteten Section-Feeds laufen dann Daten vom "alten Kanal". Mit der Änderung werden alle schon laufenden Section-Feeds kurz nach Erhalt des Tune-Befehls gestoppt und zurückgesetzt (Zeile 9) und beim Empfang des ersten PUSI-Markers gestartet (Zeile 11)...

    Zusätzlich ist mir aufgefallen das das "ausleiten" der TS-Daten per cat /dev/vtunerc0 > /tmp/data.ts unvollständig war. Hier habe ich jetzt einen DVB Ringbuffer eingebaut, somit geht nichts mehr verloren...

  • Und wieder was aktualisiert, diesmal in Verbindung mit meinem Patch von hier. Damit kann der EPGScan zeitlich begrenzt werden, somit hat vtuner nun die Chance diesen wieder freizugeben. Nach 60 Sekunden Inaktivität wird der tuner freigegeben. Das funktioniert ebenso beim Abspielen von Aufzeichnungen. Da wird der Tuner sofort freigegeben. Wenn die Aufzeichnung gestoppt wird nimmt der Tuner wieder seine Arbeit auf...

  • Uiuiui, jetzt habe ich einen kapitalen Fehler eingebaut. Bei Sectionfeeds wurden nur noch Filler-Pakete empfangen.

    Zudem bekam ich die Rückmeldung das angeschnittene PES-Streams "pesdemux: bad pes packet" ergeben.


    Wer also EPG möchte bitte aktualisieren :whistling:

  • Ich hole das Thema noch einmal hervor und kann bestätigen, dass der vtuner auch mit der FRITZ!Box 6490 Cable als Server funktioniert.

    Die öffentlichen in HD funktionieren einwandfrei. Schalte ich allerdings auf einen privaten in SD, bleibt das Bild schwarz. Das EPG wird sofort aktualisiert und die Programminformation angezeigt. ;)


    satip ist mit -m 2 -l 4 gestartet und das log angehängt. Woran könnte es liegen?

  • Hab das heute mal extra eingerichtet mit zwei Tunern - wobei die Fritte ohne SAT>IP-Zertifizierung natürlich gleich mal den Frontend-Parameter genüßlich ignoriert (-f)

    Code
    /usr/sbin/modprobe vtunerc devices=2 
    /usr/local/bin/satip -s fritz.box -d /dev/vtunerc0 -D DVBC -m 2 -l 4 -f 4 -r 45000 2> /tmp/satip0.log &
    /usr/local/bin/satip -s fritz.box -d /dev/vtunerc1 -D DVBC -m 2 -l 4 -f 3 -r 45002 2> /tmp/satip1.log &

    Umschalten auf ZDF ohne HD ergibt (mit framebuffer-xineliboutput) ein Bild:

    Code
    Apr 11 16:04:35 vdr2 vdr: [3185] switching to channel 200 C-1-1079-28006 (ZDF)
    Apr 11 16:04:35 vdr2 vdr: [3249] device 2 receiver thread started (pid=3161, tid=3249, prio=high)
    Apr 11 16:04:35 vdr2 vdr: [3250] device 2 TS buffer thread started (pid=3161, tid=3250, prio=high)
    Apr 11 16:04:35 vdr2 vdr: [3161] [xine..put] cXinelibOsd::CanHandleAreas(): Device does not support ARGB
    Apr 11 16:04:35 vdr2 vdr: [3249] [xine..put] Detected video size 720x576

    Dabei wird das in vtunerc1 ausgegeben:


    Gleichzeitig habe ich auf dem anderen Tuner eine Aufnahme auf SR-Fernsehen SD gestartet.


    Das sieht dann so in der Fritzbox aus:

  • Vielen Dank, dass du es mit deiner Fritte nachgestellt hast. ZDF als Beispiel hat mich auf die richtige Fährte gebracht. ZDF in SD war nämlich nicht mehr in der channels.conf und ich habe es ergänzt. Damit hat es mit vtumer auf Anhieb funktioniert.


    Dann habe ich eine Aktualisierung der channels.conf angestoßen und siehe da, auch die Privaten funktionierten. :wand


    Ich habe mehrere Privatsender getestet und bei keinem hat es funktioniert. Wie soll ich dann darauf kommen, dass auf meinem Testrechner die Aktualisierung nicht mehr aktiviert ist. :whistling:

Jetzt mitmachen!

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