登录控制台

产品简介

作者:蔚可云 时间:2020-12-07
推流器SDK可为移动端(包含iOS、Android)的互动直播提供数据采集、编码、传输等功能服务,并提供包括美颜、混音等在内的辅助功能。

一、术语和缩写

产品简介

二、框架

产品简介 蔚可云提供的移动端推流器 SDK 压缩包里主要包含两大部分,一部分是核心的 SDK 层代码,作为黑盒代码部分是不可见的,另一部分是 Demo 层代码,作为白盒是可参考的。我们在 Demo 层展示了 SDK 层内部各个功能的调用逻辑,客户只需要在外层封装一层 UI 界面,并根据自身需要进行功能的设置,即可快速拥有一个高质量的推流器。

三、产品功能说明

1、数据采集
(1)摄像头
SDK能获取到当前可用摄像头相关信息,妥善完成摄像数据采集工作。这些信息包括但不限于摄像头数量、像素、状态和权限情况。当未获取到摄像头权限时,依然可进行音频推流。当应用切换到后台时,由于系统的限制,摄像头将不再采集画面。
(2)麦克风
SDK能获取到当前麦克风相关信息,完成音频采集工作。这些信息包括但不限于麦克风状态、权限。当未获取到麦克风权限时,依然可以进行单视频推流。当应用切换到后台时,可控制是否后台继续纯音频推流。
2、编码方式
移动端推流器双平台均支持硬件编码和软件编码,可由 App 厂商自定义需要选择何种编码方式。一般当手机硬件不支持硬编时,会自动切换到软编。
硬编具备更好的编码效率,但兼容性不够优良,软编具备更好的兼容性,但同时也会更耗费性能。
(1)软件编码
产品简介 由于软编的画质和性能消耗有较大关系,客户可能对功耗和画面清晰度的权重有不同的权衡,鉴于此种情况的考虑,我们针对软编开发了质量优先和码率优先两种不同的编码策略。两种策略对比如下。
产品简介 (2)硬件编码
产品简介 3、推流传输
SDK 在完成采集和编码工作后,根据传入的参数,将直播流推到服务器端。该部分功能作为推流器工作的最后一环,针对不同网络环境进行了优化,并且通过底层队列实现了对直播流数据的管理。
帧率
帧率范围 iOS 支持10 - 30 帧,Android 支持15 - 30 帧。App 可根据需要设置初始的预览帧率值,没有绝对的最优值,较高的帧率画面越流畅,同时对机器性能和带宽要求也会同步提高。Android 同时支持可变帧率,当环境光线弱时,可通过增加曝光时间,降低帧率,保证预览效果。
码率
在开启码率自适应的情况下,码率会存在自适应上下限,如下表。在码率自适应关闭的情况下,码率会以用户设置的为准,建议在300 - 1500 kbps 区间。
产品简介 分辨率
视频分辨率提供360P、480P、540P、720P,同时分辨率的比例提高16:9、4:3,在推流期间不支持改变采集的分辨率。
后台推流
SDK切后台支持继续推流,此时摄像头将被释放不再采集视频,音频可继续采集推流。如若音频也被其它程序占用,例如打电话等,则 Android 将不再推流,iOS 的处理机制是推空包以继续维持推流,但也只能坚持 10 分钟左右即被系统回收。
4、扩展功能
美颜:支持原图、磨皮、美白、红润、全屏美白、美肤平滑共6种美颜模式,同时各模式支持美颜等级调节。
滤镜:当前滤镜提供了20种效果,分别是如下图
产品简介 水印:客户端支持添加水印功能,水印主要有图片和文字两种格式,Android 端还增加了 GIF 水印等扩展功能。
镜像:镜像的定义先解释一下:照镜子时可以在镜子里看到另外一个“你”,镜子里的“人”就是你的“像”,在镜面成像中,你的左手你看到的还是在左边,你的右边你看到的还是在右边。举例,当用 iPhone 手机使用前置摄像头拍照时,拍出的照片是非镜像的。
明确镜像的概念后,再说明下当前 SDK 支持的镜像模式。支持预览画面镜像 开/关,和 编码推流画面镜像 开/关,并且没有限制前后摄像头。
混音:支持从本地获取音频文件,包括但不限 于MP3/WAV 格式,为直播的用户实现音乐伴奏的混音效果。并且提供音乐播放中的各种状态回调。
混响:支持混响等级调整,使直播音效呈现录音棚、演唱会、KTV、小舞台、大礼堂等等音响效果。
耳返:在插耳机的情况下,将主播的声音从耳机再播放给主播的功能,不插入耳机,耳返将不生效。目前只提供了有线耳机和蓝牙耳机的耳返功能。
录制:视频录制是录制的主播流,因此无法录制到客户自己加的特效评论等内容,对应支持格式、时间长度等如下
• 支持 MP4/FLV/GIF 格式
• 录制时间:
MP4/FLV 格式:SDK 提供录制短视频时间范围 [3s,60s]
MP4/FLV 格式:SDK 提供录制长视频的最大文件大小
GIF 格式:SDK 提供录制 GIF 时间范围 [100ms,5s]
• 录制结束,视频保存到本地文件夹
截图:截图格式为 JPG 。iOS 截图内容为全屏,Android 截图内容为全屏或视图截图。
代理:对于需要使用代理服务器的客户,SDK 可提供 IP、端口、用户名及密码的设置,来连接代理。目前代理协议支持 SOCKS5。
自定义 SEI 扩展字段:目前仅软编支持,推送 json 字段,可自定义内容,与播放器配套使用即可实现答题等需求场景。
模块分层:为了满足客户对于直播推流的需求个性化,如客户可能想使用第三方的美颜方案,或只使用推流等。可支持采集、预处理、编码、推流进行自由耦合, 但需注意,当使用自定义视频源后部分功能可能会失效。
5、注意事项
移动端推流器 SDK 基于 ID 和 AuthKey 进行鉴权,不具备相应 SDK 权限的客户无法使用该服务。若使用我司多款 SDK,需要分别进行鉴权。鉴权操作在每个自然日内只需成功联网校验一次,之后将在本地执行校验,减少对网络的依赖性。
本页目录