LibreStreaming

​安卓实时滤镜RTMP推流库
授权协议 LGPL
开发语言 Java C/C++
所属分类 手机/移动开发、 手机开发包
软件类型 开源软件
地区 国产
投 递 者 贺聪
操作系统 Android
开源组织
适用人群 未知
 软件概览

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滤镜。

 相关资料
  • 直播间登录 方式一:链接登录 打开客户端链接,进入直播间启动界面 点击启动进入直播间,已自动为您填写好CC账号ID 以及直播间ID 方式二:扫码登录 点击右上角扫码按钮,扫描直播间二维码后,页面将自动录入用户ID与直播间ID信息。 方式三:输入信息登录 直播间登录页面需要填写相关信息,从上到下分别为:CC账号、直播间ID、昵称、密码。点击右上角扫码按钮,扫描直播间二维码后,页面将自动录入用户ID与

  • 19 比特流滤镜 默认编译时所有的比特流滤镜都被支持,你可以在配置脚本中以--list-bsfs获取有效的滤镜列表 可以利用--disable-bsfs禁用所有的比特流滤镜。要指定个别的滤镜可用,则在此基础上--enable-bsf=BSF,或者在默认(没有指定--disable-bsfs)下禁用个别的滤镜--disable-bsf=BSF,这里BSF是个别滤镜名称。 在ff*工具集中,-bsfs

  • 我试图转换一个实时的rtmp流到hls流。 我看了之后有了一些想法 提前谢谢...

  • SRS(Simple RTMP Server)分发RTMP是核心功能,srs的主要定位就是分发RTMP低延时流媒体,同时支持分发HLS流。 RTMP和HLS的优势参考:HLS RTMP和HLS的比较参考:RTMP PK HLS 部署RTMP的实例参考:Usage: RTMP 应用场景 RTMP是PC-flash支持最完善的流分发方式,主要的应用场景包括: 无插件流媒体应用:十年前各种浏览器插件大行

  • SRS可以将送到SRS的流转发给其他RTMP服务器,实现简单集群/热备功能,也可以实现一路流热备(譬如编码器由于带宽限制,只能送一路流到RTMP服务器,要求RTMP服务器能将这路流也转发给其他RTMP备用服务器,实现主备容错集群)。 假设服务器的IP是:192.168.1.170 Forward就是SRS将流拷贝输出给其他的RTMP服务器,以SRS转发给SRS为例: 主SRS:Master, 编码

  • 说起滤镜可能大家首先想到的就是 PhotoShop 之类的制图软件,通过此类软件的滤镜可以对图片进行美化。而在 CSS 中,我们无需借助任何软件也可以实现很多种滤镜效果,例如模糊效果、透明效果、色彩反差调整、色彩反相等等。另外,通过 CSS 中的滤镜还能对网页中的元素或者视频进行处理。本节我们就来学习一下 CSS 中滤镜的使用。 CSS 中实现滤镜效果需要通过 filter 属性并配合一些函数来实