简介
anyLive 是开源的推拉流项目,本项目采用跨平台架构设计,一套代码支持Android、iOS、Windows、Mac、Ubuntu等平台。本文主要介绍 anyLive Android 平台的实现。
此项目中包含对 JNI 的使用,WebRTC Native 的实践,音视频编解码的相关实现,如果有兴趣,可以阅读源码,点个Star。
功能特性Demo展示

项目源码
GO(https://github.com/anyrtcIO-Community/anyRTC-RTMP-OpenSource/tree/master/Prj-Android)
编译注意事项
使用 AndroidStudio 打开之前,需要下载 webRTC,ffmpeg库。
下载地址:Lib(
http://storage.agrtc.cn/share/GqLZRZV3)
下载解压缩后将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(
https://github.com/anyrtcIO-Community/anyRTC-RTMP-OpenSource/blob/master/Prj-Android/liveplayer/src/main/java/io/anyrtc/live/ArLivePusher.java) 类注释
ArLivePlayer设置播放器器回调
void setObserver(ArLivePlayerObserver observer)
设置播放器的视频渲染 View
int setRenderView(TextureViewRenderer view)
开始播放
int startPlay(String url)
更多方法请参考 ArLivePusher (
https://github.com/anyrtcIO-Community/anyRTC-RTMP-OpenSource/blob/master/Prj-Android/liveplayer/src/main/java/io/anyrtc/live/ArLivePlayer.java)类注释
版权声明
本文仅代表作者观点,不代表xx立场。
本文系作者授权xx发表,未经许可,不得转载。
最新留言