本文提供 Agora Streaming Kit 的发版说明。
Agora Streaming Kit 是 Agora 针对音视频直播推流场景研发的组件,支持对单个主播的音视频进行采集、处理、编码,并推流到 CDN。该组件可以和 Agora RTC SDK 结合使用,以在观众无感知情况下动态切换单主播和多主播直播画面。
该版本于 2021 年 6 月 7 日发布。
集成变更
由于 JCenter 即将关闭,自该版本起,Agora 停止将 SDK 包发布到 JCenter,而会发布到 JitPack。关于使用 JitPack 自动集成的步骤,详见集成 Streaming Kit。
视频编码模式
为允许你根据设备情况使用合适的视频编码模式,该版本在 VideoStreamConfiguration
类中新增 videoEncodingMode
属性。你可以在调用 create
时,通过 videoEncodingMode
设置视频编码模式为硬件编码或软件编码(A264)。
修复了一些可能导致崩溃的问题,优化了稳定性。
该版本于 2021 年 2 月 23 日发布。
镜像模式
为了给远端用户提供镜像处理后的本地视频流,该版本在 VideoStreamConfiguration
类中新增 mirrorMode
属性。你可以在调用 VideoStreamConfiguration
时通过 mirrorMode
设置视频镜像模式。详见如何设置推流组件的镜像模式?
该版本于 2020 年 12 月 31 日发布。
1. 屏幕共享
为推送屏幕共享的视频流到 CDN,供远端用户观看,该版本新增如下方法:
startScreenCapture
: 开始共享设备屏幕。调用该方法前,你需要获取 Android 系统的 intent。stopScreenCapture
: 停止共享设备屏幕。如果你需要切换视频流的来源,比如将屏幕共享流切换为摄像头采集的视频流,请务必在推流开始前完成切换。
2. 管理摄像头采集行为
为支持开发者管理摄像头的采集行为,该版本新增如下 API:
setCameraSource
: 设置使用前置或后置摄像头。setZoom
: 设置变焦,以放大摄像头采集的视频图像。setFocus
: 设置手动对焦。setAutoFaceFocus
: 设置自动对焦人脸。同时,为方便开发者监听摄像头事件,该版本新增 registerEventHandler
方法。通过该方法注册摄像头事件句柄后,Streaming Kit 通过 onVideoDeviceError
回调向你报告摄像头发生的错误,如 NO_PERMISSION
或 BUSY
。
3. 截屏
该版本新增支持对设备屏幕进行截图。你可以调用 snapshot
方法在本地预览或推流直播时进行截屏,并从 SnapshotCallback
回调中获取图像数据。
4. 修改视频分辨率
为提升 Streaming Kit 的灵活性,该版本新增 switchResolution
方法,允许你在 StreamingKit
的生命周期内修改视频分辨率。修改视频分辨率后,本地用户和远端用户所见都会受到影响。
请不要在推流过程中修改视频分辨率。
5. 获取 Kit 版本号
自该版本起,你可以调用 getSdkVersion
方法获取当前使用的 Streaming Kit 的版本号。
为提升用户体验,自该版本起,当退到后台的应用回到前台时,Streaming Kit 会自动重启摄像头采集。
该版本于 2020 年 9 月 11 日发布。
该版本新增支持使用带鉴权信息的推流 URL。
该版本于 2020 年 8 月 18 日发布。
这是 Agora Streaming Kit 的第一个版本,你可以在项目中使用它实现推流功能。