概要:
好像三个月没有更新博客了,但三年前真的很忙很累呢。 原以为直播功能稳定下来就没什么大不了的了,没想到魔法短视频功能、thdhy、短视频又变成了花。 卷起袖子给你。
现在我们把我们项目的直播SDK开源了。 我们是海外的直播平台,百万用户。 经过半年的反复,SDK相当稳定,可以放心使用。 3359 github.com/Wang Shuo 1143368701/wslivedemo
这个sdk是我在这个librestreaming的修改基础上修改的,因为修改了太多的代码,使用方法发生了变化。
特性:
支持视频录制和推送流,录制视频的推送流可以同时进行
支持推送流中的实时帧剪切功能
支持推流过程中的实时镜像功能,不中断推流
支持关键帧间隔gop的设置
支持码率、帧频的动态设定
支持预览分辨率、编码分辨率的个别设定
支持gpu过滤器,可以通过在opengles中绘制图像纹理来自定义过滤器。
支持fbo过滤器集的设置。
支持水印设置
支持前后摄像头快速切换,避免中断推送流程。
支持后台流媒体、后台视频录制
美颜滤镜可动态调节皮肤光滑、美白、血色。
它与GPUImage兼容,允许您在不修改一行代码的情况下保留GPUImage滤镜。 请参考demo。
关于美颜:
美颜滤镜可动态调节皮肤光滑、美白、血色。 可以调用喜欢的美颜过滤器。
关于拆分帧和镜像:
可以在推送过程中实时剪切帧。
在推送流程中可以实时调整镜像,不会中断推送流程。 可以分别调节预览镜、推流镜。
关于性能:
采用摄像机回调纹理,在OpenGL渲染后直接将textureID传递给编码器的方案。 中途没有数据格式的转换,glReadPixel ()函数也没有花费时间的问题。 所以性能比其他方案好得多。 缺点是必须在Android4.3以上。
关于使用:
1 .所有常见的API都位于StreamLiveCameraView类中
安卓: id=' @ id/stream _ preview view '
安卓: layout _ width=' match _ parent '
安卓: layout _ height=' match _ parent ' /
2 .初始化推送流配置。 StreamAVOption类有多个参数,如果不配置,请使用默认值
/**推流参数设置*
公共void initliveconfig (
mlivecameraview=(streamlivecameraview ) findviewbyid (r.id.stream _ preview view );
//参数配置开始
streamavoption=newstreamavoption (;
streamavoption.stream URL=rtmp URL;
//参数配置结束
mlivecameraview.init(this,streamAVOption;
mlivecameraview.addstreamstatelistener (resconnectionlistener );
//设置滤镜组
链接列表文件=new linked list (;
文件. add (newgpuimagecompatiblefilter (newgpuimagebeautyfilter () );
files.add (newgpuimagecompatiblefilter (newgpuimageaddblendfilter ) );
mlivecameraview.sethardvideofilter (newhardvideogroupfilter )文件);
}
3 .开始推送流录制的具体参考demo :
caser.id.BTN _ start streaming ://推送流开始
if (! liveCameraView.isStreaming (
live camera view.start streaming (rtmp URL;
}
黑;
caser.id.BTN _ stop streaming ://推送流停止
实时相机视图. is streaming () ) ) ) )。
liveCameraView.stopStreaming ()
}
黑;
case r.id.BTN _ start record ://开始录制
if (! liveCameraView.isRecord (
liveCameraView.startRecord (;
}
黑;
case R.id.btn_stopRecord://停止录制
实时相机视图. isrecord () ) ) )。
liveCameraView.stopRecord (;
}
关于集成:
方法2。
//additinyourrootbuild.gradleattheendofrepositories 3360
所有项目{
资料档案库{
.
maven { url 'https://jitpack.io' }
}
}
//Add the dependency
ependencies { compile compile ' com.github.Wang Shuo 114368701: wslivedemo : v 1.7 ' }
关于学习:
欢迎加入音视频交流群: 364886309