2010-04-15 9 views
48

Je suis en train de compiler ffmpeg pour un android. J'ai trouvé plusieurs articles sur ce thème mais aucun de ceux-ci ne semble fonctionner. Si essayé de construire ffmpeg comme il est posté sur [1]. Est-ce que quelqu'un a réussi à compiler ffmpeg en utilisant ce tutoriel? Je ne sais pas comment réaliser l'étape 4 à 5.ffmpeg pour un android (en utilisant le tutoriel: "ffmpeg and Android.mk")

Etape 4: Configuration ...

STEP5: cd à la racine de votre NDK dir, tapez make TARGET_ARCH = bras APP = ffmpeg-org

Il me semble que la construction d'une application telle qu'elle est expliquée dans le tutoriel à l'étape 5 nécessite certaines étapes préalables. Malheureusement, je n'ai pas d'application dans le dossier à faire. J'utilise la version actuelle de Android ndk 3 et j'ai vérifié les versions ffmpeg réelles de [3] et [4]. Je suis reconnaissant pour tous les conseils.

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

+4

J'ai parcouru toutes les réponses ici et dans de nombreux autres sites et il ne semble pas y avoir de guide définitif pour compiler, construire et utiliser ffmpeg (dans un environnement Windows) pour Android. Il serait extrêmement utile d'être capable de le faire. –

+0

J'ai trouvé le lien suivant, qui travaille http://rowntreerob.wordpress.com/2012/06/17/ffmpeg-on-android-adding-vmware-and-ubuntu-to-best-practice/ –

Répondre

3

En NDK r3, lorsque vous utilisez la commande make, le NDK utilisera 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 fichier 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, car ndk-build recherche simplement dans votre projet les fichiers Android.mk pour lui indiquer ce qu'il faut compiler.

20

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

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

Fondamentalement, vous copiez les fichiers .so dans votre répertoire JNI/lib, ainsi que tous les fichiers .h que vous pourriez avoir besoin, créer un wrapper JNI par javah, et il fonctionne.

EDIT:

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

Il faut l'approche de la compilation statique d'un binaire (pas une bibliothèque) qui est exécuté par la commande shell en cours d'exécution. Recherche github pour 'android ffmpeg' pour les fourches et les projets connexes. Cependant, l'implémentation JNI basée sur la méthode n'a pas été trouvée correctement.

+3

N'avez-vous pas besoin un fichier C ou C++ qui peut faire des appels dans les bibliothèques partagées ou ces appels peuvent-ils être faits avec les fichiers d'en-tête? –

+2

pourriez-vous élaborer là-dessus (aussi sur la question de @ John)? L'avez-vous au travail? – slhck

+1

Hey, @Guy, pensez-vous que vous pourriez expliquer comment vous avez eu ce travail? Peut-être avec des exemples de code et des instructions? –

3

Je vais fournir un plus mis à jour liste des sources qui expliqueront comment construire et, dans certains cas, même utiliser FFMPEG sur Android.

C'est le guide m'a le plus plu: http://www.roman10.net/how-to-build-ffmpeg-with-ndk-r9/

Si vous avez besoin de plus d'options, vous pouvez jeter un oeil à ces derniers, qui sont aussi bien:

+0

https://github.com/appunite/AndroidFFmpeg semble être assez bon aussi. Mais c'est un lecteur vidéo, et j'ai besoin d'un transcodeur, donc votre deuxième lien vers ** android-ffmpeg-x264 ** semble approprié, merci – Mixaz