录制时逐帧处理Android视频

dav*_*SET 8 video android effects frames

我试图做的是创建一个应用程序,在录制时为视频添加效果.有没有办法让回调方法接收帧,然后对它应用一个效果并记录下来.Android Market(Videocam Illusion)目前有一个应用程序声称它是唯一可以执行此操作的应用程序.任何人都知道Videocam Illusion如何做到这一点,或者有一些链接指向Android的视频处理的可能教程?

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

视频录制时的Android预览处理

Ale*_*lly 11

不幸的是,(除非我不知道API提供的其他方法)这样做的方法是使用直接流到相机并通过使用某种本地代码来修改流来操纵它.我之前在制作眼镜机时做过类似的事情 - 所以我会告诉你它基本上是如何工作的.

  1. 使用NDK打开流(可能是api,具体取决于实现)
  2. 修改流的字节 - 每个帧作为单独的数据包发送.您必须从相机中抓取每个数据包,然后进行修改.您可以替换颜色,也可以翻译.您还可以使用OpenGL通过添加玻璃效果等内容来完全修改图像.
  3. 将图像展平
  4. 将图像发送到要显示的视图控制器.

您必须注意的一件事是每个帧大约1/30秒发生数据包和图像的加载和发送.因此代码必须进行极为优化.