Noch einmal: ttxtsubs Plugin

  • Hallo,


    ich weiß, das Thema gibt es schon, ist aber seit 2018 nicht mehr aktuell.

    Code
    https://www.vdr-portal.de/forum/index.php?thread/132017-videotextuntertitel-f%C3%BCr-vdr-2-4-0/&pageNo=1

    Jetzt habe ich versucht, für den VDR 2.4.6 das ttxtsubs-Plugin zu kompilieren. Das ergibt aber nur folgenden Fehler:




    Den "vdr-2.4.0-ttxtsubs.patch" in der Version von 2016 habe ich angewendet. Das Kompilieren des VDR 2.4.6 hat sonst auch gut funktioniert. Liegt es vielleicht daran , dass ich den Patch "vdr-2.4.0-tpid.patch" nicht habe? der Link nach Finnland "http://www.saunalahti.fi/~rahrenbe/" funktioniert nicht mehr. Wo kann ich den noch bekommen? Danke für Eure Hilfe. G.Bruno

    Hardware:
    Desktop: Intel Core i5, 4x3,2 GHz, ASUS-Mainboard HL 97 plus, Festplatte Hybrid-S-ATA 2TB, 16 GB RAM, DVB-Sky-USB-Stick (DVB-T2), LG-4120B Brenner, VDR 2.4.8 (selbst kompiiiert, Ubuntu 20.04.2),
    Wohnzimmer: ASUS-Mainboard F2A85-V Pro, AMD A10 (?), 1TB-HD, 8 GB Speicher, Technotrend 4100 Budget (DVB-S), Prozessor-Grafik HD7660D, VDR 2.4.1 von XUbuntu 20.04.2).

    Edited once, last by GBruno ().

  • Für mich sieht das so aus, also ob du vergessen hat den Patch vdr-plugin-ttxtsubs-vdr-2.4.0.diff auf das ttxtsubs-Plugin anzuwenden.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hier noch eine aktualisierte Version des Patches für den VDR, der das Problem mit dem Encoding in den po-Dateien vermeidet: vdr-2.4.0-ttxtsubs.patch

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • ttxtsubslivereceiver.h:35:22: error: by 'virtual void cTtxtSubsLiveReceiver::Receive(uchar*, int)' [-Werror=overloaded-virtual]
    35 | virtual void Receive(uchar *Data, int Length);
    | ^~~~~~~

    Mach mal ein 'const' vor 'uchar', also


    virtual void Receive(const uchar *Data, int Length);

    Statt 'Channels.' muss es jetzt so aussehen:

    Code
    LOCK_CHANNELS_READ;
    ...
    ...Channels->...

    Wurde beides in VDR 2.3.1. geändert.

  • Hallo,


    ich habe den Tip von oben befolgt; der Fehler tritt nicht mehr auf. Allerdings jetzt VDR-2.6.1.

    Auch die Patches vdr-2.2.0-ttxtsubs.patch und vdr-2.4.0-ttxtsubs.patch habe ich angewandt. Eine vdr-2.6.0-ttxtsubs.patch habe ich nicht. Jetzt aber ein neuer Fehler:


    Ich bin gar nicht bewandert in C und kann mir nicht helfen. Weiß jemand eine Lösung? Die aktuelle "remux.h" und remux.h.rej nach Patchversuch hänge ich hier an (mit Endung .txt., sonst geht es nicht.

    Danke GBruno

  • Welche Version von g++ hast du denn?

    g++ -v


    Den reject muss ich mir noch ansehen, ich habe nur inkl. VDR 2.4.7 mit dem Patch gespielt.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo,


    hier die Ausgabe von g++ -v:


    Code
    elmut@Tower-I5:~$ g++ -v
    Using built-in specs.
    COLLECT_GCC=g++
    COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
    OFFLOAD_TARGET_NAMES=nvptx-none:hsa
    OFFLOAD_TARGET_DEFAULT=1
    Target: x86_64-linux-gnu
    Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
    Thread model: posix
    gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)

    Hast Du mal versucht, das Plugin auch auf Deinem PC zu kompilieren? Ob das klappt?


    Grüße GBruno

    Hardware:
    Desktop: Intel Core i5, 4x3,2 GHz, ASUS-Mainboard HL 97 plus, Festplatte Hybrid-S-ATA 2TB, 16 GB RAM, DVB-Sky-USB-Stick (DVB-T2), LG-4120B Brenner, VDR 2.4.8 (selbst kompiiiert, Ubuntu 20.04.2),
    Wohnzimmer: ASUS-Mainboard F2A85-V Pro, AMD A10 (?), 1TB-HD, 8 GB Speicher, Technotrend 4100 Budget (DVB-S), Prozessor-Grafik HD7660D, VDR 2.4.1 von XUbuntu 20.04.2).

  • Ich habe gerade folgendes gemacht, um das mit dem VDR 2.6.1 auszuprobieren:

    Das Plugin baut in einer Ubuntu 20.04 VM ohne Fehlermeldungen mit einer Warnung (ich habe noch nicht nachgesehen, ob die berechtigt ist):

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    Edited 2 times, last by seahawk1986 ().

  • Vielen Dank. Werde noch heute ausprobieren.


    Mir fällt auf, das mit "g++" kompiliert wird, bei mir aber mit "cc". Macht das einen Unterschied? Wenn ja, wie kann ich das ändern?


    Grüße GBruno

    Hardware:
    Desktop: Intel Core i5, 4x3,2 GHz, ASUS-Mainboard HL 97 plus, Festplatte Hybrid-S-ATA 2TB, 16 GB RAM, DVB-Sky-USB-Stick (DVB-T2), LG-4120B Brenner, VDR 2.4.8 (selbst kompiiiert, Ubuntu 20.04.2),
    Wohnzimmer: ASUS-Mainboard F2A85-V Pro, AMD A10 (?), 1TB-HD, 8 GB Speicher, Technotrend 4100 Budget (DVB-S), Prozessor-Grafik HD7660D, VDR 2.4.1 von XUbuntu 20.04.2).

  • Sicher, dass das nicht CC statt cc ist (siehe http://git.tvdr.de/?p=vdr.git;…e86ab474315e;hb=HEAD#l395)?

    Standardmäßig zeigt der VDR nur verkürzte Meldungen, wobei CC für einen Kompilierschritt steht, LD fürs Linken usw. Wenn du make zusätzlich mit VERBOSE=1 aufrufst, siehst du die tatsächlich aufgerufenen Befehle.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo,


    ich habe das meiste nach Deiner Anleitung gemacht. Einige Dateien fehlten wie ttxtsubs patch version 2, vdrttxtsubshooks.h und vdrttxtsubshooks.c, aus andere Versionen vdr-2.4.6 genommen. Jetzt wieder jede Menge Fehler:

    Was kann ich tun?

    Hardware:
    Desktop: Intel Core i5, 4x3,2 GHz, ASUS-Mainboard HL 97 plus, Festplatte Hybrid-S-ATA 2TB, 16 GB RAM, DVB-Sky-USB-Stick (DVB-T2), LG-4120B Brenner, VDR 2.4.8 (selbst kompiiiert, Ubuntu 20.04.2),
    Wohnzimmer: ASUS-Mainboard F2A85-V Pro, AMD A10 (?), 1TB-HD, 8 GB Speicher, Technotrend 4100 Budget (DVB-S), Prozessor-Grafik HD7660D, VDR 2.4.1 von XUbuntu 20.04.2).

  • Warum hüpfst du ständig zwischen den Versionen? Spricht etwas dagegen es mal mit den Quellpaketen von yaVDR als Basis für deine Experimente zu versuchen? Dann würden die Patches wenigstens ohne rejects passen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo,


    ich habe alles genau nach Deiner Anleitung gemacht. Einige Dateien fehlten wie ttxtsubs patch version 2, und vdr/vdrttxtsubshooks.h, die ich gestern aus andere Versionen vdr-2.4.6 genommen hatte, jetzt aber nicht. Jetzt wieder Fehler:

    Was ist mit

    Code
    "This version of ttxtsubs requires the ttxtsubs patch version 2 to be applied to VDR!!"

    gemeint? Ich habe bzw. finde nur den "vdr-2.2.0-ttxtsubs.patch", der nicht geht. Und warum '/home/helmut/_install/vdr/vdr-2.6.1/PLUGINS/src/ttxtsubs/po/*.mo' nicht da ist, verstehe ich nicht. Müsste doch in den Plugin-Daten enthalten sein. Dafür habe ich die Fehler nicht, die bei Dir erscheinen.


    Die Datei vdrttxtsubshooks.h finde ich nur in der Version vdr-2.4.6. Habe ich probiert, funktioniert nicht. Ansonsten bin ich genau bei vdr-2.6.1 geblieben, so wie Du beschrieben hast.


    Kann es sein, dass Du ein anderes Ubuntu bzw. Linux hast? Oder weil Du in einer virtuellen Maschine arbeitest?


    Übrigens kann ich mit der Zeile:

    Ich habe gestern in der Make.config

    Code
    ## The C compiler and options:
    
    CC       = gcc
    CFLAGS   = -g -O3 -Wall
    ...

    den "CC = gcc" auf "g++" geändert, dann gab es andere Fehler, u. a. fehlende Dateien. Aber es wurde wie bei Dir beim Kompielieren "g++" angezeigt.



    Könntest Du mir noch einmal helfen? Danke. Grüße GBruno


    Hardware:
    Desktop: Intel Core i5, 4x3,2 GHz, ASUS-Mainboard HL 97 plus, Festplatte Hybrid-S-ATA 2TB, 16 GB RAM, DVB-Sky-USB-Stick (DVB-T2), LG-4120B Brenner, VDR 2.4.8 (selbst kompiiiert, Ubuntu 20.04.2),
    Wohnzimmer: ASUS-Mainboard F2A85-V Pro, AMD A10 (?), 1TB-HD, 8 GB Speicher, Technotrend 4100 Budget (DVB-S), Prozessor-Grafik HD7660D, VDR 2.4.1 von XUbuntu 20.04.2).

  • Hallo,


    gibt es etwas Neues? Wenn nicht, könntest Du mir die fertige Datei libvdr-ttxtsubs.2.6.1.so zukommen lassen (als Dateianhang)? Oder hast Du sogar ein Paket gebaut?

    Das wäre sehr nett.

    MfG GBruno

    Hardware:
    Desktop: Intel Core i5, 4x3,2 GHz, ASUS-Mainboard HL 97 plus, Festplatte Hybrid-S-ATA 2TB, 16 GB RAM, DVB-Sky-USB-Stick (DVB-T2), LG-4120B Brenner, VDR 2.4.8 (selbst kompiiiert, Ubuntu 20.04.2),
    Wohnzimmer: ASUS-Mainboard F2A85-V Pro, AMD A10 (?), 1TB-HD, 8 GB Speicher, Technotrend 4100 Budget (DVB-S), Prozessor-Grafik HD7660D, VDR 2.4.1 von XUbuntu 20.04.2).

  • Übrigens kann ich mit der Zeile:

    Was kannst du mit der Zeile? Es geht lediglich darum quilt für debian-Pakete zu konfigurieren, also eine ~/.quiltrc mit diesem Inhalt anzulegen:

    Code: ~/.quiltrc
    d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done
    if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then
            # if in Debian packaging tree with unset $QUILT_PATCHES
            QUILT_PATCHES="debian/patches"
    
            if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi
    fi

    Kann es sein, dass Du ein anderes Ubuntu bzw. Linux hast? Oder weil Du in einer virtuellen Maschine arbeitest?

    Ich habe das auf einer Ubuntu 20.04 Installation gemacht - dass das in einer VM läuft, hat keinen Effekt darauf, wie der Compiler funktioniert.

    Wenn nicht, könntest Du mir die fertige Datei libvdr-ttxtsubs.2.6.1.so zukommen lassen (als Dateianhang)?

    Dafür bräuchtest du einen passend gepatchten VDR, der genau auf dem selben Stand wie der ist, mit dem ich das Plugin gebaut habe - und daran scheint es ja schon zu scheitern, sonst müsste meine obige Anleitung funktionieren.


    Oder hast Du sogar ein Paket gebaut?

    Das hat das selbe Problem, dass du einen genau dazu passenden VDR benötigst - hier wären der VDR und das Plugin, weitere Plugins kann ich bei Bedarf noch in dem PPA bauen lassen: https://launchpad.net/~seahawk…hive/ubuntu/ttxtsubs-vdr/

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo, inzwischen konnte ich das ttxtsubs-Plugin bauen. Das Problem vorher war, dass "quilt import" nicht gepatcht hat, wie ich dachte, nur die Patch-Dateien geholt. Nachdem ich dann mit "patch -p1 -i ..." gepatched habe, ging es. Dann aber wieder neue Probleme, das kommt davon, wenn man mit mehreren Versionen arbeitet. Z. B. wurde auf einmal der g++-Compiler nicht mehr gefunden. Wenn man "make" die Anweisung "CXX=g++" mitgibt, geht es dann.

    Trotzdem, es läuft immer noch nicht, Probleme mit dem Grafik-Treiber für xineliboutput. Ich mache erst einmal Pause.

    Hardware:
    Desktop: Intel Core i5, 4x3,2 GHz, ASUS-Mainboard HL 97 plus, Festplatte Hybrid-S-ATA 2TB, 16 GB RAM, DVB-Sky-USB-Stick (DVB-T2), LG-4120B Brenner, VDR 2.4.8 (selbst kompiiiert, Ubuntu 20.04.2),
    Wohnzimmer: ASUS-Mainboard F2A85-V Pro, AMD A10 (?), 1TB-HD, 8 GB Speicher, Technotrend 4100 Budget (DVB-S), Prozessor-Grafik HD7660D, VDR 2.4.1 von XUbuntu 20.04.2).

  • Probier doch einfach mal die Pakete aus dem verlinkten PPA, da ist auch ein xineliboutput dabei und mit der libxine aus ppa:yavdr/experimental-main kommst du leicht an die benötigten Dateien für die Decoder ohne dir die mühsam aus dem Wirrwarr der normalen Debian-Pakete, die dafür gebaut werden zusammensuchen zu müssen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Das Problem vorher war, dass "quilt import" nicht gepatcht hat, wie ich dachte, nur die Patch-Dateien geholt.

    Ah, entschuldige, da muss man natürlich noch quilt push aufrufen, um die importierten Patches anzuwenden - ich habe das oben ergänzt.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Danke für die Info.

    Noch eine andere Frage: ich versuche, das Plugin für den VDR-2.4.1 zu kompilieren (weil der bei mir schon läuft). Ich bekomme einen Fehler, der sich anscheinend nur auf eine Zeile in einer einzigen Datei bezieht, nämlich ttxtsubsdisplayer.c in verschiedenen Zeilen. Hier ein Auszug der Fehlermeldungen:

    Kennst Du Dich genug in C++ aus, um das zu korrigieren? Wäre toll :]

    Hardware:
    Desktop: Intel Core i5, 4x3,2 GHz, ASUS-Mainboard HL 97 plus, Festplatte Hybrid-S-ATA 2TB, 16 GB RAM, DVB-Sky-USB-Stick (DVB-T2), LG-4120B Brenner, VDR 2.4.8 (selbst kompiiiert, Ubuntu 20.04.2),
    Wohnzimmer: ASUS-Mainboard F2A85-V Pro, AMD A10 (?), 1TB-HD, 8 GB Speicher, Technotrend 4100 Budget (DVB-S), Prozessor-Grafik HD7660D, VDR 2.4.1 von XUbuntu 20.04.2).

Participate now!

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