¿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)?
- ¿Puede VideoView desmontarse y volver a unirse sin detener el flujo?
- No hay libffmpeg.so para los argumentos de la línea de comandos después de crear FFMPEG para android
- Android ffmpeg mala salida de video
- FFMPEG con soporte de codecs de hardware
- ¿Cómo compilar la última FFmpeg Library para Android?
Cualquier ayuda sería apreciada.
Saludos cordiales,
Porqué cómo
- Javacv: Decodificación H.264 "en vivo" de la corriente procedente del servidor red5 en el dispositivo Android
- Android - FFmpeg Alternativa para obtener marcos de video. (Debido a la licencia)
- crear video de la secuencia de imágenes en android
- Cómo jugar raw h264 producido por MediaCodec encoder?
- Muxing Android MediaCodec codificado H264 paquetes en RTMP
- android ffmpeg opengl es hacer película
- FFMPEG sws_scale Crash en Android
- Android ffmpeg .so descargar
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)
- ¿Cómo importar correctamente una biblioteca de Android con código JNI?
- Async tarea no funciona correctamente (doInBackground no se ejecuta) cuando el servicio se ejecuta en segundo plano, Android