Android: comment configurer la dernière version de FFMPEG dans android studio?

je veux configurer FFMPEG dans android studio mais je ne peux obtenir aucun document ou lien pour cela. Github sur de nombreux FFMPEG lib disponible pour android, mais que tous sont avec l'ancienne version. Et comment exécuter une commande sur android? et je veux savoir après avoir configuré FFMPEG comment exécuter les commandes FFMPEG . Aidez-moi pour que. merci d'avance.

j'ai utilisé les liens ci-dessous mais pas succès dans la dernière version.

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

43
demandé sur Jaxian 2016-03-29 10:07:24

4 réponses

la dernière version de FFMPEG est 3.1.1, sortie avant 12 jours. Donc je pense qu'il n'y a pas de démo facilement disponible comme cette vieille Démo .

nous avons besoin de construire la bibliothèque FFMPEG sur notre propre. J'ai trouvé des questions qui pourraient vous aider. (Non testé)

Comment Construire FFmpeg pour Android

  1. Compilation FFmpeg 2.3 avec Android NDK R10
  2. comment compiler ffmpeg-2.5.3 sur windows avec android-ndk-r10d
  3. comment compiler ffmpeg-2.2.2 sur windows avec cygwin et android ndk r9c
  4. Comment construire ffmpeg avec android-ndk-r10d dans windows

vous devez le compiler vous-même en téléchargeant Android NDK & Dernière Version de FFMPEG .

un tutoriel est également là: Comment Construire FFmpeg pour Android . C'est assez ancien donc vous avez juste besoin de changer les versions mentionnées ici. Pour FFMPEG il sera 3.1.1 & NDK il sera r12b .


bâtiment FFMPEG avec NDK r12b:

  1. Télécharger Android NDK : la dernière version D'Android NDK peut être téléchargé à site Android NDK . Au moment d'écrire cette réponse, la version la plus récente est NDK R12. il suffit de décompresser les archives

  2. télécharger le code source ffmpeg : le code source FFMPEG peut être téléchargé à partir du site ffmpeg . La dernière version stable est 3.1.1 (au moment de la rédaction). Téléchargez le code source et décompressez-le dans le dossier $NDK/sources.

  3. Update configure file: ouvrir ffmpeg-3.1.1/configurer file avec un éditeur de texte, et localiser les lignes suivantes.

    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)'
    

    Cette cause ffmpeg bibliothèques partagées pour être compilé libavcodec.alors? (par exemple libavcodec.alors?55), ce qui n'est pas compatible avec le système de construction Android. Par conséquent, nous aurons besoin de remplacer les lignes ci-dessus avec les lignes suivantes.

    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. Build ffmpeg: Copiez le texte suivant dans un éditeur de texte et sauvegardez-le sous la forme suivante: build_android.sh en ffmpeg_3.1.1 dossier.

        #!/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
    

    une fois le fichier sauvegardé, allez dans le répertoire où se trouve ce fichier et exécutez la commande ci-dessous,

    sudo chmod +x build_android.sh
    

    alors exécutez le script par la commande

    ./build_android.sh
    
  5. sortie de construction: la construction peut prendre un certain temps à terminer en fonction de votre vitesse d'ordinateur. Une fois que c'est fait, vous devriez être en mesure de trouver un dossier $NDK/sources/ffmpeg-3.1.1/android, qui contient les dossiers arm/lib et arm/include.

  6. mettre des bibliothèques ffmpeg disponibles pour vos projets

les étapes ci-dessus sont entièrement testées et je les ai effectuées sur ma machine et la construction a été réussie. Pour la rédaction de cette réponse j'ai eu l' référence de cet article Comment Construire ffmpeg avec NDK r9 mais comme pour les versions plus anciennes j'ai fait quelques corrections sur ma propre.

ouvert pour poser des doutes.

35
répondu Janki Gadhiya 2017-05-23 11:47:16

avez-vous vu ce lien Writingminds s FFmpeg bibliothèque fourni toutes les explications à ce sujet dans ce lien

la dernière Version de la bibliothèque writingmind est ici https://github.com/WritingMinds/ffmpeg-android-java/releases enter image description here

Si vous voulez utiliser la dernière version de bibliothèque vous peut le faire correctement à partir de build.gradle parce que si une bibliothèque n'est pas mise à jour il peut être vu et peut être mis à jour à partir de build.gradle , je le fais toujours pour de nombreuses bibliothèques pour la dernière version disponible.

Pour gradle dans FFMpeg utiliser ce

compile 'com.writingminds:FFmpegAndroid:0.3.2'

d'autres bibliothèques semblables à elle est donnée sur ce lien https://android-arsenal.com/details/1/925

Aussi je vous suggère de lire ce que , et ce que

si vous voulez utiliser la dernière version de la bibliothèque d'origine aller ici: FFmpeg [ la dernière version sera ici ]

pour ajouter avec le code natif puis ces blogs peuvent vous aider""

http://ffmpeg-android.blogspot.in / et

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

5
répondu TapanHP 2017-05-23 12:03:06

j'ai expérimenté avec ffmpeg pour android pendant quelques semaines.

la bibliothèque appelée FFmpeg4Android et peut être trouvée ici à WarZone .

je sais que le titre le dit depuis le 6 décembre 2011 mais j'ai testé et travaillé avec elle et tout se passe bien. Vous n'avez pas mentionné Quel Est votre besoin exact avec cette bibliothèque, mais vous pourriez lire au sujet des capacités ffmpeg au site officiel .

le FFmpeg4Android a un projet d'exemple qui peut être une grande référence, et aussi leur soutien est immédiat et clair.

les commandes s'exécutent selon votre entrée de chaîne, E. g:

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

faites-moi savoir si vous avez besoin d'aide, je serai ravi de vous aider.

1
répondu Juvi 2016-07-12 09:23:14