Skip to content

SDK_v3.x_to_v4.x_migration_introduction

zanxiaofei edited this page Oct 12, 2016 · 20 revisions

#Android推流SDK v3.x至v4.x版本迁移总体说明

1.前言

为了给客户呈现更好的推流效果,更完备的推流功能,更高性能的直播体验,金山云视频SDK组一直在调研实践,不断尝试,终于经过开发人员夜以继日的不断努力,对3.x版本进行了重构推出v4.0版本。v4.0版本在保证原有功能的基础上,SDK的性能、稳定性都有了大幅度的提升,同时在增加了部分功能的基础上,使SDK更易用。

2. SDK v4.0优势

2.1 性能提升

在CPU、内存占用,设备温度等方面都有显著的提升;
在开启美颜的情况下,不同机型上性能提升可达4~40倍;
内置美颜均可流畅运行在主流机型上。以下是v3.x和v4.0.0的性能对比图:
(TBD)

2.2 美颜功能升级

所有的GPU美颜滤镜,在软编、硬编模式下均支持;
而3.x软编模式只有一种美颜滤镜;

2.3 分辨率设置更加灵活

预览分辨率和推流分辨率可以分别设置
同时提供自定义分辨率; 而3.x的只有四种。

2.4 预览大小灵活设置

预览的大小不受全屏的限制;APK可以随意设置预览窗口的大小,位置
而v3.x只能是全屏

2.5 参数配置更加灵活

很多推流参数您不仅可以推流前设置,在推流过程中,也可以动态修改配置参数

2.6 推流内容更加灵活

支持纯音频,或者纯视频推流,您可以根据自己的需求动态设置;
同时切换后台后,推流自动切换到纯音频推流,从后台切回前台时,视频同时恢复

2.7 支持TextureView作为预览view

更灵活的view旋转方案

2.8 灵活开放各个接口

此次重构,除了原有的KSYStreamer接口外,我们提供了积木式的接口,
开发者可以根据自己的需求,添加自己的功能积木,对音频和视频数据做处理

3. v4.0.0未完成功能

比较v3.x,由于时间关系,v4.0.0暂时不支持以下功能:

  • 画中画(后续将单独发布)
  • 音频升降调(v4.0.1即将支持)

如果您的App存在以上功能,建议您等待接下来的版本

后续v4.x将陆续开发以下新功能:
1.录屏
2.低延迟音频支持
3.开放各个模块的接口,用户可以使用类似搭积木的方式来使用SDK,可以提供更好的扩展性及自由度;

4. 详细迁移说明

本节详细介绍如何完成迁移,v3.x的用户可能需要花费1个小时或者更短的时间完成迁移工作
3.x_to_4.0_transform_info
关键字:编译错误``接口变更``包名替换

5. 状态和错误回调

本节详细介绍如何进行状态码错误码设置,如何进行重连,并对比v3.x详细说明推流过程中所有的状态码和错误码
v4.0状态错误回调
异常情况下重连
关键字:v3.x和v4.0错误码及状态码对比``注册回调

6. 视频滤镜

v4.0软硬编均支持自定义视频滤镜,本节详细介绍如何使用SDK内部视频滤镜,如何自定义视频滤镜
自定义视频滤镜
内置视频滤镜
关键字:v3.x和v4.0对比说明``自定义滤镜

7. 音频滤镜

v4.0软硬编均支持自定义音频滤镜,本节详细介绍如何使用SDK内部音频滤镜,如何自定义音频滤镜
音频滤镜
关键字:操作原始音频数据``自定义滤镜

8. 触摸对焦及变焦

v4.0支持触摸对焦变焦功能,本节详细介绍如何使用这两个功能
v4.0触摸对焦及变焦
关键字:手动对焦``变焦``示例代码

9. 纯音频推流

v4.0支持纯音频推流,本节详细介绍如何进行纯音频推流
v4.0 纯音频推流
关键字:如何开始纯音频推流``注意事项

10. 背景音乐

比较v3.x,v4.0背景音乐的使用更加方便,本节介绍如何使用背景音乐
混音

11. 推流参数设置

v4.0推流参数设置更加另外,不建议再使用KSYStreamerConfig, 使用KSYStreamer的接口可进行灵活设置 推流参数设置
关键字:3.x和4.0参数设置对比``推流前设置参数``推流过程中设置时时生效的参数

推流开始停止说明

v4.0推流开始停止
关键字:流程

5. 接口文档

javadoc
关键字
KSYStreamer KSYStreamer.OnErrorListener``KSYStreamer.OnInfoListener AudioCapture CameraCapture RtmpPublisher.RtmpPubListener
StreamerConstants
ImgBufFrame ImgBufFilterBase ImgTexFilterMgt AudioBufFrame AudioFilterBase``AudioFilterMgt``AudioReverbFilter


Clone this wiki locally