简介
更新时间:2024-02-28
百度智能云 Android 推流 SDK (以下简称“推流 SDK”) 是百度官方推出的 Android 平台用于推流的软件开发工具包,为您提供简单、便捷的开发接口,助您快速实现音视频直播推流功能。
优势
- 压缩比例大,带宽占用小
- 硬件兼容性好,可支持 arm64 指令集
- 良好的软件版本兼容性,最低可支持 Android 4.2版本
特点
-
支持主流 RTMP 服务器
支持目前几乎所有 RTMP 服务器 (simple-rtmp-server、crtmpserver、FMS 等)。
-
支持所有的 RTMP 协议
支持所有 RTMP 协议及变种 (RTMP、RTMPT、RTMPE、RTMPS、RTMPTE、RTMPTS 等)。
-
性能强大
CPU/内存资源占用率低,压缩比例大,延时小。
-
完备的编程接口提供极大的灵活性
通过提供完备的编程接口,方便您在采集音视频过程中对相机的对焦模式、测光模式等参数进行灵活控制。同时提供开发示例,为您说明各接口调用细节。
-
高兼容性、稳定性和快速响应
软编码支持 Android 4.2及以上平台,硬编码支持 Android 4.3 及以上平台,结合百度开发云直播服务,可实现端到端平均仅2秒延时的实时直播功能。
组件及资源
推流 SDK 的完整下载包中包含 lib、doc、demo 三部分:
-
lib 目录
存放推流 SDK 的 Java 依赖包和两类底层动态链接库:
- armeabi-v7a:适配 armv7/armv7a 指令集的底层动态链接库
-
arm64-v8a:适配 arm64 指令集的底层动态链接库
具体文件如下表所示:
文件名 | 含义 |
---|---|
BRecorder.jar | Java 依赖包,处理音视频采集逻辑 |
librecorder.so | 处理音视频数据的动态链接库,同时提供 JNI 接口 |
libffmpeg.so | FFMpeg 动态链接库,处理编码与推流逻辑 |
librtmp_jni.so | librtmp 动态链接库,处理 RTMP 协议交互 |
-
doc 目录
存放 BRecorder.jar 依赖包的 javadoc 文档,该文档详细说明了推流 SDK 各接口 API 类的用法。
-
demo 目录
存放 Android 示例工程,展示了如何使用 LiveSession 类来实现 Android 端推流应用。
解压后的目录结构如下所示:
Baidu-Capture-SDK-Android-x.x.x
│
├── libs
│ │
│ ├── BRecorder.jar // 推流 SDK Java依赖包
│ │
│ ├── armeabi-v7a // armv7/armv7a 架构的动态链接库
│ │ ├── librecorder.so
│ │ ├── libffmpeg.so
│ │ └── librtmp_jni.so
│ │
│ └── arm64-v8a // arm64 架构的动态链接库
│ ├── librecorder.so
│ ├── libffmpeg.so
│ └── librtmp_jni.so
│
├── doc // BRecorder.jar 对应的 javadoc 文档
│
└── demo // 示例工程,用于演示推流 API 的使用
├── res // 工程资源文件目录
├── libs // Java 依赖包以及动态链接库文件目录
├── src // 源代码文件目录
└── ... ... // 其他工程文件