media-autobuild_suite

  • Hallo Miteinander!


    Seit längerem benutze ich jetzt schon das cross compile script von Roger Pack https://github.com/rdp/ffmpeg-windows-build-helpers


    Jetzt habe ich es, nach vielen Anläufen, hin bekommen das ganze direkt unter Windows nachzubauen. Es wird also keine Linux Virtualbox oder Ähnliches mehr benötigt. Das ganze ist fast komplett voll automatisch. Es muss nur das Batch File doppel geklickt werden, anschließend wählt man aus ob man für Win 32 bit, 64 bit oder beides kompilieren möchte. Zusätzlich lässt sich auswählen ob man "non free" encoder, wie z.B. fdk-aac, mit einbinden möchte und die Anzahl der zu verwendeten CPU (Cores) lässt sich auch noch definieren.


    Momentan unterstützt das Script:


    - a52dec
    - bzip2
    - fdkaac (standalone and lib for ffmpeg)
    - ffmpeg (standalone)
    - faac (standalone and lib for ffmpeg)
    - flac (standalone)
    - fontconfig
    - freetype
    - frei0r
    - gettext
    - gsm
    - gnutls (standalone and lib for ffmpeg)
    - lame (standalone and lib for ffmpeg)
    - jpeg
    - jpeg2000
    - jpegturbo
    - libass
    - libbluray
    - libcaca
    - libdvdcss
    - libdvdnav
    - libdvdread
    - libilbc
    - libmad
    - libmodplug
    - libmpeg2
    - libpng
    - libsndflie
    - libsoxr
    - libtiff
    - libtwolame
    - libutvideo
    - libxml2
    - libzvbi
    - mediainfo cli (only 32 bit)
    - mp3lame (standalone and lib for ffmpeg)
    - mp4box (standalone)
    - mplayer (standalone)
    - orc
    - opencore-amr
    - openjpeg
    - ogg
    - opus
    - opus-tools (standalone)
    - rtmp (standalone and lib for ffmpeg)
    - schroedinger
    - sdl (for ffplay)
    - sox (standalone)
    - speex (standalone and lib for ffmpeg)
    - theora
    - vidstab
    - vpx (standalone and lib for ffmpeg)
    - vo-aacenc
    - vo-amrwbenc
    - vorbis
    - wavpack
    - x264 (standalone and lib for ffmpeg)
    - x264 10 bit (standalone)
    - x265 (standalone and lib for ffmpeg)
    - x265 16 bit (standalone)
    - xavs (standalone and lib for ffmpeg)
    - xvid
    - zlib


    Finden tut ihr das Script unter:


    https://github.com/jb-alvarado/media-autobuild_suite



    Würde mich über Kommentare und Anregungen freuen! Würde aber vorerst bitten keine Wünsche zu äußern, welche Tools ich noch integrieren soll. Habe noch einige auf meiner Liste und ich würde da nur aus dem Konzept kommen. Wenn mir jemand Hilfe anbieten würde, wäre das natürlich was anderes :)


    Viel Spaß damit!


    Grüße


    jb_

  • Mensch, schon über 100 Beiträge, aber hier hat unser Anti-Spam noch mal zugeschlagen! :eek: — Freigeschaltet.
    __


    Danke für deine Mühen, der Erfolg wird sicher v.a. Selur interessieren, der braucht ja für Hybrid immer mal aktuelle Builds mit ein paar mehr Libs.

  • Zitat

    Würde aber vorerst bitten keine Wünsche zu äußern, welche Tools ich noch integrieren soll.


    Gehe davon aus, dass das alles statisch gebaut wird, oder?
    Bleibt das Restliche System 'sauber', sprich bleibt alles auf einen Oberordner beschränkt wie beim Autobuild-Skript von fdkaac der Fall ist?


    Bin dann mal so frei und poste meine 'Wunschliste'. :D


    Erweiterungen die noch schön wären in ffmpeg (&& mencoder && mplayer) zu haben:

    • libbluray - für Blu-ray support
    • libass - für Untertitle support
    • libvpx - für VP8/VP9 support (mittlerweile inkludiert)
    • libvo-aacenc - aac encoding (mittlerweile inkludiert)
    • avisynth support (mittlerweile inkludiert)
    • faac (standalone und lib für ffmpeg)


    Tools die für mich noch interessant wären:

    • mplayer&mencoder: mit den gleichen Bibliotheken wie bei ffmpeg
    • MP4Box (mittlerweile inkludiert)
    • QSTranscode
    • vpxenc (mittlerweile inkludiert)
    • FLVExtractCL (die cpp Variante)
    • MediaInfo


    (Reihenfolge nach Priorität für mich)


    Tools bei denen es noch schön wäre, die mir aber nicht so wichtig sind:

    • delayCut
    • dcaenc
    • mp4fpsmod
    • opusenc
    • oggenc2
    • FFmpegSource2 (ffms2.dll <- als normales Avisynth Plugin && ffmsindex.exe)
    • qaac
    • fhgaacenc
    • avs2yuv
    • sox mit ffmpeg inkludiert


    Da nicht erwähnt, wäre es schön, wenn die CLI Variante von x264 auch:

    • avs
    • swscale
    • lavf
    • ffms
    • gpac oder lsmash


    beinhaltet.


    Cu Selur


    Ps.: Falls noch nicht vorhanden, wäre es auch schön, wenn das Skript für mencoder/ffmpeg/mplayer eine Option hat durch die man auswählen kann, "ob" oder "ob nicht" auch tools mitgebaut werden, die Probleme mit der GPL haben. (builds die fdkaac oder faac inkludieren darf man ja wegen der Lizenzproblemen nicht frei verteilen)


    PPs.: Finde es übrigens !Super! das jemand die Zeit und Motivation hat so etwas zu erstellen!

  • Ja einige Erweiterungen für ffmpeg stehen noch auf meiner Liste. Es ist auch alles statisch und es bleiben keine Rückstände auf dem System, nach löschen des Ordners.


    Faac werde ich wohl nicht rein nehmen, habe schon fdkaac drin und wüsst jetzt nicht wieso faac auch noch rein muss. Möglicherweise bekomme ich nicht alles in ffmpeg integriert, hatte gestern versucht rtmp einzubinden, leider ohne Erfolg. Als Standalone läuft es allerdings, werde da jetzt erst mal wo anders weiter machen und vielleicht später noch mal schauen ob ich das hin bekomme. Mp4box ist auch auf meiner Liste weit oben ;). Habe es heute auch schon mal kompiliert bekommen, aber bin noch nicht soweit es offiziell einzubauen. avisynth Support sollte jetzt auch schon in ffmpeg drin sein. Möchte auch noch openCL mit integrieren, mal schauen wie gut das geht :). Im Grunde möchte ich die gleiche Funktionalität erreichen wie Roger Pack mit seinem cross build script. Denke aber das ich nicht alles hin bekommen werden.

  • Um bei fdkaac ne eigenständige Exe zu bekommen hat der nu774 ja einen ziemlichen Aufwand betrieben, das würde ich so nicht hin bekommen. Wenn im Code von faac vorgesehen ist, eine exe zu kompilieren und es im ähnlichen Schema abläuft wie bei den anderen Codecs, dann sollte es kein Problem sein und ich kann das auch einbauen.


    Ich werd bei Gelegenheit auch mal eine kleine Anleitung schreiben wie man sich ein eigenes Compilerscript schreiben kann. Dann kann man auch selber Tools kompilieren. Im Grunde läuft es eh immer nach dem gleichen Muster ab, schwierig wird es nur wenn Abhängigkeiten zu anderen Paketen bestehen.

  • Kleines Update:


    bzip2
    fdkaac (standalone and lib for ffmpeg)
    ffmpeg
    faac (standalone and lib for ffmpeg)
    flac (standalone)
    freetype
    gsm
    lame (standalone and lib for ffmpeg)
    ogg
    mp4box (standalone)
    rtmp (standalone)
    sdl (for ffplay)
    speex (standalone and lib for ffmpeg)
    theora
    opencore-amr
    vo-aacenc
    vo-amrwbenc
    vorbis
    x264 (standalone and lib for ffmpeg)
    x264 10 bit (standalone)
    xvid
    zlib

  • Momentan noch xvid 1.3.2, an die 1.4er hatte ich mich noch nicht ran getraut. Kann mal testen ob die auch geht. So ganz glücklich bin ich mit faac in ffmpeg noch nicht, der Roger Pack hat wo geschrieben, dass der dann default wird und das wollte ich eigentlich vermeiden.


    Habe jetzt auch denn ffmpeg source download auf github umgestellt, somit bekommt man immer die aktuellste Version.


    Wenn man ein Packet neu kompilieren möchte muss man den Ordner des Paketes löschen, also z.B. den ffmpeg source Ordner. Werde das mal noch eleganter lösen, zumindest bei den git downloads.

  • kleine Anmerkung:

    Zitat

    Numbers of CPU (Cores) for compiling, the half number is recommended


    1. vielleicht eher "Numbers of CPU (Cores) for compiling, setting it to the number of physical cores in the system is recommend" oder eine andere informativere Variante :)
    2. wo kommt diese Empfehlung her, normalerweise Nutze ich eher cores * 2 oder *1,5 also bei nem QuadCore Intel mit HyperThreading 12 oder 16 (zugegeben unter Linux); hab es aber mal auf 4 eingestellt

  • Hmm,.. gibt es irgendein Log oder so?
    Wenn das Skript scheint bei mir immer nach dem kompilieren der 32bit AudioTools abzubrechen.
    H:\media-autobuild_suite-master\local32\bin enthält bei mir folgende files:

    Code
    1. 05.10.2013 12:11 <DIR> .05.10.2013 12:11 <DIR> ..05.10.2013 10:56 442.407 bzip2.exe05.10.2013 10:56 231.290 bzip2recover.exe05.10.2013 11:12 4.253 c_rehash05.10.2013 12:08 359.175 faac.exe05.10.2013 11:04 1.324.536 fc-cache.exe05.10.2013 11:04 1.337.768 fc-cat.exe05.10.2013 11:04 1.336.042 fc-list.exe05.10.2013 11:04 1.346.216 fc-match.exe05.10.2013 11:04 1.336.042 fc-pattern.exe05.10.2013 11:04 1.336.042 fc-query.exe05.10.2013 11:04 1.335.530 fc-scan.exe05.10.2013 12:07 835.962 fdkaac.exe05.10.2013 12:01 799.424 flac.exe05.10.2013 10:58 3.815 freetype-config05.10.2013 10:57 366.540 i686-pc-mingw32-pkg-config.exe05.10.2013 11:01 1.233.394 iconv.exe05.10.2013 12:03 1.612.126 lame.exe05.10.2013 10:57 2.316 libpng-config05.10.2013 10:57 2.316 libpng16-config05.10.2013 12:11 0 list.txt05.10.2013 12:01 634.458 metaflac.exe05.10.2013 11:12 3.159.836 openssl.exe05.10.2013 11:06 2.391 pcre-config05.10.2013 11:06 498.645 pcregrep.exe05.10.2013 11:06 1.059.206 pcretest.exe05.10.2013 10:57 366.540 pkg-config.exe05.10.2013 10:57 117 pkg-config.sh05.10.2013 10:57 224.001 png-fix-itxt.exe05.10.2013 10:57 556.223 pngfix.exe05.10.2013 11:12 2.408.711 rtmpdump.exe05.10.2013 11:12 2.393.319 rtmpgw.exe05.10.2013 11:12 2.378.318 rtmpsrv.exe05.10.2013 11:12 2.377.084 rtmpsuck.exe05.10.2013 11:16 1.282 sdl-config05.10.2013 11:58 407.592 speexdec.exe05.10.2013 11:58 466.576 speexenc.exe05.10.2013 11:02 442.016 xmlwf 37 File(s) 32.621.509 bytes


    H:\media-autobuild_suite-master\local64\bin enthält:


    erneutes Starten der media-autobuild_suite.bat oder zu sagen, dass er die non-free tools auch bauen soll hilft auch nicht.
    Hab beim Bauen angeben:
    1. 32&64bit
    2. free (später dann auch nonfree)
    3. static mp4box
    4. CPU Count (<- vielleicht besser CoreCount?): 4

  • Hallo Selur, danke für die Tipps! Ich hatte wo gelesen, dass man beim Kompilieren nicht alle Cores verwenden soll. Eine Begründe stand nicht direkt bei, aber ich hatte das so einfach mal übernommen. Kann aber gerne noch an der Formulierung feilen. Mein Englisch ist eh nicht so gut, daher bin ich für jeden Tipp dankbar.
    Was den Fehler angeht, dass nur bis zu den Audiotools kompiliert wird muss ich erst mal schauen. Hatte gestern noch einen komplett Durchlauf gestartet, wo alles ging. Was passiert denn wenn du die mintty Konsole (die Verknüpfung im Hauptordner) startest und dort das File "compile_videotools32.sh" rein ziehst und ausführst? Bricht das Script dann immer noch ab?

  • Habe noch mal die Compiler Umgebung angepasst. Es ist also wichtig alles neu aufzusetzen. Man man sich etwas Zeit sparen will kann man die Ordner mingw32 und mingw64 übrig lassen, der Rest muss leider weg. Hatte eine unsauber Lösung im Script, was ich jetzt behoben habe.


    Selur leider konnte ich dein Problem nicht reproduzieren. Wie viel Arbeitsspeicher hast du denn? Windows 32 oder 64 bit? Vielleicht mal mit weniger Threads versuchen. Ich habe hier Windows 7 pro 64bit, 24 gb Speicher und kompilieren mit 6 Threads tadellos. Laut deiner Liste werden auch nicht alle Audio Coder kompiliert, was recht komisch ist.


    OpenSSL und rtmp sind erst mal raus geflogen, habe da noch n Wurm drin, den ich erst mal beheben muss.

  • ist etwas weiter gekommen:


    Code
    1. Directory of H:\media-autobuild_suite-master\local32\bin07.10.2013 16:55 <DIR> .07.10.2013 16:55 <DIR> ..07.10.2013 14:59 442.407 bzip2.exe07.10.2013 14:59 231.290 bzip2recover.exe07.10.2013 15:17 1.324.536 fc-cache.exe07.10.2013 15:17 1.337.768 fc-cat.exe07.10.2013 15:17 1.336.042 fc-list.exe07.10.2013 15:17 1.346.216 fc-match.exe07.10.2013 15:17 1.336.042 fc-pattern.exe07.10.2013 15:17 1.336.042 fc-query.exe07.10.2013 15:17 1.335.530 fc-scan.exe07.10.2013 15:51 799.424 flac.exe07.10.2013 15:12 3.815 freetype-config07.10.2013 15:10 366.540 i686-pc-mingw32-pkg-config.exe07.10.2013 15:15 1.233.394 iconv.exe07.10.2013 15:53 1.612.126 lame.exe07.10.2013 15:11 2.316 libpng-config07.10.2013 15:11 2.316 libpng16-config07.10.2013 16:55 0 list.txt07.10.2013 15:51 634.458 metaflac.exe07.10.2013 16:12 3.764.507 MP4Box.exe07.10.2013 15:10 366.540 pkg-config.exe07.10.2013 15:10 117 pkg-config.sh07.10.2013 15:11 224.001 png-fix-itxt.exe07.10.2013 15:11 556.223 pngfix.exe07.10.2013 15:21 1.282 sdl-config07.10.2013 15:48 407.592 speexdec.exe07.10.2013 15:48 466.576 speexenc.exe07.10.2013 16:11 1.574.250 x264-10bit.exe07.10.2013 16:10 1.752.716 x264.exe07.10.2013 15:15 442.016 xmlwf 29 File(s) 24.236.082 bytes 2 Dir(s) 245.959.155.712 bytes free


    und


    Cu Selur