Android 技术分享| anyLive 开源项目
简介
anyLive 是开源的推拉流项目,本项目采用跨平台架构设计,一套代码支持 Android、iOS、Windows、Mac、Ubuntu 等平台。本文主要介绍 anyLive Android 平台的实现。
此项目中包含对 JNI 的使用,WebRTC Native 的实践,音视频编解码的相关实现,如果有兴趣,可以阅读源码,点个 Star🌟。
功能特性
推流
拉流
屏幕共享
图片推流
基于 GPUImage 的实时滤镜
音视频采集编解码方面基于 WebRTC-93、 ffmpeg4.3
音视频自采集自渲染
等
Demo 展示
项目源码
编译注意事项
使用 AndroidStudio 打开之前,需要下载 webRTC,ffmpeg 库。
下载地址:👉Lib
下载解压缩后将 lib 文件夹移至:liveplayer/src/main/cpp 目录下即可
请使用 NDK 版本:20.0.5594570 编译,否则可能会出现各种错误🙅
API 调用
ArLiveEngine
创建引擎
复制代码
释放引擎
复制代码
创建推流器
复制代码
创建播放器
复制代码
ArLivePusher
设置推流器回调
复制代码
设置本地摄像头预览 View
复制代码
打开摄像头
复制代码
开始推流
复制代码
更多方法请参考 ArLivePusher 类注释
ArLivePlayer
设置播放器器回调
复制代码
设置播放器的视频渲染 View
复制代码
开始播放
复制代码
更多方法请参考 ArLivePusher 类注释
版权声明: 本文为 InfoQ 作者【anyRTC开发者】的原创文章。
原文链接:【http://xie.infoq.cn/article/76ba6442ec073ed9c1cfb88c9】。文章转载请联系作者。
评论