Как сделать видео из множества изображений в андроиде, например, флапаграмме

2 M. Usman Afzal [2014-02-09 20:55:00]

Я искал решение и нашел - Java CV - FFmpeg

Нужно шаг за шагом интегрировать их, как это

android ffmpeg javacv


2 ответа


4 Решение Kanak Sony [2014-02-09 21:26:00]

Шаги для интеграции FFMPEG

(1.) Скачайте ffmpeg отсюда: http://bambuser.com/opensource. Это содержит скрипты для сборки ffmpeg для android.

(2.) Измените build.sh. Замените "com.bambuser.broadcaster" на название вашего пакета. Вам также необходимо установить флаги ffmpeg для включения в интересующие вас кодеки.

(3.) Запустите build.sh и скопируйте каталог build/ffmpeg в каталог приложений jni/lib.

(4.) Используйте make файл fasaxc из сообщения SO.

(5.) Создайте файл native.c в jni-каталоге и java-обертке. Для начала вы можете смоделировать его после hello-jni в образцах NDK (/samples/hello-jni).

(6.) Включите заголовки в свой файл native.c следующим образом: #include "libavcodec/avcodec.h". И вызовите нужные вам функции: avcodec_register_all() и т.д.

(7.) Включите собственные библиотеки в свой корневой актив, добавив:   статический {       System.loadLibraries( "");   }

Кроме того, существует важная ссылка Liu Feipeng Blog - http://www.roman10.net/how-to-build-ffmpeg-for-android/


1 bonnyz [2014-02-09 21:31:00]

Если вы можете настроить последний API (с 4.1 по 4.3), вы должны попытаться сыграть с этим: http://developer.android.com/reference/android/media/MediaCodec.html

Из журнала изменений:

Android 4.1 (уровень API 16) добавил класс MediaCodec для низкоуровневого кодирования и декодирования медиаконтента. При кодировании видео в Android 4.1 требуется, чтобы вы предоставили медиа массив ByteBuffer, но Android 4.3 теперь позволяет использовать поверхность в качестве входа в кодировщик. Например, это позволяет вам кодировать входные данные из существующего видеофайла или использовать фреймы, созданные из OpenGL ES.

В противном случае, если вы хотите полностью настраиваемое решение, вы можете попробовать собственный путь и реализовать свой кодер с помощью JNI и libwebm (из Google) http://www.webmproject.org/code/