Наложение видео на 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
Ответы
Ответ 1
Как и два года назад, похоже, что это было невозможно, поэтому может быть, что это не изменилось. Здесь вы можете найти конкретную референцию: http://ffmpeg.org/pipermail/ffmpeg-user/2012-January/004062.html
Кажется, я ничего не могу найти об этом совсем недавно. Кажется, есть способ начать наложение в определенный момент в видео, но не останавливать его позже (см. Этот пост для этой информации: Наложение видео после установленного смещения по времени с помощью FFmpeg).
Предложение первой ссылки - применить его к сегменту видео, на котором вы хотите отображать оверлей, так что это может быть единственным способом, к сожалению, на данный момент (по крайней мере, частично используя FFMPEG).