录制时逐帧处理Androidvideo

我正在尝试做的是创build一个应用程序,在录制过程中为video添加效果。 有没有什么办法让callback方法接收帧,然后应用效果,并有logging。 目前Android Market(Videocam Illusion)上有一个应用程序,声称它是唯一可以做到这一点的应用程序。 任何人都知道Videocam Illusion如何做到这一点,或有一些链接到概述Androidvideo处理的可能的教程?

这是一个没有答案的类似问题:

Androidvideo录制时的预览处理

Solutions Collecting From Web of "录制时逐帧处理Androidvideo"

不幸的是,除非我不知道API提供的其他方法,否则这样做的方式是使用直接stream到相机,并通过使用某种本机代码来修改stream。 之前我在做眼镜的时候,我已经做了类似的事情 – 所以我会告诉你它是如何工作的。

  1. 使用NDK打开一个stream(可能API,取决于实现)
  2. 修改stream的字节 – 每个帧作为一个单独的数据包发送。 你必须从相机抓取每个数据包,然后对其进行修改。 你可以做一个replace的颜色,或者你可以翻译。 您还可以使用OpenGL来完全修改图像,方法是添加诸如玻璃效果之类的东西。
  3. 将图像展平
  4. 将图像发送到视图控制器以显示。

有一件事情需要注意的是,每个帧的大约1/30秒内,数据包和图像的加载和发送都会发生。 所以代码必须非常优化。