播放器SDK

阿里云播放器SDK(ApsaraVideo Player SDK,后续统称“播放器SDK”)是MediaBox音视频SDK的子产品之一,提供直播和点播场景中视频播放功能,支持Web、Android、iOS、Flutter、Windows、macOS等多种平台。通过阅读本文,您可以了解播放器SDK支持的功能。

标准功能

本文以Web、Android和iOS端为例,为您介绍了播放器SDK的标准功能。其中,✔️和❌分别表示支持和不支持该功能。

表 1. 播放协议与格式

功能

说明

Web端

Android端

iOS端

点播播放

支持常见的FLV、HLS、MP4、MP3等点播场景的音视频格式。

✔️

✔️

✔️

直播播放

支持常见的RTMP、FLV、HLS等直播场景的音视频格式。

✔️,仅支持FLV、HLS协议

✔️

✔️

直播时移

支持直播时移视频流播放,可设置开始、结束和当前支持时间,支持拖动。

✔️

✔️

✔️

H.264编码协议

支持播放H.264编码协议的视频流,支持软硬解切换。

✔️

✔️

✔️

H.265编码协议

支持播放H.265编码协议的视频流,支持软硬解切换。

增值功能

✔️

✔️

H.266编码协议

支持播放H.266编码协议的视频流。

✔️

✔️

超低延时直播RTS

支持高并发、低卡顿、毫秒级延迟的阿里云超低延时直播RTS。

✔️

✔️

✔️

低延时直播

支持LL-HLS、DASH协议的低延时流播放。

仅支持LL-HLS协议

✔️

✔️

DASH协议

支持标准协议的DASH视频流播放,例如:SegmentBase 、SegmentTemplate。

✔️

✔️

HDR视频播放

支持HDR10/HLG等多种HDR格式。

✔️

✔️

URL播放

支持在线视频、本地视频以URL的方式播放。

✔️

✔️

✔️

VID播放

支持VID方式播放,同时对视频下发多个清晰度的播放地址(若有),例如:VidAuth播放、VidSts播放。

✔️

✔️

✔️

SEI消息

接受读取SEI消息。

✔️

✔️

✔️

表 2. 网络协议

功能

说明

Web端

Android端

iOS端

自定义Header

请求音视频资源时,自定义HTTP Headers内容。

✔️

✔️

✔️

HTTPDNS

支持标准HTTPDNS,降低DNS劫持风险。

✔️

✔️

HTTP/2

支持HTTP/2,通过二进制分帧、多路复用、首部压缩等最新的特性,能够大幅度提高Web性能,降低数据交互延迟。

取决于浏览器是否支持,详情请参见Can I use http2?

✔️

✔️

HTTP/3

支持HTTP/3,支持基于QUIC协议进行加速,加速效果更快更优。

取决于浏览器是否支持,详情请参见Can I use http3?

✔️

✔️

表 3. 播放控制

功能

说明

Web端

Android端

iOS端

基础控制

支持开始、结束、暂停、seek、自动播放等播放控制功能。

✔️

✔️

✔️

seek

支持拖动到指定位置(UI支持手势);支持已经缓冲的视频内容在拖动时不清除缓冲内容并快速拖动。

✔️

✔️

✔️

精确seek

支持精确到帧级别拖动到指定位置。

支持毫秒级别的精确seek

✔️

✔️

缓存内seek

支持已经缓存的视频内容在seek时不清除缓存内容并快速seek。

✔️

✔️

续播

支持设置续播起播时间点。

✔️

✔️

✔️

循环播放

支持音视频播放结束后自动重播。

✔️

✔️

✔️

列表播放

支持短视频列表播放功能,提升加载速度。

✔️

✔️

✔️

倍速播放

支持变速播放,支持音频变速不变调。

✔️,0.5~2倍速

✔️,0.5~5倍速

✔️,0.5~5倍速

清晰度(手动)切换

支持视频点播的多路清晰度流切换。

✔️

✔️

✔️

无缝切换

针对阿里云直播流地址,在播放过程中支持无缝切换多个分辨率的直播流,提升用户的播放体验。

✔️

✔️

切换音轨

支持视频点播的多路音轨流切换。

✔️

✔️

✔️

截图

支持截取当前播放画面帧并保存为静态图片。

部分支持,受平台、播放模式的影响略有差异,详情请参见开启截图功能

✔️

✔️

锁定屏幕

支持锁屏功能,包含锁定旋转和隐藏界面元素。

✔️

✔️

表 4. 视频效果

功能

说明

Web端

Android端

iOS端

填充

支持画面填充和画面裁剪两种填充模式。

✔️

✔️

✔️

旋转

支持0°、90°、180°和270°四个视频画面渲染角度设置。

✔️

✔️

✔️

镜像

支持无镜像、水平镜像和垂直镜像三种镜像模式设置。

✔️

✔️

✔️

亮度调节

支持系统的亮度调节(UI支持手势)。

✔️

✔️

自定义播放器尺寸

支持自定义设置播放器的宽高。

✔️

✔️

✔️

画中画(小窗)播放

支持切换到画中画以小窗形式播放。

✔️

✔️

✔️,iOS14及其以下版本不支持在App外播放

