web-dev-qa-db-fra.com

ffmpeg pour a Android (en utilisant le tutoriel: "ffmpeg and Android.mk")

J'essaie de compiler ffmpeg pour un Android. J'ai trouvé plusieurs articles sur ce thème, mais aucun d'eux ne semble fonctionner. Si essayé de construire ffmpeg comme il est publié sur [1]. Quelqu'un at-il réussi à compiler ffmpeg en utilisant ces tutoriels? Je ne sais pas comment réaliser les étapes 4 à 5.

ÉTAPE 4: Configuration ...

STEP5: cd dans votre répertoire racine NDK, tapez make TARGET_Arch = arm APP = ffmpeg-org

Il me semble que la construction d'une application comme celle-ci est expliquée dans le tutoriel de l'étape 5 nécessite quelques étapes précédentes. Malheureusement, je n'ai aucune application à créer dans le dossier. J'utilise la version actuelle Android ndk version 3 et j'ai vérifié les versions ffmpeg réelles de [3] et [4]. Je suis reconnaissant de tous les conseils.

[1] http://slworkthings.wordpress.com/
[2] http://gitorious.org/~olvaffe/ffmpeg/ffmpeg-Android
[3] http://ffmpeg.org/download.html

49
Matthias

Après avoir regardé autour du net. La seule solution de travail que j'ai trouvée est fournie par Bambuser qui a porté ffmpeg à utiliser dans leur application Android.

Le code est ici: http://bambuser.com/opensource

Fondamentalement, vous copiez les fichiers .so dans votre répertoire jni/lib, avec tous les fichiers .h dont vous pourriez avoir besoin, créez un wrapper JNI via javah, et cela fonctionne.

EDIT:

Depuis que cet article a été écrit, quelques projets ffmpeg emballés pour Android ont fait surface, l'un des plus faciles à compiler et à utiliser est ici: https://github.com/guardianproject/Android -ffmpeg .

Il adopte l'approche de la compilation statique d'un binaire (et non d'une bibliothèque) qui est exécuté via la commande Shell lors de l'exécution. Recherchez dans github 'Android ffmpeg 'pour les fourches et les projets connexes.

Cependant, je n'ai pas trouvé d'implémentation JNI basée sur une méthode bien emballée.

21
Guy

J'ai trouvé un guide sur ffmpeg sur Android ici: http://rxwen.blogspot.com/2010/05/use-ffmpeg-to-setup-streaming-server-on .html

Il explique dans un autre article comment il a pu faire de la programmation native sur Android pour installer ffmpeg. J'espère que cela aide.

4
monde_

Dans NDK r3, lorsque vous utilisez la commande make, le NDK utilise simplement le nom du dossier dans le dossier "apps" pour le nom de votre projet. Cela suppose que vous avez vos fichiers source FFmpeg et Android.mk quelque part dans NDK/apps/ffmpeg-org/jni/

En d'autres termes, assurez-vous que votre nom de dossier est défini sur ffmpeg-org.

EDIT: Vous pourriez trouver utile d'utiliser NDK r4 qui change make en ndk-build. Dans ce nouveau NDK, vous n'avez pas besoin de configurer votre projet d'une manière particulière, comme ndk-build recherche simplement dans votre projet Android.mk fichiers pour lui dire quoi compiler.

3
Griffin

Je fournirai une liste de sources plus mise à jour qui expliquera comment construire et, dans certains cas, même utiliser FFMPEG sur Android.

C'est le guide que j'ai le plus aimé: http://www.roman10.net/how-to-build-ffmpeg-with-ndk-r9/

Si vous avez besoin de plus d'options, vous pouvez les consulter, qui sont tout aussi bonnes:

3
Sebastiano