HWencoding&librtmp stream.
支持cpu滤镜和gpu滤镜。
硬编码基于Mediacodec。
推流基于librtmp。
支持cpu滤镜,并可以通过处理图像数组来自定义滤镜。
支持gpu滤镜,并可以通过opengles绘制图像纹理来自定义滤镜。
gpu滤镜模式下兼容GPUImage,一行代码不用修改就可以直接使用GPUImage的滤镜。
前后摄像头快速切换,不会打断推流。
可以自定义帧率,最大不会超过设备支持帧率
可以选择图像大小,码流比特率,具体取决于设备支持。
支持两种滤镜模式:使用cpu的软模式和使用gpu(opengles)的硬模式,硬模式效率通常高于软模式。
软模式下:
你可以通过继承BaseSoftVideoFilter创建自定义滤镜。
sample.softfilter中有一些使用Java,NDK和RenderScript来处理图像的滤镜示例。
在acquireSoftVideoFilter和releaseSoftVideoFilter之间可以安全的修改滤镜的属性,不要持有滤镜超过3毫秒。
滤镜中的颜色格式为NV21。
硬模式下:
你可以通过继承BaseHardVideoFilter或者OriginalHardVideoFilter来创建自定义滤镜。
sample.hardfilter中有一些示例。
继承OriginalHardVideoFilter只需要通过提供Shader就可以容易的实现大部分效果。
继承BaseHardVideoFilter需要自己处理opengl细节,但是可以实现任何效果。
在acquireHardVideoFilter和releaseHardVideoFilter之间可以安全的修改滤镜的属性。不要持有滤镜超过3毫秒。
关于兼容GPUImageFilter: