Je veux configurer FFMPEG
dans Android studio mais je ne peux pas obtenir de document ou de lien pour cela. Github sur de nombreuses FFMPEG
lib disponibles pour Android mais qui sont tous avec l'ancienne version. Et comment exécuter la commande dans android? Et je veux savoir après configurer FFMPEG
alors comment pouvons-nous exécuter les commandes FFMPEG
. Aidez-moi pour merci d'avance.
J'ai utilisé les liens ci-dessous, mais sans succès pour la dernière version.
http://writingminds.github.io/ffmpeg-Android-Java
https://github.com/WritingMinds/ffmpeg-Android-Java
https://github.com/havlenapetr/FFMpeg
La dernière version de FFMPEG
est 3.1.1, vient de sortir avant 12 jours. Je pense donc qu'il n'y a pas démo facilement disponible comme celle-ci un.
Nous devons construire la bibliothèque FFMPEG
par nous-mêmes. J'ai trouvé quelques questions à coller ici qui pourraient vous aider. (Pas testé)
Comment construire FFmpeg pour Android
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 . Ceci est assez ancien, il vous suffit donc de changer les versions mentionnées ici. Pour FFMPEG
ce sera 3.1.1
& NDK ce sera r12b
.
Construction FFMPEG
avec NDK r12b:
Télécharger Android NDK : la dernière version de Android NDK peut être téléchargée sur site Web Android NDK . Au moment d'écrire cette réponse, la dernière version est NDK r12. Décompressez simplement l'archive
Télécharger le code source ffmpeg : Le code source FFMPEG peut être téléchargé à partir du site Web 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.
Mettre à jour le fichier de configuration: Ouvrez le fichier ffmpeg-3.1.1/configure avec un éditeur de texte et recherchez 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)'
Cela provoque la compilation des bibliothèques partagées ffmpeg dans libavcodec.so. (par exemple, libavcodec.so.55), qui n'est pas compatible avec Android build system. Par conséquent, nous devrons remplacer les lignes ci-dessus par 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)
Construisez ffmpeg: Copiez le texte suivant dans un éditeur de texte et enregistrez-le en tant que build_Android.sh dans le dossier 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
Une fois le fichier enregistré, allez dans le répertoire où se trouve ce fichier et exécutez la commande ci-dessous,
Sudo chmod +x build_Android.sh
Exécutez ensuite le script par la commande,
./build_Android.sh
Sortie de la construction: La construction peut prendre un certain temps pour se terminer en fonction de la vitesse de votre ordinateur. Une fois cela fait, vous devriez pouvoir trouver un dossier $ NDK/sources/ffmpeg-3.1.1/Android, qui contient les dossiers arm/lib et arm/include.
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 écrire cette réponse, j'ai pris la référence de cet article Comment construire ffmpeg avec NDK r9 mais comme c'était le cas pour les anciennes versions, j'ai fait quelques corrections par moi-même.
Ouvert pour poser des doutes.
Je vous suggère ces URL suivantes qui m'ont été utiles:
http://androidwarzone.blogspot.in/2011/12/ffmpeg4Android.html
http://writingminds.github.io/ffmpeg-Android-Java/
https://androiddeveloperhelp.wordpress.com/2015/12/19/video-editing-Android-example/
Pour la connaissance:
http://www.lai18.com/content/5175900.html
Code source Android studio:
https://drive.google.com/file/d/0B9qAjo6wKhk9MEpNNjMxaG5oWXM/view?usp=sharing
Cela peut vous aider.
Avez-vous vu ce lien La bibliothèque FFmpeg de Writingminds a fourni toutes les explications à ce sujet dans ce lien
Si vous souhaitez utiliser la dernière version d'une bibliothèque, vous pouvez le faire directement dans build.gradle
Car si une bibliothèque n'est pas mise à jour, elle peut être vue et peut être mise à jour à partir de build.gradle
, Je le fais toujours pour de nombreuses bibliothèques pour la dernière version disponible.
Pour gradle dans FFMpeg, utilisez ceci
compile 'com.writingminds:FFmpegAndroid:0.3.2'
Plus de bibliothèques similaires à celle-ci sont données sur ce lien https://Android-arsenal.com/details/1/925
Je vous suggère également de lire ce que , et ce que
d'ajouter avec du code natif, ces blogs peuvent vous aider
Je connais ffmpeg depuis Android depuis quelques semaines.
La bibliothèque appelée FFmpeg4Android et peut être trouvée ici à WarZone .
Je sais que le titre le dit du 6 décembre 2011, mais je l'ai testé et travaillé avec et tout se déroule sans problème. Vous n'avez pas mentionné quel est votre besoin exact avec cette bibliothèque, mais vous pouvez lire sur les capacités de ffmpeg sur le site officiel .
Le FFmpeg4Android a un exemple de projet qui peut être une excellente référence, et leur support est également immédiat et clair.
Les commandes s'exécutent en fonction de votre entrée de chaîne, par exemple:
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 heureux de vous aider.