Наложение видео на Android - программирование
Подтвердить что ты не робот

Наложение видео на Android

Я пытаюсь добавить наложение изображений на видео, чтобы оверлейное изображение отображалось только для определенного таймфрейма.

Следуя инструкциям из следующей ссылки, я могу делать оверлейное видео с изображением, которое накладывается на всю длину видео. http://ffmpeg.gusari.org/viewtopic.php?f=8&t=1181

Используемая команда FFMPEG:

/data/data/com.example.test/lib/libffmpeg.so -i /storage/sdcard0/e.mp4 -i /storage/sdcard0/a.png -filter_complex [0:v][1:v]overlay=10:10 -codec:a copy /storage/sdcard0/testFFmpeg/cle3far.3gp 

Однако мне нужно наложить изображение на определенный временной интервал видео. Поэтому я попробовал следующую команду, но она не работала.

Команда FFMPEG, которая не работает:

/data/data/com.example.test/lib/libffmpeg.so -i /storage/sdcard0/e.mp4 -i /storage/sdcard0/a.png -filter_complex [0:v][1:v]overlay=10:10:enable=between(t\,0\,30) -codec:a copy /storage/sdcard0/testFFmpeg/cle3far.3gp 

Сообщение об ошибке:

Ключ 'не найден. Инициализация ShelloutError фильтр 'overlay' с args '10: 10: enable = между (t, 0,30)' Фильтры настройки ShelloutError.

По googling я смог найти, что мне нужен FFMPEG 2.0, поэтому я попытался создать новую библиотеку ffmpeg, следуя http://vec.io/posts/how-to-build-ffmpeg-with-android-ndk, но он также не работал.

Было бы здорово, если бы кто-нибудь мог получить от меня что-нибудь следующее:

  • предварительно скомпилированная библиотека Android для FFMPEG 2.0+ (libffmpeg.so)
  • или способ сделать наложение изображений без FFMPEG
4b9b3361

Ответ 1

Как и два года назад, похоже, что это было невозможно, поэтому может быть, что это не изменилось. Здесь вы можете найти конкретную референцию: http://ffmpeg.org/pipermail/ffmpeg-user/2012-January/004062.html

Кажется, я ничего не могу найти об этом совсем недавно. Кажется, есть способ начать наложение в определенный момент в видео, но не останавливать его позже (см. Этот пост для этой информации: Наложение видео после установленного смещения по времени с помощью FFmpeg).

Предложение первой ссылки - применить его к сегменту видео, на котором вы хотите отображать оверлей, так что это может быть единственным способом, к сожалению, на данный момент (по крайней мере, частично используя FFMPEG).