[solved] Graphtft (svn-r30 / 0.3.2-rc2) mit neuerer ffmpeg kompilieren ?

  • ich bekomm das nicht auf die reihe:


    ffmpeg ist aus dem git von heute


    mit graphtft-0.3.2-rc2 kommt folgender fehler (--> diesen patch - ist von gda/tobi graphtft + gcc-4.4 + DEFAULTFRAMESPERSECOND habe ich angewendet, sonst stoppt es schon früher):


    Code
    g++ -g -O3 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -g -ggdb -O0 -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"graphtft"' -D__STDC_CONSTANT_MACROS -DHAVE_IMAGE_MAGICK -DHAVE_IMLIB -DWITH_SYSINFO -DWITH_TCP_COM -DWITH_TOUCH -DHAVE_DFB -DHAVE_FFMPEG -DHAVE_SWSCALE -fopenmp -I/usr/include/ImageMagick   -I/usr/local/src/dvb/linux/include -I../../../include -I/usr/local/src/dvb/linux/include -I. -I./imlibrenderer -I./imlibrenderer/fbrenderer -I./imlibrenderer/dvbrenderer -I./dfbrenderer -I./imlibrenderer/dmyrenderer `pkg-config libgtop-2.0 --cflags` `directfb-config --cflags` `pkg-config libavcodec --cflags` -o transfer.o transfer.c
    transfer.c: In constructor ‘cGraphTFTTransfer::cGraphTFTTransfer(Renderer*, const cChannel*)’:
    transfer.c:33: error: new initializer expression list treated as compound expression
    transfer.c:33: error: no matching function for call to ‘cRemux::cRemux(const int*)’
    ../../../include/vdr/remux.h:25: note: candidates are: cRemux::cRemux()
    ../../../include/vdr/remux.h:25: note:             	cRemux::cRemux(const cRemux&)
    make[1]: *** [transfer.o] Error 1
    make[1]: Leaving directory `/opt/src/vdr/vdr-1.7.23/PLUGINS/src/graphtft-0.3.2-rc2'


    mit graphtft (r30 / svn) kommt der hier:



    gcc ist "gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)" / Lucid 10.04


    das problem müßten doch mehr leute haben :wand


    ciax

    Lascala LC17 - tribute to viking ;o) + atric IR / SoC ASUS J3455M-E / OctopusNet S4 / yavdr ubuntu jammy / output: osd2web + kivy-osd2web / branch 'python3' via 6.4" TFT & sat>ip DVB-S/S2 via FullHD / NVidia GT1030 passiv

    Einmal editiert, zuletzt von ciax ()

  • Irgendwie habe ich das Gefühl mit dem Patchen ist was schief gegangen. Kontrolliere den Patch sicherhaltshalber nochmal manuell. Jedenfalls deutet das "error: ‘avcodec_init’ was not declared in this scope" im zweiten Log irgendwie darauf hin.


    Warum ffmpeg nicht aus dem ubuntu Repository? Und warum nimmst du graphtft nicht aus dem yaVDR Repository? Man sollte vermuten der baut dort ;)


    cu

  • hmm, soviel zu patchen ist da ja nicht: vdr-1.7.23 + graphtft (aus dem svn + dessen patch für vdr "vdr-1.7.14-plain-graphtft.diff"). ffmpeg brauche ich in einer neuen version, da ich auch mal in den genuß kommen wollte, softhddevice auszuprobieren - ffmpeg aus lucid 10.04 ist dafür schon zu alt. deshalb auch der ganze aufwand ..


    ich seh es mir nochmal an. falls jemanden doch noch was dazu einfällt - freu mich über jeden noch so "absurden" hinweis ;)


    ciax

  • Hi ciax,


    [...]falls jemanden doch noch was dazu einfällt - freu mich über jeden noch so "absurden" hinweis ;)


    nicht unbedingt absurd.....warum nimmst du nicht das RundumSorglos-Paket von helau? Damit hatte ich hier keine Probleme mit graphtft. Debian/Sid mit gcc version 4.6.2 (Debian 4.6.2-14) und aktuellem ffmpeg (git)


    Gruß
    Tomas

  • hallo tomas,


    danke für deinen hinweis!! ich steh immer noch mit diesem problem an. welches sorglospaket meinst du? helau's ext-patch: Gen2VDR extension Patch


    ich sollte schon lange von ubuntu weg - das geht jetzt im moment leider zeitl. gar nicht ...


    danke & gruß,
    ciax

  • den hier hast du schon ?




    mehr ist im yavdr paket nicht drin.

  • Hi ciax,

    [...]welches sorglospaket meinst du? helau's ext-patch[...]


    ja diesen ext mit den plugin-sourcen aus diesem thread


    ich sollte schon lange von ubuntu weg - das geht jetzt im moment leider zeitl. gar nicht ...


    Ich denke, dass das auch unter ubuntu laufen sollte. Kannst ja aber erst mal hoplos patch nehmen, bevor du mit ganz neuen Sourcen anfängst.


    Gruß
    Tomas

  • hallo hoplo!

    den hier hast du schon ?

    so sauber hatte ich keinen patch gesehen! außerdem - du bist wieder mal mein held ;) - noch ein " CXXFLAGS += -O2 -fPIC -Wextra -pedantic " zusätzlich ins Makefile des graphtft und er hat es (wenn auch mit vielen vielen warnings) kompiliert! DANKE!! :tup


    tomas: auch für deine hinweise und den tipp mit helau's "sorglospaket"/plugin-sourcen vielen dank!! jetzt bin ich schon mal weiter und habe wieder etwas "zu knabbern". das probiere ich auch noch aus ..


    wenn ich wieder anstehe, darf ich mich zurück melden.


    super!


    ciax

  • sodala,


    das thema ist dank hoplo und tomas nun auch gelöst. der vollständigkeit halber schließe ich mal ab hier ...


    einen hinweis (für mich später eventuell): ich mußte den nvidia-treiber (vorsichtshalber auch libvdpau) nach der ganzen kompiliererei immer neu installieren (--> einmal zeigte xine-ui nichts an, einmal zeigte graphtft-fe nichts an, obwohl in ps/htop die prozesse am leben waren).


    ciax

  • Ich hole den alten Thread wieder hoch,


    habe gerade die aktuelle ffpmeg installiert ( mit ./configure --enable-pic --disable-static --enable-shared )
    sonst baut z.b softhddevice nicht mehr.


    Leider baut Graphtft nicht mehr, genau dieser Fehler wie in diesem Thread beschrieben.
    avcodec_init ist in der aktuellen avcodec.h nicht mehr drin :rolleyes:


    Dazu habe ich das Hier gefunden.
    ist die Funktion in einen andere ffmpeg Header Datei gewandert ?


    Ich will ffpeg nicht downgraden wegen Graphtft, denn softhddevice läuft damit sehr gut (0 Frames missed auch nach Stunden Laufzeit bei 1080i)

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

  • Meine Lösung (softdevice (ohne hd) braucht ne spezielle ffmpeg Version) ist die ffmpeg Libs in nem separates Verzeichnis (/usr/lib/oldffmpeg) zu kopieren und das Makefile so anzupassen das diese genommen (gelinkt) werden. Auf diese Weise kann jedes Programm seine eigene ffmpeg Version bekommen.


    Also falls du es nicht hinbekommst das alle Programme mit der selben ffmpeg Version glücklich werden geht auch dieser Weg.


    cu

  • avcodec_init hab ich einfach auskommentiert bei graphtft. ffmpeg installier ich über apt-get install auf Debian Wheezy.

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Keine_Ahnung: Eine Version von Mplayer macht es genauso bringt eine separate Version von ffmpeg mit.
    Im Falle von graphtft befürchte ich allerdings das nicht ein Ändern im Makefile ausreicht ?


    z.b in der mpeg2ecoder.c steht sowas:

    Code
    include </usr/include/libswscale/swscale.h>


    Das ist fest "verdratet", ich müsste alle Pfade in allen Files des Projekts auf "meine" ffmpeg libs verbiegen.


    Zitat

    avcodec_init hab ich einfach auskommentiert bei graphtft.

    Das habe ich nicht versucht - Weil (so mein Gedanke) eine Init Funktion nicht zu starten und dann die Funktionen der Klasse zu benutzen endet mit einem Crash.
    Ich kann nur Delphi dort ist es so - in C++ muss es auch so sein. (so mein Gedanke)
    Wobei - ich weiß nicht für was avcodec_init genau macht.
    Aber wenn es funktioniert - Danke :]

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

    Einmal editiert, zuletzt von rudirabbit ()

  • Bei mir stehen die Pfade aber ohne /usr/include/, aber nimm mal avcodec_init raus. Funktioniert bei mir. avcodec_init war seit Jahren deprecated und ist wohl nun rausgeflogen aus ffmpeg.


    Ich setze übrigens die 0.3.4 von hier http://jwendel.de/vdr/vdr-graphtft-0.3.4.tar.bz2, sowie den Patch von hier YaVDR Plugin Graphtft-0.3.4+urknall Fehler bei Theme deepblue u.a. (gelöst) ein. Und natürlich die avcodec Änderungen.

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

    2 Mal editiert, zuletzt von TheChief ()

  • OK - ohne die init läuft es durch - Danke


    Die ffmpeg Pfade bei graphtft haben schon öfter Ärger bereitet, ich baue das Plugin - wenn was nicht gefunden wird setze ich dann symlinks.
    Das Plugin wird wohl leider nicht mehr gepflegt, horchi geht lieber Windsurfen :tup ist geil - würde ich auch noch machen wenn meine Gesundheit dies noch zulassen würde ;(


    Ich setze übrigens die 0.3.4 von hier http://jwendel.de/vdr/vdr-graphtft-0.3.4.tar.bz2, sowie den Patch von hier YaVDR Plugin Graphtft-0.3.4+urknall Fehler bei Theme deepblue u.a. (gelöst) ein. Und natürlich die avcodec Änderungen.

    Super, langsam wachst mein VDR zum perfekten System.

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

  • Hallo
    Die 0.3.4 läuft bei mir nicht durch.

    Code
    imlibrenderer/dvbrenderer/mpeg2encoder.c:59:52: error: cannot convert CodecID to AVCodecID for argument 1 to AVCodec* avcodec_find_encoder(AVCodecID)


    Diese Stelle im Code:


    in der avcodec.h so definiert:

    Code
    AVCodec *avcodec_find_encoder(enum CodecID id);


    rausnehmen hilft zwar (wird compiliert), nur wird es nicht funktionieren.


    Warum meckert der Compiler ? - zudem in den ffmpeg exampes die Funktion genau so benutzt wird

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

Jetzt mitmachen!

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