全模块化的移动直播推流方案的出现,是为了应对移动直播业务需求的任意拓宽。
运行前请执行:
./build.sh
UnionMobileStreaming是全模块化的移动直播推流方案,完成了移动平台音视频数据的采集、处理、编码和推流工作。 基于模块化设计,主要思路如下:
- 提供全通道全部raw数据;
- 支持任意节点的第三方数据处理;
- 支持任意编码codec的加载和使用;
- 支持任意推流protocol的加载和使用;
基于模块化设计,模块功能分为:
-
采集
- 内建基于AudioRecord的音频数据采集
- 内建基于系统组件的视频数据采集
- 提供所有采集的音视频raw数据
- 支持任意第三方音视频数据输入(连麦、录屏等)
-
处理
- 基于SrcPin接口的filter接入(覆盖美颜、AR特效等)
-
混合
- 支持最大八个通道的音频输入混合
- 支持最大八个图层的视频输入混合
-
编码
-
推流
- 支持第三方发送实现(例如librtmp)
- 支持第三方UDP发送
- 支持任意发送协议
UnionMobileStreaming is a SDK with closed source.
please read wiki.
Please post your discussion on github issues.