我一直在尝试在视频上添加图片叠加层,以便叠加图片仅在特定时间范围内显示。
按照以下链接中的说明,我可以使用图像进行叠加视频,这样就可以显示整个视频运行长度的叠加图像。 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库,但它也不起作用。
如果有人可以从我这里得到任何东西,那就太棒了:
答案 0 :(得分:0)
截至两年前,看起来这是不可能的,所以可能没有改变。您可以在此处找到具体的参考资料:http://ffmpeg.org/pipermail/ffmpeg-user/2012-January/004062.html
我最近似乎找不到任何关于它的信息。似乎有一种方法可以在视频的某个位置启动叠加层,但不能在以后停止播放(有关该信息,请参阅此帖子:Overlay video after set time offset with FFmpeg)。
第一个链接的建议是将其应用于您要显示叠加层的视频片段,因此这可能是目前唯一不幸的方式(至少部分使用FFMPEG)。