it-swarm.com.de

Android: Wie konfiguriere ich die neueste FFMPEG-Version in Android studio?

Ich möchte FFMPEG in Android= Studio konfigurieren, aber ich kann kein Dokument oder keinen Link dafür bekommen. Github auf vielen FFMPEG lib verfügbar für Android aber das sind alle mit der alten Version. Und wie man einen Befehl in Android ausführt? Und ich möchte nach der Konfiguration von FFMPEG wissen, wie wir dann FFMPEG Befehle ausführen können das. danke vorab.

Ich habe untenstehende Links verwendet, aber in der neuesten Version keinen Erfolg.

http://writingminds.github.io/ffmpeg-Android-Java

https://github.com/WritingMinds/ffmpeg-Android-Java

https://github.com/havlenapetr/FFMpeg

https://github.com/appunite/AndroidFFmpeg

https://github.com/WritingMinds/ffmpeg-Android

47
Ravi Vaghela

Die neueste Version von FFMPEG ist 3.1.1. Sie wurde vor 12 Tagen veröffentlicht. Also ich denke, es gibt keine leicht verfügbare Demo wie diese alte .

Wir müssen die Bibliothek FFMPEG selbst erstellen. Einige Fragen, die ich gerade hier eingefügt habe, könnten Ihnen helfen. (Nicht getestet)

Wie man FFmpeg für Android erstellt

  1. Kompilieren von FFmpeg 2.3 mit Android NDK r1
  2. Wie kompiliert man ffmpeg-2.5.3 unter Windows mit Android-ndk-r10d
  3. Wie kompiliert man ffmpeg-2.2.2 unter Windows mit Cygwin und Android ndk r9c
  4. Wie man ffmpeg mit Android-ndk-r10d in Windows baut

Sie müssen es selbst kompilieren, indem Sie Android NDK & Neueste Version von FFMPEG herunterladen.

Ein Tutorial gibt es auch: Wie man FFmpeg für Android erstellt . Dies ist ziemlich alt, so dass Sie nur die hier genannten Versionen ändern müssen. Für FFMPEG ist es 3.1.1 & NDK es wird r12b.


Erstellen von FFMPEG mit NDK r12b:

  1. Download Android NDK : Die neueste Version von Android NDK kann unter heruntergeladen werden Android NDK-Website Zum Zeitpunkt des Schreibens dieser Antwort ist die neueste Version NDK r12. Dekomprimieren Sie einfach das Archiv

  2. ffmpeg-Quellcode herunterladen : Der FFMPEG-Quellcode kann von der ffmpeg-Website heruntergeladen werden. Die neueste stabile Version ist 3.1.1 (zum Zeitpunkt des Schreibens). Laden Sie den Quellcode herunter und dekomprimieren Sie ihn in den Ordner $ NDK/sources.

  3. Konfigurationsdatei aktualisieren: Öffnen Sie die Datei ffmpeg-3.1.1/configure mit einem Texteditor und suchen Sie die folgenden Zeilen.

    SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
    LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
    SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
    SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'
    

    Dies führt dazu, dass gemeinsam genutzte ffmpeg-Bibliotheken in libavcodec.so kompiliert werden. (z. B. libavcodec.so.55), das nicht mit dem Build-System Android) kompatibel ist. Daher müssen die obigen Zeilen durch die folgenden Zeilen ersetzt werden.

    SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
    LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
    SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
    SLIB_INSTALL_LINKS='$(SLIBNAME)
    
  4. ffmpeg erstellen: Kopieren Sie den folgenden Text in einen Texteditor und speichern Sie ihn als build_Android.sh im Ordner ffmpeg_3.1.1.

        #!/bin/bash
        NDK=$HOME/Desktop/adt/Android-ndk-r9
        SYSROOT=$NDK/platforms/Android-9/Arch-arm/
        TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64
        function build_one
        {
            ./configure
                --prefix=$PREFIX
                --enable-shared
                --disable-static
            --disable-doc
                    --disable-ffmpeg
                --disable-ffplay
                --disable-ffprobe
                --disable-ffserver
                --disable-avdevice
                --disable-doc
                --disable-symver
                --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi-
                --target-os=linux
                --Arch=arm
                --enable-cross-compile
                --sysroot=$SYSROOT
                --extra-cflags="-Os -fpic $ADDI_CFLAGS"
                --extra-ldflags="$ADDI_LDFLAGS"
            $ADDITIONAL_CONFIGURE_FLAG
            make clean
            make
            make install
        }
        CPU=arm
        PREFIX=$(pwd)/Android/$CPU
        ADDI_CFLAGS="-marm"
        build_one
    

    Wechseln Sie nach dem Speichern der Datei in das Verzeichnis, in dem sich diese Datei befindet, und führen Sie den folgenden Befehl aus:

    Sudo chmod +x build_Android.sh
    

    Führen Sie dann das Skript mit dem Befehl

    ./build_Android.sh
    
  5. Build-Ausgabe: Der Build kann abhängig von der Geschwindigkeit Ihres Computers eine Weile dauern. Sobald dies erledigt ist, sollten Sie in der Lage sein, den Ordner $ NDK/sources/ffmpeg-3.1.1/Android zu finden, der die Ordner arm/lib und arm/include enthält.

  6. ffmpeg-Bibliotheken für Ihre Projekte verfügbar machen

