2016-10-27 64 views
2

我已经查过this的问题。Android视频删除色度键背景

这是非常相似的: 我想用安卓相机录制视频。 之后,用库去除背景,这是与色度键。 首先,我认为我应该使用android NDK以逃离SDK内存限制并使用整个内存。 视频的长度很短,几秒钟也许可以处理它。 我倾向于使用SDK实现并设置android:largeHeap="true",因为.so文件体系结构不匹配。

请提供SDK或NDK的任何库建议。

回答

1

IMO你应该更喜欢基于NDK的解决方案,因为视频处理是一个消耗CPU的操作,Java代码不会给你更好的性能。此外,最流行和可靠的媒体处理库通常用C或C++编写。我建议你看看FFmpeg。它提供了应对多媒体的能力。 chromakey过滤器可以帮助您删除绿色背景(或任何你想要的颜色)。然后,如果需要,您可以使用另一个视频作为新背景。请参阅blend过滤器文档。

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

+0

我想试试这个。我是android新手。所以它有点混淆你写的东西。你能否指定我可以迅速进行的确切步骤?我会非常感激你。 –