¿FFMpeg jni en Android?

He construido ejecutables y bibliotecas de FFMPEG según lo proporcionado por Bambuser (http://bambuser.com/opensource). Así que logré construir los ejecutables y librerías de Android. ¿Cómo puedo enlazar estas libs en mi proyecto Eclipse e invocar las funciones FFmpeg de Java? El código de código abierto incluye los archivos de cabecera C.

Soy nuevo en la codificación nativa de Android, y no pude encontrar una respuesta fácil para esto. En básico: tener un montón de bibliotecas compatibles con Android y algunos archivos de cabecera C ¿qué tengo que hacer para reutilizar la funcionalidad de las librerías desde java (+ SDK de Android)?

Cualquier ayuda sería apreciada.

Saludos cordiales,

Porqué cómo

Tienes que escribir un código de pegamento C usando las convenciones de JNI para exponer las funcionalidades de FFmpeg al código Java. Aquí hay un ejemplo de un método JNI implementado en C desde las muestras de Android NDK:

jstring Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env, jobject thiz ) { return (*env)->NewStringUTF(env, "Hello from JNI !"); } 

También necesita un código Java para cargar la biblioteca y declarar el método nativo.

 public class HelloJni { public native String stringFromJNI(); static { System.loadLibrary("hello-jni"); } } 

Encontré este proyecto en sourceforge que ya ha implementado alguna interfaz JNI para ffmpeg para integrarla con Java Media Framework. Puede que le resulte útil.

Hay otra tecnología Java FFI llamada JNA (Java Native Access) que le permite declarar prototipos de funciones nativas en Java y llamarlos directamente. Su uso puede requerir un código menor. Vea este proyecto para una implementación de Android. (Nunca lo he usado yo mismo)

  • Android- Cómo compilar ffmpeg para todas las arquitecturas cpu
  • Android NDK: Conseguir java.lang.UnsatisfiedLinkError: dlopen falló: no puede localizar el símbolo "señal" referido por "libffmpeg.so"
  • FFMpeg Android Stagefright SIGSEGV error (decodificación h264)
  • FFMPEG para Android toolchains: brazo-linux-armeabi-eabi-pkg-config - hay algún toolchain que contenga la herramienta pkg-config
  • Adición de mapa de bits de marca de agua en video en android: MediaMuxer de 4.3 o ffmpeg
  • Compilación de FFmpeg 3.1.1 para x86 con Android NDK
  • FFmpeg convertir imagen única en video Android
  • FFmpeg - no puede encontrar ExecuteBinaryResponseHandler - Android / Java
  • ¿Cómo puedo ejecutar la línea de comandos FFMPEG y aceptar múltiples tuberías (vídeo y audio) sin bloquear en la primera entrada?
  • GC y onTouch causan un error de señal fatal 11 (SIGSEGV) en la aplicación que utiliza ffmpeg a través de ndk
  • Pasar un fd int nativo a FFMPEG desde un URI abierto
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.