2010-04-15 38 views
48

Estoy tratando de compilar ffmpeg para un android. He encontrado varias publicaciones sobre este tema, pero ninguna de ellas parece funcionar. Si intentó compilar ffmpeg como está publicado en [1]. ¿Alguien compiló exitosamente ffmpeg usando este tutorial? No estoy seguro de cómo realizar el paso 4 a 5.ffmpeg para un android (usando el tutorial: "ffmpeg and Android.mk")

PASO 4: Configuración ...

PASO 5: cd a su directorio raíz NDK, tipo hacen TARGET_ARCH = brazo APP = ffmpeg-org

Me parece que la construcción de una aplicación como se explica en el tutorial en el paso 5 necesita algunos pasos previos. Lamentablemente, no tengo ninguna aplicación en la carpeta para hacer. Estoy usando la versión 3 de android ndk actual y revisé las versiones de ffmpeg reales de [3] y [4]. Estoy agradecido por cada consejo.

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

+4

He revisado todas las respuestas aquí y en muchos otros sitios y no parece haber una guía definitiva para compilar, construir y usar ffmpeg (en un entorno Windows) para Android. Sería extremadamente útil poder clavar esto. –

+0

Encontré el siguiente enlace, que funciona http://rowntreerob.wordpress.com/2012/06/17/ffmpeg-on-android-adding-vmware-and-ubuntu-to-best-practice/ –

Respuesta

3

En NDK R3, cuando se utiliza el comando make, el NDK simplemente usará el nombre de la carpeta en el carpeta de "aplicaciones" para el nombre de su proyecto. Esto supone que tiene sus archivos fuente FFmpeg y android.mk en algún lugar dentro de NDK/apps/ffmpeg-org/jni/

En otras palabras, asegúrese de que su nombre de carpeta esté establecido en ffmpeg-org.

EDITAR: Puede que le resulte útil usar NDK r4 que cambia make a ndk-build. En este nuevo NDK, no necesita tener su proyecto configurado de ninguna manera en particular, ya que ndk-build simplemente busca en su proyecto los archivos Android.mk para decirle qué compilar.

20

Después de mirar alrededor de la red. La única solución de trabajo que encontré es suministrada por Bambuser, que portó ffmpeg para usar en su aplicación de Android.

Código está aquí: http://bambuser.com/opensource

Básicamente copiar los archivos .so al directorio JNI/lib, junto con los archivos .h que pueda necesitar, crear un contenedor a través de JNI javah, y funciona.

EDIT:

Dado que este post fue escrito algunos proyectos ffmpeg envasados ​​para android a la superficie, uno de los más fáciles de compilar y usar está aquí: https://github.com/guardianproject/android-ffmpeg.

Toma el enfoque de compilar estáticamente un archivo binario (no una biblioteca) que se ejecuta a través del comando de shell en tiempo de ejecución. Buscar github para 'android ffmpeg' para horquillas y proyectos relacionados.

No encontró una aplicación basada en un método bien empaquetado basado en JNI.

+3

No necesita ¿un archivo C o C++ que puede hacer llamadas a las bibliotecas compartidas o pueden estas llamadas hacerse con los archivos de encabezado? –

+2

¿Podrías dar más detalles sobre eso (también en la pregunta de @John)? ¿Lo tienes para que funcione? – slhck

+1

Hola, @Guy, ¿crees que podrías por favor explicar cómo conseguiste que esto funcione? Posiblemente con algunos ejemplos de código e instrucciones? –

3

Proporcionaré una lista más actualizada de que explicará cómo construir y, en algunos casos, incluso usar FFMPEG en Android.

Ésta es la guía que más me gustó: http://www.roman10.net/how-to-build-ffmpeg-with-ndk-r9/

Si necesita más opciones, puede echar un vistazo a estos, que son igualmente bueno:

+0

https://github.com/appunite/AndroidFFmpeg parece ser bastante bueno también. Pero es un reproductor de video, y necesito un transcodificador, por lo que su segundo enlace a ** android-ffmpeg-x264 ** parece adecuado, gracias – Mixaz