Beiträge von Chade


    hat sich ev. noch wer ans kompilieren von avisynth3 gemacht? wär doch nett, wenn wir daraus gleich ein deb-packerl machen könnten, hm? bislang hab ich hier aber noch keine erfolgsmeldungen lesen können. verwendet/benötigt das überhaupt noch wer?

    Auf Seite 1 dieses Threads gibts von mir eine "Erfolgsmeldung", allerdings ist die vom März 2007. Huch! Ist das wirklich schon soo lang her? Damals war jedenfalls meine Schlussfolgerung, dass Avisynth-3.0 unter Linux (unter Windows hab ich es nicht ausprobiert) quasi zu nichts zu gebrauchen ist. Avisynth-2.x jedoch verträgt sich recht gut mit wine und so konnte ich Avisynth mit vollem Funktionsumfang und mit allen Filtern unter Linux verwenden. Daher habe ich mich nicht wieder an Version 3.0 versucht - zumal die Entwicklung meines Wissens kaum vorran geht.

    Vielleicht versuche ich mich die Tage nochmal mit einem neuen Kompilier-Anlauf.

    Warum du die Video-Dateien nicht abspielen kannst? Ich würde auf eine veraltete MPlayer-Version tippen. Die MPlayer Jungs schreiben nicht umsonst auf ihrer Webseite: "MPlayer v1.0rc2 source outdated". ;)

    Dein MPlayer versucht irgendwas mit den win32-codecs zu reißen, einem mehr als 5 Jahre alten Relikt. Bei einigen wenigen Codecs für die es nur closed-Source Windows-Implementierungen gibt, mag das vielleicht auch heute noch nötig sein (keine Ahnung). Ein Großteil von Codecs und Containern kann jedoch heute sehr gut von der libavcodec und libavformat (also den ffmpeg libs) dekodiert werden. Und diese Bibliotheken werden beim MPlayer um Versionsprobleme zu umgehen üblicherweise statisch gelinkt. Also keine Plugins.

    Probiere es mit einer neueren Version vom MPlayer, damit kommst du schneller zum Ziel. Insbesondere hat sich da seit 2007 was mit der A/V-Synchronisation bei manchen FLV-Files getan. Wenn du den MPlayer nicht selbst bauen willst, nimm ihn halt aus den Paketen vom Christian Marillat (https://localhost/www.debian-multimedia.org).

    BTW: Avisynth ist ehr ein Tool zur Skriptgesteuerten Videoverarbeitung und Filterung, was sich jedoch für andere Programme als Windows Videodecoder ausgibt, um es unter Windows mit allen Encoder-Programmen verwenden zu können (richtig, Selur?). Das wird dich mit MPlayer unter Linux imho nicht weiter bringen.

    Hab nochmal drüber nachgedacht: Mplayer selber bauen ist unter Debian recht einfach, sofern man schon alle nötigen Bibliotheken installiert hat. Das wären außer den Codecs dann auch noch "libxv-dev" für die Videoausgabe und "libasound2-dev" für den Sound via ALSA. Wenn du dazu MPlayer auch mit GUI und OSD-Menüs bauen willst, musst du das erstens explizit angeben (siehe Datei README, Abschnitt STEP2 und STEP3 für Debian) und brauchst zweitens die Header-Files von GTK, also das Paket "libgtk2.0-dev" mit allen Abhängigkeiten. Außerdem heißt das Paket was svn enthält "subversion"... Also müsste der erste Befehl lauten:

    Code
    # apt-get install subversion build-essential fakeroot libxv-dev libasound2-dev libgtk2.0-dev


    Wenn du MPlayer mit GUI und OSD bauen willst, machst du das bei Debian mit folgendem Kommando (vom mplayer-Verzeichnis aus), wie im README steht:

    Code
    DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary

    Hoffe ich habe nichts vergessen.

    (Wird wirklich etwas OT hier... ;) Also wenn ein Mod die Beiträge zum MPlayer-Bau in einen eigenen Thread verschieben will, hab ich nichts dagegen.)


    hast du FFmpeg auch selbst kompiliert?


    Ja. Wenn man die aktuelle MPlayer-Version aus dem SVN auscheckt, enthalten die Quellen auch automatisch die aktuellste Version von libavcodec (bzw. ffmpeg). Meines Wissens stammt beides auch von den selben Entwicklern. Beim kompilieren wird dann die aktuelle Version vom libavcodec automatisch mit übersetzt und statisch in die MPlayer und MEncoder Binarys gelinkt.

    Die win32-codecs braucht man meines Wissens heutzutage nur noch sehr sehr selten. Vielleicht für real-video oder sowas. Ich bin da aber nicht mehr ganz auf dem laufenden, kann sein, dass ich Quatsch erzähle. ;)

    BTW ist das Übersetzten von Mplayer grade unter Debian sehr schmerzfrei:

    Code
    # apt-get install svn build-essential fakeroot
    $ svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
    $ cd mplayer
    $ fakeroot debian/rules binary
    # dpkg -i ../mplayer_1.0svn_i386.deb


    (Habe ich allerdings jetzt nicht getestet.) Vorher noch diverse "libXYZ-dev" Pakete installieren für alle Codecs die man braucht. Mit einem './configure' statt dem 'fakeroot debian/rules binary' kann man testen, welche Codecs alle erkannt werden und ob noch irgendeine Bibliothek fehlt.


    dieses file u.a. kann ich nach wie vor nicht anschauen: http://www.youtube.com/watch?v=1p6BxUWmy4c
    funktioniert das bei euch?

    Ja, läuft hier unter Debian mit einem selbst-kompilierten Mplayer aus dem SVN vom 20.11.2008. Hier ist die zugehörige Ausgabe von mplayer, vielleicht hilfts ja weiter:

    Spoiler anzeigen

    Wird an Avisynth-3 eigentlich wieder (bzw. noch) entwickelt? Mein letztere Stand war, dass die Entwicklung so gut wie eingestellt ist. Irgendwann hatte ich es mal unter Debian zum laufen gebracht, aber da konnte man sogut wie nichts mit dem Programm anfangen.

    Hallo may24. Ich bin jetzt grade nicht ganz auf dem Laufenden, was Avisynth-3 für Linux angeht, aber vielleicht kann ich dir ja trotzdem irgendwie helfen.


    .. von welchem Paket kommt der "ac_nonexistent.h" header ?


    Ich würde aus dem Bauch heraus mal darauf tippen, dass ac_nonexistant.h irgendwas mit autoconfig / automake / autotools zu tun hat - also dem Programmpaket, welches üblicherweise dazu verwendet wird, die ./configure scripts zu erstellen. Dann könnte die Meldung auf einen Fehler in den Quelldateien für das configure-script hinweisen. Oder vielleicht ist das auch ein Standardtest von autoconf? So genau kenne ich mich nicht damit aus.

    Zitat
    Code
    configure: error: nasm patch version too old - Update nasm


    nasm habe ich nagel-neu compiliert (ver. 2.02) "Eigentlich" kann es daran nicht liegen. ...


    Hmm, mein Debian Stable hat immernoch einen nasm-0.98.38 im Angebot. Haben sich zwischen nasm-0.9x und nasm-2 vielleicht die Kommandozeilenparameter verändert? Tuts vielleicht auch yasm?


    Als ich zum (ersten und) letzten mal Avisynth-3 kompiliert habe, kam mir der Weg zum fertigen Binary auch sehr steinig vor. Das Resultat der Mühen war dann ein Programm, mit dem ich überhaupt nichts anfangen konnte. IIRC wurde das Format meiner Videos nicht erkannt und Filter gab es auch noch keine. Irgendwie wage ich zu bezweifeln, dass sich daran im letzten halben Jahr viel geändert hat. :-/ Als funktionierende Alternative habe ich für mich jedoch Avisynth-2.x unter Wine gefunden. Allerdings bin ich da noch nicht über das Experimentierstadium herausgekommen. Aber Videos mit einem AVS-Script zerschnippeln, filtern und mit x264 kodieren klappt unter Linux mit der Kombination Avisynth/Wine schon.

    Ich hoffe das hilft dir irgendwie.

    Hallo,

    ich bin am Wochenende beim surfen wiedermal über den Restore24-Filter von Didee (?) gestolpert und in der Folge über eben diese Thread. Also wollte ich mal mein Glück an Avisynth unter Linux versuchen - folgendes ist dabei bislang rausgekommen. Die Quellen habe ich aus dem CVS vom 20.03.2007, zwischenzeitlich scheint sich auch nichts mehr getan zu haben. Distribution ist Debian testing/unstable, wahlweise auf i386 (Laptop) oder amd64 (Desktop).

    Die vorrausgesetzte Software war soweit in Form von Debian-Paketen vorhanden, bis auf zwei Ausnahmen. Zum einen bedurfte das x264 Paket einer Modifikation, um es mit GUI zu übersetzen. Und dann war da noch die libboost, für die bei Debian der circular-buffer nicht als Paket vorhanden ist. Daher habe ich diesen im Avisynth-Quellverzeichnis entpackt und dort mit relativem Pfad eingebunden ('#include "..."' statt '#include <...>'). Dementsprechend konnte ich auch die Überprüfung auf circular-buffer in der Datei build/linux/m4/boost.m4 entfernen.

    Nachdem die Vorarbeit geleistet war, gings ans Kompilieren. Hier trat die nächste Wiedrigkeit auf - in src/bin/encode.c fehlte ein dritter Parameter an die Funktion avs_clip_new_from_file(). Somit habe ich diesen dort hinzugefügt, per copy and paste nach dem Beispiel aus src/bin/open.c inklusive der folgenden Fehlerbehandlung. Keine Ahnung, was die genau macht, aber nun ließ sich das ganze immerhin übersetzen.

    Gesagt, getan. Als Resultat der Mühen fand ich eine ausführbare Datei "build/linux/build/avisynth_test". Als ich darin nun mittels "File" -> "Open" eine Video-Datei öffnen wollte, schloss sich das Programm aber recht schnell mit einer Exception (irgendwas in der Richtung "cannot create (Font) Face"). Der Grund dafür war ein absoluter Pfad zu einer Schriftart Arial ("C:\\WINNT\\Fonts\\Arial.ttf") in der Datei src/filters/source/messageclip.cpp. Also gut - quick and dirty einen ehr Linux/Unix typischen Pfad hinein-gehackt und neu kompiliert.

    Nach dem Bestätigen des Öffnen-Dialogs in "avisynth_test" tritt nun keine Exception mehr auf. Allerdings wird mir auch kein Video-Bild angezeigt. Die "File Information" sagt mir:

    Code
    Video stream Size:         378x107       [richtig wäre 720x576] Framerate:    25/1 (25.000) [richtig] Frame count:  25            [richtig wäre 500] Time:         1.0           [auch falsch] Audio stream No audio stream             [richtig]


    Bei der geöffneten Datei handelte es sich um einen MPEG2-Video Elementary Stream, den ich mir irgendwann mit dem "mpeg2enc" aus den mjpegtools habe erstellen lassen. Auch bei anderen Videos ändern sich die angezeigten Daten nicht. So langsam vergeht mir die Motivation.

    Also gut - wozu lässt sich Avisynth unter Linux gebrauchen? Wie bedient man es? Gibt es ein Command Line Interface? Wo ist die Dokumentation? Nein, ich meine ich die Klassen-Dokumentation ;)

    Vielleicht sollte ich noch erwähnen, dass ich mich nie mit den Windows-Tools zur Video be- und verarbeitung beschäftigt habe. Das meiste habe ich bislang unter Linux mit transcode, mencoder und co erledigt. Dementsprechend ist Avisynth für mich völliges Neuland.

    Hier noch ein diff der Dateien, die ich modifizieren musste, um avisynth_test gangbar zu machen - quick and dirty, wie gesagt.

    $ pwd
    /usr/src/avisynth-cvs20070320
    $ cvs diff -u ./src/bin/encode.c ./src/filters/source/messageclip.cpp