阿里云推流SDK是基于阿里云强大内容分发网络和音视频实时通讯技术的直播客户端推流开发工具,为您提供简单易用的开放接口、网络自适应的流畅体验、多节点的低延迟优化、功能强大的实时美颜等音视频直播技术服务。本文介绍推流SDK产品简介、功能特性、核心优势、使用场景和工作流程。
产品简介
阿里云推流SDK是基于阿里云强大内容分发网络和音视频实时通讯技术的直播客户端推流开发工具,为您提供简单易用的开放接口、网络自适应的流畅体验、多节点的低延迟优化、功能强大的实时美颜等音视频直播技术服务。SDK为免费提供,让您告别复杂的架构设计,降低维护成本,专注于自身业务逻辑实现和用户体验的提升。
阿里云推流SDK集成了Queen智能美化特效,开放含人脸识别的高级美颜功能,可实现瘦脸、小脸、大眼以及基于人脸识别的美白功能。
集成Queen智能美化特效功能,需要申请开通License。详细产品介绍与开通流程,请参见智能美化特效。
功能特性
功能 | 描述 |
RTMP推流 | 支持RTMP协议直播推流,并支持RTMP、FLV、HLS、ARTC直播拉流协议。分辨率支持180P~720P,建议使用540P。 |
WebRTC推流 | 支持基于UDP的ARTC协议推流。 |
直播连麦 | 支持基于AliRTC实时音视频RTC的直播连麦推流。 |
录屏直播 | iOS支持replayKit录屏直播,Android支持摄像头混流录屏直播。 支持窄带高清,同等码率下画质更佳。 |
插入SEI信息 | 支持在直播流中插入SEI信息,通过播放器解析SEI配合您的业务实现多种功能。 |
动态水印 | 支持在直播中实时插入或移除带动画效果的水印。 |
外部音视频推流 | 支持输入外部音视频数据流进行直播。 |
后台推图片 | 支持在切后台时设置图片进行推流,同时也支持在网络非常差的情况下替换为图片推流。 |
音视频编码 | 支持H264视频编码(软编和硬编)和支持AAC音频编码(软编和硬编)。 |
实时美颜 | 支持人脸识别高级美颜,包含磨皮、美白、瘦脸、小脸、大眼等功能。 |
动态码率 | 支持根据网络情况自动调整推流码率,支持多种模式设置,使直播更加流畅。 |
动态分辨率 | 支持根据网络情况自动调整推流分辨率(限清晰度和流畅度模式下使用)。 |
后台推流 | 支持退到后台后视频流不断,回到前台后继续推流。 |
立体声推流 | 支持立体声推流,可设置单声道和双声道推流。 |
多水印 | 支持添加多个水印效果(最多3个),水印支持位置和大小设置。 |
横屏推流 | 支持竖向(portrait)、左侧横向(landscape left)和右侧横向(landscape right)三个方向发起推流。 |
采集参数 | 支持分辨率、帧率、音频采样率、GOP、码率等多种采集参数设置,满足不同场景下画面采集的需求。 |
镜像推流 | 支持摄像头采集镜像和推流镜像分别设置,前置摄像头需默认开启镜像功能。 |
纯音频推流 | 支持仅采集音频流并发起推流功能,在纯音频场景下节约带宽流量。 |
静音推流 | 支持推流时关闭麦克风,仅推送视频画面的功能。 |
自动聚焦 | 支持开启或关闭自动对焦功能,也可以使用手动对焦。 |
镜头缩放 | 支持摄像头支持的最大缩放比例进行采集画面的缩放。 |
摄像头切换和闪光灯 | 支持前置和后置摄像头切换和开启或关闭闪光灯功能(仅后置)。 |
背景音乐 | 支持背景音乐播放,包含开始、停止、暂停、继续、循环播放等功能。 |
混音 | 支持音乐和人声混音,分别调整音乐和人声的音量。 |
耳返 | 支持耳返功能,例如主播带上耳机唱歌时,从耳机中可以实时听到自己的声音,满足KTV的场景。 |
降噪 | 支持环境音、手机干扰等引起的噪音降噪处理。 |
核心优势
简单、易集成
Android和iOS提供统一接口和错误码,提供同步和异步接口,满足不同开发架构的接入需求,完善接口文档和Demo方便您参考。
一体化解决方案
提供从视频采集、渲染、推流、转码、分发到播放的一体化视频直播解决方案,端上的自适应码率推流、云端的窄带高清转码到播放端的首屏秒开完美配合,让您享受一站式优质服务。
高性能、低延时
在推流的卡顿率、CPU和内存消耗、耗电量、发热量等方面都处于业内领先水平,全球2500+的直播节点为各区域的低延时提供了有效保障。
WebRTC推流
提供基于UDP协议的WebRTC推流,且控制台支持自助开通WebRTC推流域名。WebRTC推流在上行网络质量较差时有更优秀的抗卡顿能力。
直播连麦
提供基于实时音视频RTC的直播连麦解决方案,帮助客户实现超低延时、更多人数的直播实时互动。
使用场景
场景一:教育直播
场景描述:教育类直播通常对师生的互动比较注重,在接入直播课堂时可以配合阿里云的轻量消息队列(原 MNS)来完成师生之间的文字实时互动。推流SDK可以让教师随时随地为学生解惑答疑,让问题及时有效地解决。同时,配合云端的录制、转码等功能,学生可以随时回看课程,温习知识点,增强学习效果。
使用说明:开通阿里云直播服务并启用录制和转码功能,接入阿里云推流SDK和轻量消息队列(原 MNS)SDK完成直播课堂或答疑服务,在播放端使用阿里云播放器SDK进行观看直播或回放视频课程,即可享受低延时、高互动的教育直播场景。
场景二:娱乐直播
场景描述:娱乐直播借助手机的便利性形成了全民直播的风暴,主播对美颜、滤镜依赖成了绝对刚需,通过实时聊天、点赞和打赏等行为完成主播与观众的互动,提高人气值和可玩性。另外,手机端的娱乐直播门槛相对较低,对应内容的安全性(如涉黄、暴恐等)需要严格把关,这里可以借助直播鉴黄功能来降低审核成本。
使用说明:开通阿里云直播服务并开启录制、鉴黄功能,接入阿里云推流SDK并开启美颜功能完成视频推流,集成阿里云轻量消息队列(原 MNS)于您的互动聊天场景,用户观看直播时可以在聊天面板里发送文字、图片等信息,也可以用来搭建自己的礼物系统(IM配合支付),在播放端使用阿里云播放器SDK进行观看直播或回放。
场景三:游戏直播
场景描述:手机端游戏直播主要通过录屏技术将当前游戏画面和摄像头采集画面合并后一并通过推流SDK发起推流,因此推流SDK需要支持录屏功能。主播与观众的互动基本与娱乐直播类似,可以通过阿里云轻量消息队列(原 MNS)SDK实现聊天、点赞和打赏等交互行为。对于游戏中的精彩内容回放,可以使用直播回放录制服务。
使用说明:开通阿里云直播服务并开启直播录制服务,接入阿里云推流SDK并使用录屏直播功能,集成阿里云轻量消息队列(原 MNS)于您的互动聊天场景,用户观看直播时可以在聊天面板里发送文字、图片等信息,也可以用来搭建自己的礼物系统(IM配合支付),集成阿里云播放器SDK完成极速秒开和动态追帧,观看直播或精彩回放。
场景四:连麦互动
场景描述:提供稳定、高质量、超低延时的互动实时音视频服务。支持主播与主播、主播与观众实时连麦、主播跨房间互动等多画面实时视频互动场景,并能够将互动视频流推送至直播中心进行大规模分发,直播给未连麦的观众。
使用说明:在阿里云直播控制台开通连麦应用,接入阿里云推流SDK互动连麦版本并使用互动连麦功能,用户即可使用互动连麦功能,进行点对点和多人实时音视频通话服务,适用于移动视频社交场景。
SDK工作流程
基础推流SDK工作流程
用户App向AppServer发起请求,获取推流URL。
AppServer根据规则拼接推流URL返回给App。
App赋值推流URL到推流SDK,使用推流SDK发起推流。
推流SDK将直播流推送到CDN。
连麦互动SDK工作流程
主播/连麦观众向AppServer发起请求,获取推拉流URL。
AppServer根据推拉流地址拼接规则,返回推拉流URL给App。
主播/连麦观众通过推拉流地址,向阿里云服务器进行推拉流操作,来获取超低延时互动流。
阿里云服务,可以通过旁路转推,进行混流,生成多种格式的流媒体到CDN。
普通观众通过向AppServer发起请求,获取普通推拉流URL。
AppServer根据普通模式下的拉流地址拼接规则,返回推拉流URL给App。
普通观众通过普通推拉流地址,向CDN拉流。
开发支持
如果您在使用推流SDK有任何问题或建议,欢迎通过钉钉搜索群号32825314加入推流SDK开发者生态群,或搜索群号44911608加入直播连麦一体化SDK开发者群。