[solved]Graphtft an einer FF. Geht auch mit ctVDR/Sarge

  • Hi,


    Zitat

    Original von helau
    Moin,


    Wer ruft mich denn da :)


    Danke! Wußte doch, dass auf dich Verlaß ist ;)


    Zitat

    Mit dem Graphtft hab ich eigentlich gar nichts am Hut (mangels passender HW) aber einer meiner User meckert immer fuerchterlich wenns mal wieder nicht geht ;)


    Genau diese Antwort hatte ich leider befürchtet ;(


    Zitat

    Frage 1: Klappts denn wirklich OutOfTheBox mit Gen2VDR ueber die DVB Karte ? Steht denn nicht der default in der /etc/conf.d/vdr.graphtft auf /dev/fb0 so dass zumindest deis angepasst werden muss ?!


    Hast natürlich recht, das habe ich anpassen müßen (steht auch ganz lapidar in dem anderen Wust ein paar Posts weiter oben)


    Zitat

    Die Hauptfalle fuer die DVB Ausgabe duerfte die imlib sein:


    Welche Version der Imlib hat denn die ct distri im Einsatz ?


    Bin gerade nicht @home, hoffe, dass kann jemand anders schon mal beantworten. Allerdings hatte ich da schon mal eine andere handkompiliert. Ich weiß natürlich nicht, ob die nicht den Fehler genauso produziert, war halt die aktuelle von Sourceforge. Aber ich "fürchte" mal, da wird Gentoo auch nicht hinterherhinken...


    Gruß,
    Holger

  • Zitat

    Original von HolgerR
    Hast du auch den Speicherzugriffsfehler bei manuellem Aufruf? Siehe hier


    bei den einzelnen Optionen erhalte ich das hier (klick),


    manuell:
    [12:42:04] [root@mediaserver:~] #> vdrdevel -P'graphtft -d vdr/1'
    vdr: graphtft - arg: vdr/1
    [mpeg1video @ 0x40625f90]only YUV420 is supported



    Bei mir (c't Tobi, 2.4.27er Kernel):
    ii libimlib2 1.2.1-2


    Ich hab mal um konfigurieren zu koennen musste ich das dev-Paket nachinstallieren:
    apt-get install libimlib2-dev


    Aber auch nach dem Kniff bleibt alles gleich:


    #> imlib2-config --libs
    -L/usr/lib -lImlib2 -lfreetype -lz -L/usr/X11R6/lib -lX11 -lXext -ldl -lm



    #> vdrdevel -P'graphtft -d vdr/1'
    vdr: graphtft - arg: vdr/1
    [mpeg1video @ 0x40625f90]only YUV420 is supported


    Hannes


    robbitobbi://Scenic xB @ 866MHz/~Nexus2.1 - Budget TT 1.0 (Empfangs-VDR)
    fliewatueuet://ScenicxB @ 800MHz/~i810fb-xinelibout (Client)

  • Zitat

    Original von helau
    Welche Version der Imlib hat denn die ct distri im Einsatz ?


  • Zitat

    Original von helau
    Moin,


    Gen2DVR hat die 1.1.2 drinne. Durchaus denkbar dass die 1.2.0 zu neu fuers graphtft plugin ist ...


    Na... das ist doch wenigstens mal ein Strohhalm!


    Wird heute abend getestet (evtl. ist hier schon jemand schneller, dann hätte ich ja vielleicht mehr Gründe, mich auf den Feierabend zu freuen ;) )


    Gruß,
    Holger

  • Hallo,


    Zitat

    Original von HolgerR
    Und?? Bei euch einer vorran gekommen? Ich mache hier mittlerweile schon die kuriosesten Kompilierverrenkungen, aber bisher war's das noch nicht ;(


    Gruß,
    Holger


    Kann leider kein Erfolg vermelden. Bin extra zur libimlib2-1.1.2 zurückgegangen. Graphtft kompiliert ohne jegliche Fehlermeldung, nur funktionieren will das Plugin einfach nicht. Was für eine Version von ffmpeg hat Gentoo?


    Hat das Plugin jemand unter LinVDR laufen? Weiß einer wo der Programmierer des Plugins ist?


    MfG
    wino

    MSI H55M-E33 |Intel Core i3 530| 4 GB RAM | TT DVB-S2 6400 | Ubuntu 12.04 | Kernel-3.5.0-28 | VDR-2.2.0 | v4l-dvb| eigene Distri.
    ProLaint: Ubuntu Server 12.04.5 auf HP ProLiant ML330 G6, Xeon E5506 2.13-GHz, 16GB ECC DDR3, Digital Devices MaxS8, Samsung 840 EVO 120GB, 4x WD Red WD30EFRX 3TB in HP P410 Raid6, Zotac GT730 1GB

  • Jo, die imlib2's habe ich jetzt wohl durch ;) ffmepg war von Anfang an mein "heißester" Kandidat. Aber irgendwie hat sich das auch nicht bewahrheitet. Abgesehen von der Version in Gen2VDR sollte es mit der Version 0.4.8 auf jeden Fall klappen. Aber irgendwie bekomme ich die nicht mal ordentlich installiert, wie es aussieht.


    Das Plugin ist leider völlig verwaist, der Entwickler hat sich wohl komplett zurückgezogen; schon beinahe ein Wunder, dass es überhaupt noch funktioniert (man bedenke: am Framebuffer einer Grafikkarte funktioniert es ja auch unter Debian Sarge)


    Gruß,
    Holger

  • Aber da wir gerade dabei sind:


    Aus dem ffmpeg-Paket wird glaube ich eh' nur die libavcodec verwendet. Könnte der "Debian Sarge-Unterschied" in dieser Aussage begründet sein??


    -> Link


    Zitat:


    Zitat


    GraphTFT verwendet die libavcodec-library vom Marillat-Server gar nicht. Wir übersetzen inzwischen alle Plugins, die ffmpeg brauchen, mit dem Paket libavcodec-dev aus dem offiziellen Debian-Archiv (aktuelle Version auf e-tobi / vdr-experimental). Die Library wird dabei statisch gelinkt. Wenn du "ldd /usr/lib/vdrdevel/plugins/libvdr-graphtft.so.1.3.40" aufrufst, siehst du auch, dass keine dynamische libavcodec-Library verwendet wird.


    Tom


    Könnte mir ein "Wissender" mal sagen, was das heißt, und wie/wo ich das testweise ändern könnte?


    Gruß,
    Holger

  • So... ist gelöst. Geht jetzt. War eigentlich schon wieder sooo naheliegend, dass man selber darauf hätte kommen können. Die Hinweise waren alle schon da. Man mußte sie nur ernstnehmen und auch umsetzen.


    Warum braucht es einen Voll-Noob wie mich, um in den Patchen rumzuwühlen?? Neeneee, denkt bloß nicht, dass ich euch verrate, wie es geht ;)


    Gruß,
    Holger


    PS: Oder soll ich doch?

  • Zitat

    Original von wilderigel
    Wenn du ne Lösung hast, warum willst die verschweigen?
    Werd ich dann in Zukunft auch so machen ... ;(


    Mein Graphtft läuft ja über Framebuffer, von daher egal.


    Maaaannnnn.... hab' doch mal ein büschen Humor. Soo gut wirst du mich nicht kennen, aber traust du mir *ernsthaft* sowas zu??? Wirklich?


    War doch nur ein "Teaser"


    Also:
    Die Lösung ist "natürlich" ffmpeg. Das Plugin tut's einfach nicht mit den verwendeten Versionen. Man besorgt sich daher die Version 0.4.8, gibt die im Makefile an, *deaktiviert* die Passage in Tobis Patch zu ffmpeg (02), was diese Änderung wieder zunichte machen würde, baut das Plugin neu, installiert es und schon läuft die Sache.


    Wenn du jetzt nicht mehr böse auch mich bist, kannst du mir bitte mal verraten, wie ich einen Patch erfolgreich *ändere*. Ich habe jetzt Tobis ganzen Patch dazu schlicht deaktiviert, weil dpkg-buildpackage sonst gemeckert hat, kann aber in keinster Weise beurteilen, was der obere Part macht (Noob halt)


    Gruß,
    Holger

  • Zitat

    Original von HolgerR
    Maaaannnnn.... hab' doch mal ein büschen Humor. Soo gut wirst du mich nicht kennen, aber traust du mir *ernsthaft* sowas zu??? Wirklich?


    Man kann ja nie wissen. :rolleyes:


    Zitat

    Original von HolgerR
    Also:
    Die Lösung ist "natürlich" ffmpeg. Das Plugin tut's einfach nicht mit den verwendeten Versionen. Man besorgt sich daher die Version 0.4.8, gibt die im Makefile an, *deaktiviert* die Passage in Tobis Patch zu ffmpeg (02), was diese Änderung wieder zunichte machen würde, baut das Plugin neu, installiert es und schon läuft die Sache.


    Von wo bekommt man den ffmpg 0.4.8?
    Gibts da ein Debian Paket oder hast einfach sourcen gesaugt?


    Zitat

    Original von HolgerR
    Wenn du jetzt nicht mehr böse auch mich bist, kannst du mir bitte mal verraten, wie ich einen Patch erfolgreich *ändere*. Ich habe jetzt Tobis ganzen Patch dazu schlicht deaktiviert, weil dpkg-buildpackage sonst gemeckert hat, kann aber in keinster Weise beurteilen, was der obere Part macht (Noob halt)


    Wenn du den Patch nicht brauchst, dann über die 00list deaktivieren, wie du eh gemacht hast.


    Die Dpatch Datei ändern ist etwas schwieriger, normal nimmst eine original Datei, machst ne kopie davon, änderst die und machst mit diff einen neuen Patch.
    Diesen kannst dann den oberen dpatch Teil hinzufügen, und in die Datei 00list einbinden.

  • Zitat

    Original von wilderigel
    Man kann ja nie wissen. :rolleyes:


    Neeee..... nich mit Commmaaander ;)

    Zitat

    Von wo bekommt man den ffmpg 0.4.8?
    Gibts da ein Debian Paket oder hast einfach sourcen gesaugt?


    Von hier


    Zitat

    Wenn du den Patch nicht brauchst, dann über die 00list deaktivieren, wie du eh gemacht hast.


    Die Dpatch Datei ändern ist etwas schwieriger, normal nimmst eine original Datei, machst ne kopie davon, änderst die und machst mit diff einen neuen Patch.
    Diesen kannst dann den oberen dpatch Teil hinzufügen, und in die Datei 00list einbinden.


    Ich kann's leider nicht beurteilen, der obere Teil ist für mich zu kryptisch ;(


    Kann ich das vernachlässigen?



    Gruß,
    Holger

  • Der Teil ist für dpatch, der Rest ist von diff:

    Code
    #! /bin/sh /usr/share/dpatch/dpatch-run
    ## 02_ffmpeg.dpatch by Tobias Grimm <tg@e-tobi.net>
    ##
    ## All lines beginning with `## DP:' are a description of the patch.
    ## DP: Use official Debiam ffmpeg package.
    
    
    @DPATCH@


    Wie ein diff aufgebaut ist, bzw was das ist erfährst du sicher irgendwo im Netz, ev auch mit man diff.
    Ich weiss zwar ungefähr was das ist, wie man es erstellt und wie man es wieder anwendet, aber erklären kann ich dirs leider nicht.

  • Danke... aber je mehr ich auf den Code starre, desto mehr bin ich der Meinung, dass es nur eine Anweisung ist, für das, was nachher gepacht wird.


    Hier noch mal der gesamte Patch, vielleicht möchte ja sonst noch jemand seinen Senf dazugeben, im Zweifelsfall Tobi selbst (nach seinem Urlaub) ; wenn ich das ganze nicht zwingend brauche, lasse ich es zukünftig eben einfach weg ;)



    Gruß,
    Holger

  • Grob gesagt, alles mit - davor wird gelöscht:
    -INCLUDES += -I$(FFMDIR)/libavcodec
    -LIBS += -L$(FFMDIR)/libavcodec -lavcodec


    Und alles mit + davor eingefügt:
    +INCLUDES += `ffmpeg-config --cflags`
    +LIBS += `ffmpeg-config --plugin-libs avcodec`


    Der Rest sagt nur in welcher Datei, an welcher Position, und die Nachbarszeilen.


    Gehört vermutlich dazu, dass ffmpeg fix einkompiliert wird.

  • Fein! Genauso hatte ich es mir auch zusammengereimt; bzw. das mit dem "+" und "-" hatte ich schon irgendwie begriffen; daher kam ich ja darauf, das Ding mal wegzulassen.


    Danke, daß du mir das nochmal erklärt/bestätigt hast. Damit gilt das ganze für mich vorerst als gelöst :D


    Übrigens, falls hier noch jemand mitlesen sollte, und es nicht ganz klar sein sollte: Die ffmpeg 0.4.8 braucht man nicht zu kompilieren. Einfach nur die Sourcen ziehen und im Makefile vom Graphtft den richtigen Pfad zu diesen angeben. Patch weglassen, der die Verwendung unterbindet. Fertig. Im Endeffekt also tatsächlich wohl eine ziemlich einfache Lösung.


    Gruß,
    Holger

Jetzt mitmachen!

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