Estoy intentando construir la biblioteca de FFmpeg para usar en mi aplicación de Android con el NDK. La razón de esto es porque estoy usando la función nativa de captura de video en Android porque realmente no quiero escribir mi propio videograbador. Sin embargo, la captura de video nativo solo permite una codificación de alta calidad o una codificación de baja calidad. Quiero algo intermedio, y creo que la solución es usar la biblioteca FFmpeg para volver a codificar el video de alta calidad para que sea más liviano.Creando FFmpeg para que Android use los argumentos de línea de comando
Hasta ahora he podido construir la biblioteca FFmpeg de acuerdo con esta guía: http://www.roman10.net/how-to-build-ffmpeg-for-android/ y con algunos ajustes he podido hacer que funcione.
Sin embargo, todo lo que he encontrado parece ser sobre escribir tu propio codificador, lo que me parece excesivo. Todo lo que realmente quiero hacer es enviar una cadena en formato de línea de comando a la función main() de FFmpeg y volver a codificar mi video. Sin embargo, parece que no puedo entender cómo construyo FFmpeg para darme acceso al método principal. Encontré esta publicación: Compile ffmpeg.c and call its main() via JNI que enlaza a un proyecto que hace lo que quiero más o menos, pero por mi vida no puedo entender qué está pasando. También parece que está compilando más de lo que quiero, y realmente me gustaría mantener mi aplicación lo más ligera posible.
Alguna dirección adicional sería extremadamente útil. Gracias.
Me interesa lo mismo, pero para la captura de audio en lugar de video. Se aplican principios similares, por lo que estoy agregando una recompensa a su pregunta. – Brad
@Brad, ¿Puedes dar algunas aclaraciones ?: Has podido construir ffmpg usando la guía anterior, pero quieres averiguar cómo usar realmente la biblioteca creada llamándola desde el código java y pasándole algunos parámetros para codificarla. Es ese entendimiento correcto? – av501
@ av501, esperaba utilizar la entrada Alsa de FFMPEG para capturar audio desde el micrófono en un dispositivo Android. Creo que esto está en la línea de lo que Zargoon quiere hacer con la captura de video desde la cámara. Sin embargo, esta es la pregunta de Zargoon, por lo que si esas dos cosas son realmente diferentes, responda específicamente a lo largo de las líneas de captura de video. – Brad