表 5. 音频效果

功能

说明

Web端

Android端

iOS端

音量调节

支持调用系统接口调节观看视频的音量。

✔️

✔️

✔️

静音

支持开启和关闭静音功能。

✔️

✔️

✔️

纯音频播放

支持只播放视频文件中的音频和常见的音频文件,例如:MP3、AAC。

✔️

✔️

✔️

后台播放

支持界面切到后台后继续播放音频。

✔️

✔️

✔️

表 6. 播放性能

功能

说明

Web端

Android端

iOS端

播放失败重试

播放失败时自动重试。

✔️

✔️

✔️

自动重连

支持直播的自动重连功能。

✔️

✔️

✔️

本地缓存

支持视频播放的同时缓存下载后面的内容到本地,满足短视频场景下的循环播放,节约用户流量。

✔️

✔️

预加载

对本地缓存功能的升级,提升视频的起播速度。

✔️

✔️

✔️

多实例

支持在一个界面添加多个播放器同时播放。

✔️

✔️

✔️

网络自适应播放多码率视频流

支持多码率HLS、DASH的无缝切换。

仅支持多码率HLS协议视频流切换

✔️

✔️

动态追帧

支持直播的动态追帧,降低延时。

✔️

✔️

✔️

表 7. 互动功能

功能

说明

Web端

Android端

iOS端

字幕

支持导入自定义的字幕文件。

✔️,支持VTT字幕

✔️,支持SRT、SSA、ASS、VTT字幕

✔️,支持SRT、SSA、ASS、VTT字幕

表 8. 视频安全

功能

说明

Web端

Android端

iOS端

referer黑白名单

支持通过播放请求中携带的referer字段识别请求来源,以黑名单或白名单方式对请求来源进行控制。

✔️

✔️

✔️

HLS标准加密

支持标准AES-128加密方案。

✔️

✔️

✔️

阿里云加密(私有加密)

支持阿里云加密(私有加密)方案,防止视频泄露和盗链问题。

✔️

✔️

安全下载

支持通过唯一应用下载视频并进行加密。

✔️

✔️

DRM加密

支持Widevine、Fairplay的DRM加密方案。

✔️

✔️

✔️

表 9. 质量服务

功能

说明

Web端

Android端

iOS端

日志上报

支持上报播放器SDK日志,统计音视频点播、直播相关播放埋点信息。

✔️

✔️

✔️

播放异常追溯

支持按照指定用户、播放会话对播放历史进行追溯,定位播放异常原因。

✔️,免费版支持查询最近3天数据

✔️,免费版支持查询最近3天数据

✔️,免费版支持查询最近3天数据

播放数据大盘

支持观测播放量、播放用户数等宏观数据。

✔️,免费版支持查询最近3天数据

✔️,免费版支持查询最近3天数据

✔️,免费版支持查询最近3天数据

表 10. 开发支持

功能

说明

Web端

Android端

iOS端

渲染数据输出

支持边渲染边输出PCM和YUV数据。

✔️

✔️

事件回调

支持对播放状态回调、首帧回调、播放完成或失败回调。

✔️

✔️

✔️

解码策略黑名单

支持设置硬解码黑名单。

✔️

✔️

✔️

网速显示

支持播放器实例的实时网速上报。

仅支持超低延时直播RTS

✔️

✔️

UI组件

包含完整UI,您可以根据自身需求选用。

✔️

✔️

✔️

增值功能

本文以Web、Android和iOS端为例,为您介绍了播放器SDK的增值功能,您需要登录视频直播视频点播控制台为您的应用申请试用或购买。其中,✔️和❌分别表示支持和不支持该功能。

功能

功能概述

Web端

Android端

iOS端

Web播放H.265视频

支持在Web浏览器中播放H.265的视频流,相对H.264视频流有效降低带宽消耗,改善播放性能。

✔️

投屏

支持DLNA协议将视频流投屏至同网接收端,提供常见播放控制功能。

✔️

✔️

高级ABR策略

相对于普通ABR策略更好地适应多码率HLS或DASH视频流,明显降低卡顿,提升平均播放码率。

✔️

✔️

VR播放

播放全景视频,支持手势操作、响应陀螺仪、重力感应器。

✔️

✔️

端侧超分

将低分辨率视频转换为高分辨率视频,以提高视频播放的清晰度,改善播放体验。

在确保视频主观体验的前提下,适应更低码率的视频源,降低视频传输费用。

✔️

✔️

端侧锐化

突出图像的轮廓和锐化模糊的细节,从而提供更清晰、更锐利的观看效果。

✔️

✔️

端侧插帧

消除低帧率视频的卡顿感,从而提供丝滑流畅的播放体验。

✔️

✔️

音频增强

全景声空间音频技术,提供更加沉浸、真实的体验。

✔️

✔️

增强型HTTPDNS

支持阿里云CDN网络精准调度、实时解析生效,有效提高网络性能。

说明

播放器SDK从6.7.0版本开始支持增强型HTTPDNS。6.7.0~6.11.0版本播放器SDK,请先提交Android和iOS播放器SDK增值服务申请表单或联系阿里云商务经理申请开通;6.12.0及以后版本无需申请,默认开启。

✔️

✔️