来自Android的视频叠加

时间:2014-02-14 14:22:25

标签: android video ffmpeg

我一直在尝试在视频上添加图片叠加层,以便叠加图片仅在特定时间范围内显示。

按照以下链接中的说明,我可以使用图像进行叠加视频,这样就可以显示整个视频运行长度的叠加图像。 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 = between(t,0,30)'   ShelloutError配置过滤器。

通过Google搜索,我发现我需要FFMPEG 2.0,所以我尝试按照 http://vec.io/posts/how-to-build-ffmpeg-with-android-ndk 创建新的ffmpeg库,但它也不起作用。

如果有人可以从我这里得到任何东西,那就太棒了:

  1. 用于FFMPEG 2.0+(libffmpeg.so)的Android预编译库
  2. 或没有FFMPEG进行图像叠加的方法

1 个答案:

答案 0 :(得分:0)

截至两年前,看起来这是不可能的,所以可能没有改变。您可以在此处找到具体的参考资料:http://ffmpeg.org/pipermail/ffmpeg-user/2012-January/004062.html

我最近似乎找不到任何关于它的信息。似乎有一种方法可以在视频的某个位置启动叠加层,但不能在以后停止播放(有关该信息,请参阅此帖子:Overlay video after set time offset with FFmpeg)。

第一个链接的建议是将其应用于您要显示叠加层的视频片段,因此这可能是目前唯一不幸的方式(至少部分使用FFMPEG)。