Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo comprimir mp4 video con MediaCodec Android?

En mi aplicación para Android, quiero comprimir el video mp4 cambiando su resolución, bitrate. No quiero usar FFmpeg (porque no quiero usar NDK), así que decidí usar MediaCodec API.

Estos son mis pasos lógicos:

  1. Extraiga el archivo de vídeo con MediaExtractor y, a continuación, descodifique los datos.
  2. Crear nuevo codificador con mi nueva resolución, bitrate y codificar datos.
  3. Uso de MediaMuxer para crear un nuevo archivo mp4.

Mi problema es: No sé cómo configurar la conexión entre la salida del decodificador y la entrada del codificador. Puedo decodificar el video a una superficie o codificar un nuevo video de una superficie. Pero no entiendo cómo conectarlos.

He leído estos enlaces: Android MediaCodec: Reduzca el tamaño de vídeo mp4 , la compresión de vídeo en android utilizando la nueva biblioteca de MediaCodec y el ejemplo de Bigflake: https://android.googlesource.com/platform/cts/+/jb-mr2-release/tests /tests/media/src/android/media/cts/DecodeEditEncodeTest.java

¿Puede alguien darme una explicación clara de lo que tengo que hacer?

One Solution collect form web for “Cómo comprimir mp4 video con MediaCodec Android?”

He utilizado esto para ver cómo manipular vídeo en android: https://github.com/hoolrory/AndroidVideoSamples , compruebe el VideoResampler.java en la CommonVideoLibrary .

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.