Android视频删除色度键背景

时间:2016-10-27 06:06:55

标签: android android-ndk video-processing chromakey

我已查看this问题。

非常相似: 我想用Android相机录制视频。 之后用库删除背景,这是用色度键。 首先,我认为我应该使用android NDK以逃避SDK内存限制并使用整个内存。 视频的长度很短,几秒钟,所以也许能够处理它。 我更喜欢使用SDK实现并设置android:largeHeap="true",因为.so文件架构不匹配。

请提供SDK或NDK的库建议。

1 个答案:

答案 0 :(得分:1)

IMO您应该更喜欢基于NDK的解决方案,因为视频处理是一项耗费CPU的操作,并且Java代码不会为您提供更好的性能。此外,最流行和最可靠的媒体处理库通常用C或C ++编写。

我建议你看看FFmpeg。它提供了应对多媒体的能力。 chromakey过滤器可以帮助您删除绿色背景(或您想要的任何颜色)。然后,如果需要,您可以使用其他视频作为新背景。请参阅blend过滤器文档。

Filters是一个很好的强大概念。它们既可以通过ffmpeg工具命令行使用,也可以通过libavfilter API使用。对于前一种情况,您应该找到为Android编译的ffmpeg二进制文件,并使用传统的Runtime.exec()运行它。对于后一种情况 - 您需要编写本机代码,创建适当的过滤器图并执行处理。此代码必须与FFmpeg库链接。