Video Treiber für Odroid-N2+ (softhdodroid)

  • jojo61: Es gibt da noch einen Bug bei der 4:3-Umschaltung. Einige wenige Sender wie RTL Nitro oder RTL up strahlen ja noch alte Sendungen in diesem Format aus. Die formatrichtige Umschaltung klappt beim ersten mal (mit kleiner Verzögerung), danach aber bei erneuter Anwahl des Senders nicht mehr. Zumindest nicht, wenn das sehr rasch geschieht - also Wiedergabe einer Aufnahme stoppen und sofort wieder starten, oder Channel vor- zurück. Wen man ein paar Sekunden wartet, scheint es zu klappen. Ich habe mal eine 23MB große Aufnahme hochgeladen, die man zum Testen verwenden kann. Ich blicke leider nicht durch, wie die Umschaltung der aspect ratio im Plugin funktioniert.

    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

  • Danke, das funzt!

    :thumbup:

    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

  • auf die Gefahr hin das ich hier etwas überlesen habe, hat schon jemand den VDR in der chroot als nicht root User zum laufen bekommen, also mit --user=vdr?


    Hier hat das Ansatzweise geklappt nachdem ich den vdr User weiteren Gruppen hinzugefügt und die rechte der /dev/am* Devices angepasst habe. Nur ein Bild hatte ich nicht nur in Fragmenten.

    Hintergrund der Frage ... das würde es einfacher machen die Rechte der Files im zentralen NFS Aufnahme Ordner zu erhalten.

    Einmal editiert, zuletzt von horchi ()

  • Moin jojo61 ,

    beim Starten von vdr mit dem Plugin auf der Konsole fiel mir auf, dass immer erstmal The codec is not open. amlSetVideoAxis geloggt wird. Ich konnte das soweit debuggen, dass es beim Aufruf dieser Funktion innerhalb von VideoSetOutputPosition kommt. Vielleicht kannst Du da gelegentlich mal einen Blick drauf werfen.

    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

  • Wahrscheinlich hast Du auch schon bemerkt, dass sporadisch bei einem Kanalwechsel das Bild nicht schwarz wird, so als würde amlSetInt("/sys/class/video/disable_video", 1); nicht verarbeitet. Um das zu debuggen, habe ich den Code von amlSetInt etwas erweitert:



    Das bringt hinsichtlich disable_video zwar keine Erkenntnisse (es wird kein Fehler geloggt, aber dennoch nicht schwarz). Aber man sieht nun einen anderen Fehler in VideoInit:


    Code
    amlSetInt: could not open device for writing 1920 to /sys/class/graphics/fb0/scale_width!
    amlSetInt: could not open device for writing 1080 to /sys/class/graphics/fb0/scale_height!

    Es scheint, als wenn diese Pfade gar kein Schreibrecht haben:

    Code
    -r--r--r-- 1 root root 4096 Apr  2 12:26 scale_height
    -r--r--r-- 1 root root 4096 Apr  2 12:26 scale_width


    Nachdem ich die Schreibrechte gesetzt habe:

    Code
    chmod 0664 /sys/class/graphics/fb0/scale_width
    chmod 0664 /sys/class/graphics/fb0/scale_height

    wird nun ein anderer Fehler zurückgemeldet:

    Code
    amlSetInt: error writing 1920 to /sys/class/graphics/fb0/scale_width!
    amlSetInt: error writing 1080 to /sys/class/graphics/fb0/scale_height!

    Ich vermute es liegt daran, dass die Einträge bei einer Abfrage auch keinen Wert, sondern offenbar einen String zurückliefern.:


    CoreELEC:/sys/class/graphics/fb0 # cat scale_height

    free_scale_height:1080

    CoreELEC:/sys/class/graphics/fb0 # cat scale_width

    free_scale_width:1920


    Weiter bin ich noch nicht, vielleicht fällt Dir ja was ein...

    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

  • Das setzen der scale Parameter ging mal. Das wurde wohl in einer neueren Version des Kernels geändert und wird nun nicht mehr gebraucht.

    Da es aber nicht schadet und auch nur beim Start einmalig aufgerufen wird, lasse ich es erstmal drin. Damit auch bei älteren Kernels alles klappt.

    Im Prinzip wurde es nur gbraucht bei Auflösungen kleiner 1920x1080. Damit dann das OSD runterscaliert wird.

  • Hast Du Dir auch das Problem The codec is not open. amlSetVideoAxis (siehe #586) mal angesehen?

    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

  • Ja. Leider kommt das SetOutputPosition bevor der Stream geöffnet wird. Das ist auch ok so weil ich das nach dem öffnen nochmal setze. Nur beim PIP wird es dort auch gebraucht. Insofern ist da alles ok und ich sollte den debug print rausnehmen.

  • jojo61 ich hätte jetzt einen Schnipsel von einer Minute bei dem das Bild häufig an der selben Stelle stehen bleibt während der Ton weiterläuft und wollte es dir auf deinen Bommel Speicher hochladen, leider scheint das Ding offline:


    Code
    Internal Server Error
    
    The server encountered an internal error and was unable to complete your request.
    Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
    More details can be found in the server log.

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Danke, habs dir hochgeladen.


    Es tritt relativ häufig wenn auch nicht immer auf - ich vermute schon einen Mini Fehler in der Aufnahme, allerdings sollte der das Frontend nicht so aus dem Tritt bringen: tut es ja bei softhdvaapi/softhdrm/sfthdcuvid auch nicht - die zeigen sich gänzlich unbeeindruckt so das man es nicht erkennen kann

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • noch ein Hinweis: Laut Hilfetext soll es die Option -m geben:


    aber bei

    Code
    [softhdodroid]
    -a hw:CARD=AMLAUGESOUND,DEV=0 -m

    kommt

    Code
    Apr 14 13:25:57 CoreELEC vdr[4151]: [4151] loading plugin: /usr/local/lib/vdr/libvdr-softhdodroid.so.2.6.3
    Apr 14 13:25:57 CoreELEC vdr.sh[4151]: softhdodroid: invalid option -- 'm'
    Apr 14 13:25:57 CoreELEC vdr.sh[4151]: Unknown option 'm'
    Apr 14 13:25:57 CoreELEC vdr[4151]: [4151] deleting plugin: softhdodroid

    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

  • Danke, habs dir hochgeladen.


    Es tritt relativ häufig wenn auch nicht immer auf - ich vermute schon einen Mini Fehler in der Aufnahme, allerdings sollte der das Frontend nicht so aus dem Tritt bringen: tut es ja bei softhdvaapi/softhdrm/sfthdcuvid auch nicht - die zeigen sich gänzlich unbeeindruckt so das man es nicht erkennen kann

    Das ist ein PTS warp. Leider verarbeitet der Kernel Treiber nur 32 Bit PTS und wenn der überläuft dann bleibt das video stehen. Dann geht es nur noch mit einem reset weiter. Ich habe das nun mal eingebaut aber da der reset die Buffer löscht, ruckelt es dennoch etwas.

  • jojo61 Mit dem letzten Commit aus deinem Github habe ich das Problem, dass z.B. bei Discovery HD das Bild alle paar Minuten für eine kurze Zeit stehen bleibt und dann weiterläuft. Der Ton ist dabei OK. Ich werde den Commit bei mir wieder entfernen...

Jetzt mitmachen!

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