Die obigen Schritte sind vollständig getestet und ich habe sie auf meinem Computer ausgeführt und der Build war erfolgreich. Um diese Antwort zu schreiben, habe ich den Verweis aus diesem Artikel genommen Wie man ffmpeg mit NDK r9 erstellt aber da es für ältere Versionen war, habe ich einige Korrekturen selbst gemacht.

Offen für Zweifel.

36
Janki Gadhiya
13
parik dhakan

Haben Sie diesen Link gesehen? Die FFmpeg-Bibliothek von Writingminds lieferte alle Erläuterungen dazu in diesem Link

Die neueste Version dieser Bibliothek writingmind ist hier https://github.com/WritingMinds/ffmpeg-Android-Java/releasesenter image description here

Wenn Sie die neueste Version einer Bibliothek verwenden möchten, können Sie dies direkt von build.gradle Aus tun. Wenn eine Bibliothek nicht aktualisiert wird, kann sie angezeigt und von build.gradle Aus aktualisiert werden für viele Bibliothek für die neueste verfügbare Version.

Für gradle in FFMpeg benutze dies

compile 'com.writingminds:FFmpegAndroid:0.3.2'

Weitere ähnliche Bibliotheken finden Sie unter diesem Link https://Android-arsenal.com/details/1/925

Außerdem empfehle ich Ihnen, diese Warteschlange und diese Warteschlange zu lesen

Wenn Sie die neueste Version der Originalbibliothek verwenden möchten, gehen Sie hier: FFmpeg [die neueste Version ist hier ]

mit nativem Code hinzuzufügen, dann können diese Blogs Ihnen helfen

http://ffmpeg-Android.blogspot.in/ und

http://www.roman10.net/2011/07/17/how-to-build-Android-applications-based-on-ffmpeg-by-an-example/

5
TapanHP

Ich habe mit ffmpeg für Android für ein paar Wochen erlebt.

Die Bibliothek heißt FFmpeg4Android und ist zu finden unter hier in WarZone .

Ich weiß, dass der Titel es vom 6. Dezember 2011 sagt, aber ich habe es getestet und damit gearbeitet und alles läuft reibungslos. Sie haben nicht erwähnt, was genau Sie für diese Bibliothek benötigen, aber Sie können die ffmpeg-Fähigkeiten auf der offiziellen Seite nachlesen.

Der FFmpeg4Android hat ein Beispielprojekt, das eine gute Referenz sein kann, und auch ihre Unterstützung ist unmittelbar und klar.

Die Befehle werden entsprechend Ihrer Zeichenfolgeeingabe ausgeführt, z.

ffmpeg -y -i /sdcard/videokit/in.mp4 -strict experimental -s 160x120 -r 25 -vcodec mpeg4 -b 150k -ab 48000 -ac 2 -ar 22050/sdcard/videokit /out.mp4

lass es mich wissen, wenn du weitere Hilfe benötigst, ich helfe dir gerne.

1
Juvi