Kompiliere FFMPEG für die Benutzung der Kommandozeile

11

Ich habe versucht, FFMPEG zu kompilieren, damit ich es mit meiner Android-Anwendung mit Befehlen verwenden kann. Das Ergebnis sollte 1 statische Datei sein, "ffmpeg", die nicht paketabhängig ist. Keine .so Dateien.

Ich habe es geschafft, es mit GuardianProject zu kompilieren und alles funktioniert, aber die Quelle war zu alt und es fehlten die Optionen, die ich brauche. Ich benutze das neueste Ubuntu auf VirtualBox, alles Wesentliche wird installiert und aktualisiert (gawk, yasm, aptitude, etc ...).

Es gibt mehrere Beispiele im Internet. Hier sind die Probleme, die ich bei jeder der Optionen, die ich versucht habe, erlebt habe. Ich würde mich über Hilfe bei einem der folgenden Fehler freuen:

  1. Guardian-Projekt - Ich habe es geschafft, es zu kompilieren und die ffmpeg-Datei zu bekommen, aber es benutzt ein altes Version von ffmpeg, die die Option "-movFlags faststart" nicht enthält. Ich habe versucht, den neuen ffmpeg (2.3.3) hinein zu werfen, aber es wirft nur Fehler. (Ich lief git Submodul init und update)

  2. JayH5 - Eine allgemeinere Builddatei, die grundsätzlich mit jedem ffmpeg funktionieren sollte. Ich habe das Buildskript aktualisiert, damit es mit dem neuesten NDK funktioniert, und es scheint zu funktionieren, aber es schlägt fehl am /home/dor/Desktop/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-pkg-config not found, library detection may fail. Ich lese darüber und es scheint einen Hack zu benötigen, den ich nicht verstehe.

  3. Trovao - das ist ein sehr nettes Projekt und das Build-Skript sogar die neuesten ffmpeg und x264-Quellen heruntergeladen, und ich sogar erfolgreich kompilieren es zu FFMPEG und X264-Dateien, aber wenn ich es verwende, bekomme ich diesen Fehler: could not load library "libx264.so.142 was ist seltsam, wie x264 ist da und die ganze Idee dieses Projekts ist es, die Notwendigkeit von .so Dateien abzubrechen.

Ich würde mich freuen, wenn ich herausfinden würde, wie ich die Probleme lösen kann. Ich bevorzuge die Verwendung des JayH5-Build-Skripts, da es anscheinend am einfachsten ist ...

JayH5 Build-Datei:

%Vor%     
Lior Iluz 02.09.2014, 12:15
quelle

1 Antwort

5

Nachdem ich 2 Tage lang FFMPEG-Dateien kompiliert habe, die einfach nicht funktioniert haben, ist es mir endlich gelungen!

Fügen Sie in der obigen build.sh-Datei einfach diese 4 Zeilen und die untere Zeile hinzu, um den prebuilt/linux-x86/bin/arm-linux-androideabi-pkg-config not found, library detection may fail -Fehler zu vermeiden.

Zu Datei hinzufügen:

%Vor%

Vergessen Sie nicht, chmod 775 ffmpeg Datei nach dem Prozess zu beenden. Hoffe wirklich, das wird anderen helfen!

Wenn Sie FFMPEG mit libX264 Unterstützung möchten, verwenden Sie dieses Projekt - einfach perfekt. Ссылка

    
Lior Iluz 02.09.2014, 13:25
quelle

Tags und Links