# android-push-sdk
**Repository Path**: rocching/android-push-sdk
## Basic Information
- **Project Name**: android-push-sdk
- **Description**: UPYUN Android 推流 SDK
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-01-08
- **Last Updated**: 2022-07-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# android-push-sdk
## SDK 概述
`android-push-sdk` 是一个适用于 Android 平台 RTMP 推流的 SDK,可高度定制化和二次开发,为 Android 开发者提供简单,快捷的接口。新版 SDK 已经去除ffmpeg 不再依赖 so 库,方便开发者调试和开发,并提供带滤镜版本和不带滤镜版本。
## 推流器功能特性
* 音频编码:`AAC`
* 视频编码:`H.264`
* 支持音频,视频硬件编码
* 支持视频软编码
* 推流协议:`RTMP`
* 支持音视频目标码率设置
* 支持弱网情况下自动丢帧
* 美颜和其他常用滤镜
## SDK 使用
* 普通版:
1.导入 Android lib Module [uppush](https://github.com/upyun/android-push-sdk/tree/master/uppush)
2.SDK 已经上传 Jcenter,Android Studio 的用户可以直接在 gradle 中添加一条 dependencies:
```
compile 'com.upyun:uppush:0.9.1'
```
* 滤镜版本:导入 java lib Module [magicfilter](https://github.com/upyun/android-push-sdk/tree/master/magicfilter)
## SDK 使用DEMO
* 普通版:运行 Module [APP](https://github.com/upyun/android-push-sdk/tree/master/app)。
* 滤镜版:运行 Modeule [magicfilterdemo](https://github.com/upyun/android-push-sdk/tree/master/magicfilterdemo)。
* 录屏版:可实现录屏直播,需 Android 5.0及以上系统支持,录屏 SDK [文档](https://github.com/upyun/android-push-sdk/tree/master/README_RecordScr.md)及 DEMO [下载链接](http://formtest.b0.upaiyun.com/assert/luping.zip)。
* 连麦版:可实现连麦直播,[文档](https://github.com/upyun/android-push-sdk/tree/master/README_RTC.md)和 DEMO [下载地址](http://formtest.b0.upaiyun.com/assert/lianmai.zip)。
## SDK 使用示例
### 添加 SDK 所需权限
```
```
### 初始化 PushClient 传入 SurfaceView 和 Config 参数:
```java
public PushClient(SurfaceView surface, Config config)
```
**参数说明:**
* `SurfaceView ` Android 原生 view,初始化后传入
* `config ` 配置参数,按需要设置,Config 包含以下设置项
```java
//分辨率 HIGH(1280*720) NORMAL(640*480) LOW(320*240)
public Resolution resolution;
//推流地址
public String url;
//比特率
public int bitRate;
//每秒帧数
public int fps;
//摄像头类型 前置,后置
public int cameraType;
//显示方向 水平,竖直
public Orientation orientation;
//使用软编码
public boolean useSofeEncode;
```
### 开始和关闭推流:
```java
public void startPush()
public void stopPush()
```
### 修改设置配置:
```java
public void setConfig(Config config)
```
## SDK 最低要求
Android 4.1(API 16) 以上
## UPYUN 直播平台自主配置流程
**1.注册新建又拍云账号**
[注册地址](https://console.upyun.com/#/register/)
**2.进行账户认证**
[账户认证](https://console.upyun.com/#/account/profile/)
**3.创建服务**
[创建服务](https://console.upyun.com/#/services/)
填写服务名称,简称 `bucket`
资源获取方式选择自主源站
加速域名和回源地址如有则填写,如无可以任意编辑结构合法内容,如域名为 `a.com`,回源 `IP` 为 `1.1.1.1`
创建好服务后如需进行直播功能测试和加速,会有对应的服务人员与您联系,您将需求按如下格式整理好发送给服务人员,我们会尽快为您提供测试服务
格式如下
账户名:`xxxxx`
服务名称:`bucket` 名
`app` 名:如 `show/*` `show` 代表应用名称,`*` 代表目录后可以为 `stream id`
拉流需要支持的格式:`rtmp` 或 `http-flv` 或 `hls` (三个至少选其中一个)
对外服务的推流域名:`xxx.com` (如无可不填写)
对外服务的拉流域名:`xxx.com` (如无可不填写)
## 版本历史
0.1.0 基本的直播推流器
* 推流器支持rtmp推流
0.2.0 完善推流功能
* 修复音频录制bug
* 支持自定义推流参数
* 支持后台推流
0.3.0 修改传输层
* 更改数据传输层,去除ffmpeg的依赖
* 推流支持自由剪裁像素尺寸
* 增加异常处理,避免crash
0.4.0 滤镜功能
* 增加滤镜版本推流器和相关demo
* 增加对焦和闪光灯
* 增加单音频推流
* 修复其他bug
0.9.1 预览界面比例适应(9.18)
* 预览界面比例自适应,修复全屏时图像拉伸问题
1.0.0 动态码率&自动重连(1.6)
* 支持码率调整
* 增加自动重连
1.0.1 添加软编码&性能优化
* 添加软编码
* 图像处理性能优化
## 反馈与建议
邮箱:
QQ: `3392887145`