Quiero configurar FFMPEG
en el estudio de Android, pero no puedo obtener ningún documento o enlace para eso. Github en muchos FFMPEG
lib disponible para Android, pero que todos están con la versión anterior. ¿Y cómo ejecutar el comando en Android? y quiero saber después de configurar FFMPEG
, ¿cómo podemos ejecutar los comandos FFMPEG
? Ayudame por eso Gracias de antemano.
He utilizado enlaces a continuación pero no éxito en la última versión.
http://writingminds.github.io/ffmpeg–android–java
https://github.com/WritingMinds/ffmpeg-android-java
https://github.com/havlenapetr/FFMpeg
https://github.com/appunite/AndroidFFmpeg
https://github.com/WritingMinds/ffmpeg-android
La última versión de FFMPEG
es 3.1.1, acaba de lanzar antes de 12 días. Así que creo que no hay una demo disponible como esta antigua .
Necesitamos construir la biblioteca FFMPEG
por nuestra cuenta. Algunas preguntas que encontré pegar aquí podrían ayudarte. (No probado)
Cómo construir FFmpeg para Android
Debe comstackrlo por su cuenta descargando Android NDK y la última versión de FFMPEG
.
Un tutorial también está allí: cómo construir FFmpeg para Android . Esto es bastante antiguo, así que solo necesita cambiar las versiones mencionadas aquí. Para FFMPEG
será 3.1.1
y NDK será r12b
.
Construyendo FFMPEG
con NDK r12b:
Descargue Android NDK : la última versión de Android NDK se puede descargar en el sitio web de Android NDK . En el momento de escribir esta respuesta, la última versión es NDK r12. simplemente descomprime el archivo
Descargue el código fuente de ffmpeg : el código fuente de FFMPEG se puede descargar desde el sitio web de ffmpeg . La última versión estable es 3.1.1 (en el momento de escribir esto). Descargue el código fuente y descomprímalo en la carpeta $ NDK / sources.
Actualizar archivo de configuración: abra el archivo ffmpeg-3.1.1 / configure con un editor de texto y ubique las siguientes líneas.
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)' LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"' SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)' SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'
Esto causa que las bibliotecas compartidas de ffmpeg se compilen en libavcodec.so. (por ejemplo, libavcodec.so.55), que no es compatible con el sistema de comstackción de Android. Por lo tanto, tendremos que reemplazar las líneas anteriores con las siguientes líneas.
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)' LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"' SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)' SLIB_INSTALL_LINKS='$(SLIBNAME)
Build ffmpeg: copie el siguiente texto en un editor de texto y guárdelo como build_android.sh en la carpeta ffmpeg_3.1.1.
#!/bin/bash NDK=$HOME/Desktop/adt/android-ndk-r9 SYSROOT=$NDK/platforms/android-9/arch-arm/ TOOLCHAIN=$NDK/toolchains/arm-linux-androidabi-4.8/prebuilt/linux-x86_64 function build_one { ./configure --prefix=$PREFIX --enable-shared --disable-static --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-avdevice --disable-doc --disable-symver --cross-prefix=$TOOLCHAIN/bin/arm-linux-androidabi- --target-os=linux --arch=arm --enable-cross-compile --sysroot=$SYSROOT --extra-cflags="-Os -fpic $ADDI_CFLAGS" --extra-ldflags="$ADDI_LDFLAGS" $ADDITIONAL_CONFIGURE_FLAG make clean make make install } CPU=arm PREFIX=$(pwd)/android/$CPU ADDI_CFLAGS="-marm" build_one
Una vez que se guarda el archivo, vaya al directorio donde se encuentra este archivo y ejecute el comando a continuación,
sudo chmod +x build_android.sh
Luego ejecuta la secuencia de comandos por el comando,
./build_android.sh
Generar salida: la comstackción puede demorar un tiempo para finalizar dependiendo de la velocidad de su computadora. Una vez hecho, deberías poder encontrar una carpeta $ NDK / sources / ffmpeg-3.1.1 / android, que contiene las carpetas arm / lib y arm / include.
Los pasos anteriores están completamente probados y los realicé en mi máquina y la construcción fue exitosa. Para escribir esta respuesta, he tomado la referencia de este artículo Cómo construir ffmpeg con NDK r9, pero como era para una versión anterior, he hecho algunas correcciones por mi cuenta.
Abierto para preguntar cualquier duda.
Te sugiero estas siguientes URL que fueron útiles para mí:
http://androidwarzone.blogspot.in/2011/12/ffmpeg4android.html
http://writingminds.github.io/ffmpeg-android-java/
https://androiddeveloperhelp.wordpress.com/2015/12/19/video-editing-android-example/
Para el conocimiento:
http://www.lai18.com/content/5175900.html
Código fuente de estudio de Android:
https://drive.google.com/file/d/0B9qAjo6wKhk9MEpNNjMxaG5oWXM/view?usp=sharing
Puede ser de ayuda.
¿Has visto este enlace? La biblioteca FFmpeg de Writingminds proporcionó toda la explicación al respecto en este enlace
Si desea utilizar la última versión de cualquier biblioteca, puede hacerlo desde build.gradle
ya que si no hay ninguna biblioteca actualizada, se puede ver y se puede actualizar desde build.gradle
. Esto siempre lo hago para la última biblioteca disponible. versión.
Para gradle en FFMpeg usa esto
compile 'com.writingminds:FFmpegAndroid:0.3.2'
Se ofrecen más bibliotecas similares en este enlace https://android-arsenal.com/details/1/925
También te sugiero que leas esta que , y esta que
para agregar con código nativo, estos blogs pueden ayudarte
http://ffmpeg-android.blogspot.in/ y
http://www.roman10.net/2011/07/17/how-to-build-android-applications-based-on-ffmpeg-by-an-example/
He experimentado con ffmpeg para Android durante algunas semanas.
La biblioteca se llama FFmpeg4Android y se puede encontrar aquí en WarZone .
Sé que el título lo dice desde el 6 de diciembre de 2011, pero probé y trabajé con él, y todo funciona sin problemas. No ha mencionado cuál es su necesidad exacta con esta biblioteca, pero podría leer sobre las capacidades de ffmpeg en el sitio oficial .
El FFmpeg4Android tiene un proyecto de ejemplo que puede ser una gran referencia, y también su apoyo es inmediato y claro.
Los comandos se ejecutan de acuerdo con su entrada de cadena, por ejemplo:
ffmpeg -y -i /sdcard/videokit/in.mp4 -strict experimental -s 160×120 -r 25 -vcodec mpeg4 -b 150k -ab 48000 -ac 2 -ar 22050 /sdcard/videokit/out.mp4
hágamelo saber si necesita ayuda adicional, estaré encantado de ayudar.