写点什么

Android 技术分享| anyLive 开源项目

作者:anyRTC开发者
  • 2022 年 3 月 09 日
  • 本文字数:652 字

    阅读完需:约 2 分钟

简介

​anyLive 是开源的推拉流项目,本项目采用跨平台架构设计,一套代码支持 Android、iOS、Windows、Mac、Ubuntu 等平台。本文主要介绍 anyLive Android 平台的实现。


此项目中包含对 JNI 的使用,WebRTC Native 的实践,音视频编解码的相关实现,如果有兴趣,可以阅读源码,点个 Star🌟。

功能特性

  • 推流

  • 拉流

  • 屏幕共享

  • 图片推流

  • 基于 GPUImage 的实时滤镜

  • 音视频采集编解码方面基于 WebRTC-93、 ffmpeg4.3

  • 音视频自采集自渲染

Demo 展示

项目源码

GO🚀

编译注意事项

使用 AndroidStudio 打开之前,需要下载 webRTC,ffmpeg 库。


下载地址:👉Lib


下载解压缩后将 lib 文件夹移至:liveplayer/src/main/cpp 目录下即可


请使用 NDK 版本:20.0.5594570 编译,否则可能会出现各种错误🙅‍

API 调用

ArLiveEngine

创建引擎


//用于创建播放器、推流器val liveEngine = ArLiveEngine.create(context:Context)
复制代码


释放引擎


ArLiveEngine.release()
复制代码


创建推流器


liveEngine.createArLivePusher()
复制代码


创建播放器


liveEngine.createArLivePlayer()
复制代码
ArLivePusher

设置推流器回调


void setObserver(ArLivePusherObserver observer)
复制代码


设置本地摄像头预览 View


int setRenderView(TextureViewRenderer view)
复制代码


打开摄像头


int startCamera(boolean frontCamera)
复制代码


开始推流


int startPush(String url)
复制代码


更多方法请参考 ArLivePusher 类注释

ArLivePlayer

设置播放器器回调


void setObserver(ArLivePlayerObserver observer)
复制代码


设置播放器的视频渲染 View


int setRenderView(TextureViewRenderer view)
复制代码


开始播放


int startPlay(String url)
复制代码


更多方法请参考 ArLivePusher 类注释



发布于: 刚刚阅读数: 3
用户头像

实时交互,万物互联! 2020.08.10 加入

实时交互,万物互联,全球实时互动云服务商领跑者!

评论

发布
暂无评论
Android技术分享| anyLive 开源项目_android_anyRTC开发者_InfoQ写作平台