2014-08-28 112 views
4

我需要在我的Android应用中添加视频过滤器,如Instagram。我搜索了很多,但没有找到很多东西。有没有像这样的鸟舍sdk图像编辑的图书馆?如何在Android上实现视频过滤器,比如instagram

+0

你能指导我解决这个问题吗? – AB1209 2015-06-30 12:50:08

+0

@DJtiwari哪个解决方案不适用于视频滤波?任何文档要引用? – Beena 2017-02-09 06:58:04

回答

1

最简单的方法是使用Java的OpenCV库(将其导入到Android项目中可能很棘手) - 它可以让您轻松地将每个帧提取到不同类型的Image对象,您可以在其中应用您的过滤器不确定OpenCV是否包含用于这样做的工具),然后用修改后的帧编写新的视频。

请记住,这可能是高度CPU和电池消耗,我不太确定这将如何工作在各种硬件配置。

另一个 - 更长的解决方案是挖掘到Android NDK并尝试使用ffmpeg。总而言之,它可能会减少CPU负载。

而且新的Android L移动版本将提供相机的一些基本的过滤器(不知道这包含视频)https://www.youtube.com/watch?v=Xtp3tH27OFs所以你可以等待一些COMPAT库

+0

这个库实际上嵌入和使用ffmpeg来做一些非常酷的东西(图像叠加,人脸检测,以及任何你喜欢的原始C++ opengl hackery):https://github.com/wysaid/android-gpuimage-plus – Ajax 2017-07-06 08:57:16

+0

我试图在之前的项目中使用FFMPEG,但发现处理速度太慢。我已经为视频(和图像)处理编写了FFMPEG的替代方案,可以在这里找到:https://github.com/isaac-udy/Kfilter – 2018-01-25 10:22:35

1

我给一些过滤器一样使用OpenGL的Instagram过滤视频ES。这非常快,非常好。

如果你只是想过滤和显示视频,你可以看看这个例子,你可以访问https://www.virag.si/2014/03/playing-video-with-opengl-on-android/。对于另一个过滤器,你可以编辑fragment_shader。

但是,如果您需要呈现过滤的视频并将其保存到SD卡,则需要mediacodec和mediamuxer。您可以从这里显示示例http://bigflake.com/mediacodec/

希望这可以帮助你,并对我的英语感到抱歉。

+0

Virag链接不再工作,请更新它。 – Harpreet 2016-07-19 07:40:48

+0

[已更新的链接](https://www.virag.si/2014/03/rendering-video-with-opengl-on-android/) – 2016-12-07 09:52:41

+0

更新后的链接不起作用(再次?太?谁知道)。更新后的链接:[https://www.virag.si/2014/03/playing-video-with-effects-using-opengl-on-android/](https://www.virag.si/2014/03/播放视频 - 与效果,使用的OpenGL-上的Android /) – ocramot 2017-10-18 14:13:13

相关问题