2013-05-13 2 views
7

Мне нужно объединить изображения в видео в качестве наложения и экспортировать его. Я нашел способы создания видео с изображений с помощью javacv, но не нашел ни одного баннера или библиотеки, которые добавляют изображения в виде наложения на существующее видео, некоторые из ссылок предлагают использовать FFMPEG и JNI для достижения этого, но, к сожалению, я не имеют какие-либо знания JNI. Они используют инфраструктуру аутентификации в IOS для достижения того же.Как добавить анимированное/простое изображение в качестве верхнего слоя к видео и экспортировать его как одно видео в Android?

enter image description here

выше изображение реплики из моих требований, если кто может вести меня в правильном направлении, и предоставить мне некоторые полезные вещи, чтобы начать с будут оценены.

До сих пор я достиг: 1) Скомпилированный FFMPEG. 2) Сгенерированные .so файлы 3) Скомпилированный и способный запускать проект Hello Jni.

Я ищу: 1) Разделение видео в рамки. 2) Объединение моих оверлейных изображений с видеокадрами 3) Воспроизведение видео со звуком.

и я знаю, что JNI - единственный способ добиться этого, так много искали, но не нашел ничего хорошего для JNI. Я не прошу весь код, но если кто-то может указать мне на хороший учебник или блог, это будет большой помощью.

Спасибо!

+1

Android наконец-то выпустил кодер. Вы можете использовать его для этого. http://stackoverflow.com/questions/18795353/using-mediacodec-to-save-series-of-images-as-video У JNI есть проблема совместимости, которая на самом деле является обломком. – lifelogger

ответ

1

Способ выполнения этого, как вы сказали, - включить видеокодек и использовать его для перекомпоновки видео.

  1. Decode оригинальное видео
  2. Нарисуйте наложения поверх оригинального видеокадров
  3. Encode кадры снова.

Использование FFMPEG с JNI - это очевидное решение, но если вы найдете любую другую библиотеку кодеков, которая может выполнить то же самое с чистой Java, она тоже будет работать.

Не знаю JNI? Это о времени, чтобы узнать его =)

Литература для обучения:

  1. NDK документы на файловой системе: http://developer.android.com/tools/sdk/ndk/index.html#Docs

  2. JNI - http://192.9.162.55/docs/books/jni/html/jniTOC.html

  3. FFMPEG для Android - есть много учебников и множество исходных деревьев, которые содержат готовую среду сборки. Вы можете либо следовать за ними, либо просто делать это самостоятельно - при условии, что вы понимаете среду NDK и можете читать make-файлы. Это пример: http://vec.io/posts/how-to-build-ffmpeg-with-android-ndk

  4. Использование FFmpeg для кодирования \ декодирования кадров - к сожалению, нет хороших уточненный учебники здесь, нет документации по API: http://ffmpeg.org/doxygen/trunk/index.html

  5. Blending растровых изображений - использовать Canvas Андроида инфраструктуры или просто вручную копировать пиксели друг над другом и смешивать в соответствии с альфа-значениями.

Предупреждение. Это сложная библиотека для сборки, и вам лучше экспериментировать с более легкими проектами NDK, прежде чем пытаться это сделать.

+0

Спасибо SriKnigget, пожалуйста, укажите мне какой-то учебник или блог, который вы знаете, чтобы достичь того, что вы предложили, в основном JNI для кодирования-декодирования видео. Я отредактировал свой вопрос, чтобы уточнить, где именно мне нужна помощь от вас, ребята. –

+0

Обновлено содержание ответа – SirKnigget

Смежные вопросы