首页 > 编程知识 正文

android直播app开源框架,视频直播sdk

时间:2023-05-04 07:04:17 阅读:160222 作者:176

概要:

好像三个月没有更新博客了,但三年前真的很忙很累呢。 原以为直播功能稳定下来就没什么大不了的了,没想到魔法短视频功能、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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。