• 授权协议:LGPL
  • 开发厂商:-
  • 软件语言:Java,C/C++
  • 更新日期:2016-08-15
LibreStreaming

Android real-time effect filter rtmp streaming library.using Mediacodec HWencoding&librtmp stream. 安卓实时滤镜RTMP推流库 简介: 支持cpu滤镜和gpu滤镜。支持gpu滤镜,并可以通过opengles绘制图像纹理来自定义滤镜。gpu滤镜模式下兼容GPUImage,一行代码不用修改就可以直接使用GPUImage的滤镜。前后摄像头快速切换,不会打断推流。可以选择图像大小,码流比特率,具体取决于设备支

LibreStreaming ​安卓实时滤镜RTMP推流库 项目简介

Android real-time effect filter rtmp streaming library.using Mediacodec HWencoding&librtmp stream. 安卓实时滤镜RTMP推流库 简介: 支持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毫秒。 关于磨皮算法: 使用优化过的带阈值的高斯模糊算法(Selective Gaussian Blur),sigma = 0.1,稀疏的取周围24个点,正态分布取权重计算均值。 关于兼容GPUImageFilter: 使GPUImageCompatibleFilter来兼容GPUImage的滤镜,注意不能直接使用GPUImageGroupFilter,需要把单独的滤镜用GPUImageCompatibleFilter包裹,再用HardVideoGroupFilter组合起来,具体可以参考sample中的gpuimage:SketchGroup滤镜。

LibreStreaming ​安卓实时滤镜RTMP推流库 评论内容