播放器SDK功能详情

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

标准功能

本文以Web、Android端、iOS端、Flutter端、HarmonyOS端为例,为您介绍了播放器SDK的标准功能。其中,✔️和❌分别表示支持和不支持该功能,表示该端无需拥有或并不具备该项功能。

播放协议与格式

功能

说明

Android端

iOS端

Flutter端

HarmonyOS端

Web端

点播播放

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

✔️

✔️

✔️

✔️

✔️

直播播放

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

✔️

✔️

✔️

✔️

✔️,不支持RTMP协议

直播时移

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

✔️

✔️

✔️

✔️

✔️

H.264编码协议

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

✔️

✔️

✔️

✔️

✔️,Web端软硬解取决于浏览器设置

H.265编码协议

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

✔️

✔️

✔️

✔️

✔️,Web端软硬解取决于浏览器设置,需申请后方可使用,详见增值功能

H.266编码协议

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

✔️,需申请后方可使用,详见增值功能

✔️,需申请后方可使用,详见增值功能

✔️,需申请后方可使用,详见增值功能

✔️,需申请后方可使用,详见增值功能

超低延时直播RTS

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

✔️

✔️

✔️

✔️

✔️

低延时直播

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

✔️

✔️

✔️

✔️

✔️

DASH协议

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

✔️

✔️

✔️

✔️

✔️

Quic加速

支持 Quic 传输协议,有效提升视频传输效率

✔️

✔️

✔️

✔️

HDR视频播放

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

✔️

✔️

✔️

✔️,取决于浏览器是否支持

URL播放

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

✔️

✔️

✔️

✔️

✔️

VID播放

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

✔️

✔️

✔️

✔️

✔️

SEI消息

接受读取SEI消息。

✔️

✔️

✔️

✔️

✔️

网络协议

功能

说明

Android端

iOS端

Flutter端

HarmonyOS端

Web端

自定义Header

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

✔️

✔️

✔️

✔️

✔️,MP4 不支持,HLS、DASH 部分支持

HTTPDNS

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

✔️

✔️

✔️

✔️

HTTP/2

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

✔️

✔️

✔️

✔️

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

HTTP/3

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

✔️

✔️

✔️

✔️

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

播放控制

功能

说明

Android端

iOS端

Flutter端

HarmonyOS端

Web端

基础控制

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

✔️

✔️

✔️

✔️

✔️

seek

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

✔️

✔️

✔️

✔️

✔️

精确seek

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

✔️

✔️

✔️

✔️

支持毫秒级别的精确seek

缓存内seek

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

✔️

✔️

✔️

✔️

续播

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

✔️

✔️

✔️

✔️

✔️

循环播放

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

✔️

✔️

✔️

✔️

✔️

列表播放

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

✔️

✔️

✔️

✔️

✔️

倍速播放

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

✔️

✔️

✔️

✔️

✔️

清晰度(手动)切换

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

✔️

✔️

✔️

✔️

✔️

无缝切换

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

✔️

✔️

✔️

❌,支持HLS和Dash的无缝切换。

切换音轨

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

✔️

✔️

✔️

✔️

截图

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

✔️

✔️

✔️

✔️

锁定屏幕

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

✔️

✔️

✔️

✔️

视频效果

功能

说明

Android端

iOS端

Flutter端

HarmonyOS端

Web端

填充

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

✔️

✔️

✔️

✔️

✔️

旋转

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

✔️

✔️

✔️

✔️

✔️

镜像

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

✔️

✔️

✔️

✔️

✔️

缩略图预览(雪碧图)

支持进度条缩略图预览。

✔️

✔️

✔️

✔️

亮度调节

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

✔️

✔️

✔️

✔️

自定义播放器尺寸

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

✔️

✔️

✔️

✔️

✔️

画中画(小窗)播放

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

✔️

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

✔️,支持iOS的画中画接口,暂不支持安卓的画中画接口

音频效果

功能

说明

Android端

iOS端

Flutter端

HarmonyOS端

