阿里云播放器SDK(ApsaraVideo Player SDK,后续统称“播放器SDK”)是MediaBox音视频SDK的子产品之一,提供直播和点播场景中视频播放功能,支持Web、Android、iOS、Flutter、HarmonyOS、Windows、macOS等多种平台。通过阅读本文,您可以了解播放器SDK支持的功能。
播放器SDK移动端已于2025年2月14日(7.0.0版本开始)开启正式收费,您可以选择免费试用或通过音视频终端SDK购买页购买正式版,同时还有更优惠的组合购买套餐供您选择,详情请参见播放器SDK计费。购买后授权操作指引接入播放器License。
购买视频点播、视频直播、智能媒体服务的资源达到一定金额时,可获赠播放器SDK标准版或专业版一年License授权。更多信息,请参见播放器SDK计费。
新购买的播放器SDK Web端标准版License仅支持2.29.1及以上版本,新购买的播放器SDK移动端专业版License仅支持7.0.0及以上版本,在购买前请确认您应用内接入的播放器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.265自适应播放 | 当播放H265流硬解失败且已设置H264备流时,实现自动降级播放H264备流;若未设置H264备流,则自动降级为H265软解播放。 | ✔️(仅专业版支持) | ✔️(仅专业版支持) | ✔️(仅专业版支持) | ❌ | ❌ |
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 | 通过HTTP协议向DNS服务器发送域名解析请求,代替传统的Local 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的无缝切换。 |
切换音轨 | 支持视频点播的多路音轨流切换。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
截图 | 支持截取当前播放画面帧并保存为静态图片。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
锁定屏幕 | 支持锁屏功能,包含锁定旋转和隐藏界面元素。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
外挂字幕 | 支持导入自定义的字幕文件。Web端支持VTT字幕,移动端支持SRT、SSA、ASS、VTT字幕。 | ✔️(仅专业版支持) | ✔️(仅专业版支持) | ✔️(仅专业版支持) | ✔️(仅专业版支持) | ✔️,支持VTT字幕(仅专业版支持) |
视频效果
功能 | 说明 | Android端 | iOS端 | Flutter端 | HarmonyOS端 | Web端 |
填充 | 支持画面填充和画面裁剪两种填充模式。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
旋转 | 支持0°、90°、180°和270°四个视频画面渲染角度设置。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
镜像 | 支持无镜像、水平镜像和垂直镜像三种镜像模式设置。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
缩略图预览(雪碧图) | 支持进度条缩略图预览。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
亮度调节 | 支持系统的亮度调节(UI支持手势)。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
自定义播放器尺寸 | 支持自定义设置播放器的宽高。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
画中画(小窗)播放 | 支持切换到画中画以小窗形式播放。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
音频效果
功能 | 说明 | Android端 | iOS端 | Flutter端 | HarmonyOS端 | Web端 |
音量调节 | 支持调用系统接口调节观看视频的音量。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
静音 | 支持开启和关闭静音功能。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
纯音频播放 | 支持只播放视频文件中的音频和常见的音频文件,例如:MP3、AAC。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
双声道音频 | 支持播放双声道音频 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
多音轨 | 支持播放含多音轨的视频文件,播放时可切换音轨,如英文切换中文 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
后台播放 | 支持界面切到后台后继续播放音频。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
播放性能
功能 | 说明 | Android端 | iOS端 | Flutter端 | HarmonyOS端 | Web端 |
播放失败重试 | 播放失败时自动重试。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
自动重连 | 支持直播的自动重连功能。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
本地缓存 | 支持视频播放的同时缓存下载后面的内容到本地,满足短视频场景下的循环播放,节约用户流量。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
预加载 | 通过滑动窗口策略动态控制视频预加载,显著提升秒开率和播放流畅度,即使快速滑动也能保持顺畅体验。 | ✔️(仅专业版支持) | ✔️(仅专业版支持) | ✔️(仅专业版支持) | ✔️(仅专业版支持) | ❌ |
预渲染 | 在后台提前渲染后续视频的首帧,减少黑屏的出现,让播放更加丝滑。 | ✔️(仅专业版支持) | ✔️(仅专业版支持) | ✔️(仅专业版支持) | ❌ | ❌ |
场景化多实例Demo | 提供针对短剧等热门场景的场景化Demo,包含完整源码,具有集成易用性高、交互体验好、技术指标领先等优势。 | ✔️(仅专业版支持) | ✔️(仅专业版支持) | — | ❌ | ❌ |
多实例 | 支持在一个界面添加多个播放器同时播放。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
网络自适应播放多码率视频流 | 支持多码率HLS、DASH的无缝切换。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
动态追帧 | 支持直播的动态追帧,降低延时。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
高级ABR策略 | 相对于普通ABR策略更好地适应多码率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格式视频的私有加密,防止视频泄露和盗链问题。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️,部分浏览器支持,详情请参见功能适配说明 |
阿里云加密(私有加密)本地解密 | 在阿里云加密(私有加密)功能的基础上支持本地解密,提升播放体验,适合全球化业务。 | ✔️(仅专业版支持) | ✔️(仅专业版支持) | ✔️(仅专业版支持) | ❌ | ❌ |
安全下载 | 支持通过唯一应用下载视频并进行加密。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
商业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端 |
Web播放H.265视频 | 支持播放H.265编码协议的视频流,支持软硬解切换。 说明 Web播放器SDK如需播放H.265视频,请先提交工单或联系阿里云商务经理申请开通。 | ❌ | ❌ | ❌ | ❌ | ✔️ |
端侧超分 | 将低分辨率视频转换为高分辨率视频,以提高视频播放的清晰度,改善播放体验。 在确保视频主观体验的前提下,适应更低码率的视频源,降低视频传输费用。 | ✔️ | ✔️ | ❌ | ❌ | ❌ |
端侧锐化 | 突出图像的轮廓和锐化模糊的细节,从而提供更清晰、更锐利的观看效果。 | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
端侧插帧 | 消除低帧率视频的卡顿感,从而提供丝滑流畅的播放体验。 | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
音频增强 | 全景声空间音频技术,提供更加沉浸、真实的体验。 | ✔️ | ✔️ | ✔️ | ❌ | ❌ |