DVD-Author + GUIs: Modifikationen und Portierung

  • Ich bin jetzt endlich mal dazu gekommen, die mingw Version genauer zu testen.
    Auf den ersten Blick ist alles ok.
    Mplex scheint besser zu sein als meine alte Version aus 2004 ( katjarella : Kannst Du bitte mal schauen, ob diese Version wirklich besser muxt oder ob ich mir das nur einbilde...).
    Mit png2yuv gibt es aber ein Problem. Wenn ich damit nur eine 'Single Frame' Datei erzeuge, fällt es nicht auf. Wenn ich allerdings ausgehend von einem Bild ein 'langes' Video erstellen lasse z.B.:
    png2yuv.exe -n 2000 -I p -L 0 -f 25 -j "C:\Temp\test.png" > test.yuv dann versucht png2yuv anscheinend die ganze Datei im Hauptspeicher zu erstellen, was so weit führt, dass es sich selbst aufhängt wegen "Out of Memory!" Ob ich den Output in eine Datei schreibe, oder gleich an mpeg2enc übergebe spielt hierbei keine Rolle.
    Meine 'alte' Cygwin Version hat dieses Problem nicht (wobei ich jetzt nicht sagen kann, ob es an der mingw Umgebung oder einem Bug in png2yuv selbst liegt).


    Wäre schön, wenn man das beheben könnte, weil dann ist die Cygwin Umgebung wirklich nicht mehr erforderlich.

  • Wahrscheinlich liest hier keiner mehr mit, aber ich habe noch mal die 'alte' png2yuv getestet (aus dem Post: http://forum.gleitz.info/showpost.php?p=351976&postcount=43 ). Ergebnis:
    Kein "Out of Memory!" Fehler!
    Wenn jetzt nicht dieses dumme andere Problem wäre: http://forum.gleitz.info/showthread.php?t=37698 dann könnte man daraus tatsächlich eine gut funktionierende Cygwin freie Version zusammenstellen. Ich kann aber dvdauthor nicht unter mingw kompilieren, daher bin ich da auf 'fremde Hilfe' angewiesen. Aber ssbssa meldet sich ja leider nicht mehr und reagiert auch nicht auf email (falls meine Adresse überhaupt stimmt)

  • Mplex scheint besser zu sein als meine alte Version aus 2004 ...


    Was für eine Quelle hast Du? Sicher nicht diese http://sourceforge.net/project…p_id=5776&package_id=5823
    ?


    ... aber ich habe noch mal die 'alte' png2yuv getestet (aus dem Post: http://forum.gleitz.info/showpost.php?p=351976&postcount=43 ). Ergebnis:
    Kein "Out of Memory!" Fehler!


    Kann man sagen, dass png2yuw besser ist als jpeg2yuv oder hat es andere Gründe, dass Du diese verwendest?



    ... dann könnte man daraus tatsächlich eine gut funktionierende Cygwin freie Version zusammenstellen. Ich kann aber dvdauthor nicht unter mingw kompilieren, daher bin ich da auf 'fremde Hilfe' angewiesen.


    Eine cygwin-freie Version wäre nicht schlecht. Allerdings weiß ich auch nicht, wie man die Programme portiert.

  • ...Was für eine Quelle hast Du?
    Genau die. Es ist exakt die von ssbssa kompilierte Version. Siehe Post http://forum.gleitz.info/showpost.php?p=352309&postcount=52
    (sind binär identisch; daher auch der gleiche Fehler in png2yuv)


    png2yuv hat den Vorteil, dass nur einmal (beim encoden zu mpeg) 'verlustbehaftet' komprimiert wird (ansonsten zweimal: Erst beim Erstellen des JPG, dann beim encoden zu mpg). Daher erreicht man mit PNG Bildern und png2yuv eine bessere Qualität.


    ...cygwin-freie Version...
    Gibt es ja. Allerdings mit zwei Einschränkungen:
    1. Die png2yuv aus dem letzen Package (eben das aus http://sourceforge.net/project…p_id=5776&package_id=5823 ) hat einen Speicherfehler. Nicht so schlimm, man kann ja die vorherige Version + libpng12-0.dll verwenden.
    2. Leider ist in der dvdauthor Version von ssbssa der (von mir verursachte aber jetzt hoffentlich gelöste) Fehler drin, der im Thread http://forum.gleitz.info/showthread.php?t=37698 beschrieben ist.
    Ideal wäre jetzt eine verbesserte dvdauthor Version + 'alte' png2yuv Version. Damit wäre ich vorläufig völlig zufrieden. Problem dabei ist wie gesagt, dass ssbssa spurlos verschwunden ist...

  • Dann hat sich anscheinend der Inhalt des Archives geändert. Das Updatedatum ist der 12.11.2008, der Inhalt vom 13.11.2007. Ersteres liegt in der Zukunft, letzteres vor dem Beitrag von ssbssa. Dennoch fehlen in dem Archiv MPLEX und PNG2YUV.


    An die Komprimierung habe ich bisher nicht gedacht. :hm: Ist ein gewichtiger Grund.


    Nachtrag: Habe gerade nachgesehen. Das Archiv ist mit dem identisch, welches ich am 14.11.2007 heruntergeladen hatte.

  • ich bin nocht nicht ganz weg, fand leider keine zeit dafuer.
    das png2yuv speicher-problem habe ich denke ich geloest (werde nachher link einfuegen).
    gibt es von diesem dvdauthor-problem ein patch?
    PS: borax, hast du nicht das mingw-skript von mir zum kompilieren verwendet?

  • ssbssa bzgl. mingw-skript
    Danke, gefunden. Verstehe zwar nur Bahnhof (anscheinend ist das shell script was 'alles' erledigen soll, einschließlich download des source codes?!). Aber ich kann vmtl. aus den Patch Dateien die für mich wichtigen Änderungen rausziehen und es dann noch mal 'von Hand' versuchen.
    Die neue version von mjpegtools wird umgehend getestet. THX!
    LigH
    Ich würde sagen, ab #47 könnte man das verschieben in einen neuen Thread
    DVDAuthor + mjpegtools für mingw
    oder so...


    [EDIT]
    Speicherloch bei png2yuv ist behoben. Läuft super!
    Einen Wunsch hätte ich aber noch...
    Die 'neuen' mjpegtools zeigen unter [INFO] in jeder Zeile ihren vollständigen Pfad an (selbst wenn man verbose auf 0 setzt). Wenn man jetzt diese Tools in ein 'tiefes' Unterverzeichnis installiert hat, ist der ganze Log voll mit (unnötigen) Pfad-Angaben. Ich kann mich auch selbst durch den source code suchen, aber vmtl. bist Du schneller...

  • Vielen Dank im Voraus!
    Ist aber vielleicht gar nicht so einfach... Habe es mir gerade angeschaut. In der mjpeg_logging.c (im utils Ordner) ist anscheinend eine 'globale' Funktion dafür deklariert:



    Warum __progname den vollständigen Pfad enthält (oder wo man das ändern kann) entzieht sich meiner Kenntnis. Zur Not könnte man sich auch eine Funktion zum 'Entsorgen' der Pfad-Information aus dem ids string überlegen.

  • 1. ich habe diesen teil (mjpeg_play-cvs.patch) so veraendert (HAVE___PROGNAME ist im mingw nicht definiert, es war immer nur ??? zu sehen, das gefiel mir nicht):
    #ifdef HAVE___PROGNAME
    ids = __progname;
    #else
    ids = _argv[0];
    #endif


    2. ich weiss schon wie ich es machen werde (einfach nach der _argv[0]-zeile einfuegen, habe ich aber noch nicht getestet):
    if( strrchr(ids,'/')>=ids ) ids = strrchr(ids,'/') + 1;
    #ifdef __MINGW32__
    if( strrchr(ids,'\\')>=ids ) ids = strrchr(ids,'\\') + 1;
    #endif

  • 1024 Dank!


    Ich hab am Wochenende mal versucht, Dein shell script zu verwenden. Das meiste hab ich wohl hingekriegt. Nur beim compilieren von dvdauthor selbst, fehlen irgendwelche autoconf/automake macros. Könntest Du mal eine 'Kurzanleitung' zusammenstellen, was man in welchen Reihenfolge installieren sollte (msys, mingw, msysDTK...), damit das Skript durchläuft? Eilt nicht, wäre aber bestimmt hilfreich, falls andere Entwickler auch mal in die Verlegenheit kommen sollten dvdauthor oder mjpegtools selbst kompilieren zu wollen. Wahrscheinlich würde auch ein Link (+ ein paar 'Zusatzangaben') reichen. Es gibt ja schon diverse derartige Anleitungen (z.B. für VLC, Transana, SWIG...), aber darcs war da z.B. nicht erwähnt.