Web端

音量调节

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

✔️

✔️

✔️

✔️

✔️

静音

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

✔️

✔️

✔️

✔️

✔️

纯音频播放

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

✔️

✔️

✔️

✔️

✔️

双声道音频

支持播放双声道音频

✔️

✔️

✔️

✔️

✔️

多音轨

支持播放含多音轨的视频文件,播放时可切换音轨,如英文切换中文

✔️

✔️

✔️

✔️

后台播放

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

✔️

✔️

✔️

✔️

播放性能

功能

说明

Android端

iOS端

Flutter端

HarmonyOS端

Web端

播放失败重试

播放失败时自动重试。

✔️

✔️

✔️

✔️

✔️

自动重连

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

✔️

✔️

✔️

✔️

✔️

本地缓存

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

✔️

✔️

✔️

✔️

预加载

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

✔️

✔️

✔️

✔️

✔️

多实例

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

✔️

✔️

✔️

✔️

✔️

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

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

✔️

✔️

✔️

✔️

✔️

动态追帧

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

✔️

✔️

✔️

✔️

✔️

互动功能

功能

说明

Android端

iOS端

Flutter端

HarmonyOS端

Web端

字幕

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

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

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

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

❌,仅支持字幕文本解析

✔️,支持VTT字幕

视频安全

功能

说明

Android端

iOS端

Flutter端

HarmonyOS端

Web端

referer黑白名单

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

✔️

✔️

✔️

✔️

✔️

HLS标准加密

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

✔️

✔️

✔️

✔️

✔️

阿里云加密(私有加密)

支持阿里云加密(私有加密)方案,即HLS格式(URL后缀为.m3u8)和MP4格式视频的私有加密,防止视频泄露和盗链问题。

✔️

✔️

✔️

✔️,部分浏览器支持,详情请参见H5功能适配说明

安全下载

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

✔️

✔️

✔️

✔️

DRM加密

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

✔️

✔️

✔️

✔️

质量服务

功能

说明

Android端

iOS端

Flutter端

HarmonyOS端

Web端

日志上报

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

✔️

✔️

✔️

✔️

✔️

播放异常追溯

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

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

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

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

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

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

播放数据大盘

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

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

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

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

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

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

开发支持

功能

说明

Android端

iOS端

Flutter端

HarmonyOS端

Web端

渲染数据输出

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

✔️

✔️

✔️

事件回调

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

✔️

✔️

✔️

✔️

✔️

解码策略黑名单

提供不支持硬件解码的机型列表,以及优化支持。

✔️

✔️

✔️

网速显示

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

✔️

✔️

✔️

✔️

仅支持超低延时直播RTS

UI组件

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

✔️

✔️

✔️

✔️

增值功能

本文以Web、Android和iOS端为例,为您介绍了播放器SDK的增值功能。如需使用,请先为您的应用申请试用或购买增值服务,Android和iOS端可登录视频点播控制台申请试用或购买增值服务;Web端请提交工单进行申请。,申请开通增值服务。其中,✔️和❌分别表示支持和不支持该功能。

功能

功能概述

Android端

iOS端

Flutter端

HarmonyOS端

Web端

播放H.265视频

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

说明

Web播放器SDK如需播放H.265视频,请先提交工单或联系阿里云商务经理申请开通。

✔️

✔️

✔️

✔️

✔️

播放H.266视频

支持播放H.266的视频流,相对于H.264/H.265视频流有效降低带宽消耗,改善播放性能。

说明

如需播放H.266视频,请先提交工单或联系阿里云商务经理申请开通。

✔️

✔️

✔️

✔️

高级ABR策略

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

✔️

✔️

✔️

✔️

VR播放

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

✔️

✔️

端侧超分

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

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

✔️

✔️

端侧锐化

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

✔️

✔️

✔️

端侧插帧

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

✔️

✔️

✔️

音频增强

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

✔️

✔️

✔️

增强型HTTPDNS

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

说明

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

✔️

✔️

✔️

✔️