All Products
Search
Document Center

ApsaraVideo VOD:ApsaraVideo Player SDK feature details

Last Updated:Sep 25, 2025

ApsaraVideo Player SDK is a component of the MediaBox Audio and Video SDK. It provides video playback for live streaming and video on demand (VOD) scenarios. The SDK supports multiple platforms, including Web, Android, iOS, Flutter, HarmonyOS, Windows, and macOS. This topic describes the features of ApsaraVideo Player SDK.

Important
  1. Starting from February 14, 2025 (version 7.0.0), the Professional Edition is available for the mobile ApsaraVideo Player SDK in addition to the Standard Edition. To obtain the Professional Edition, contact our business development team. After you obtain the license, follow the instructions in Activate a player license to activate it.

  2. If your spending on ApsaraVideo VOD, ApsaraVideo Live, or Intelligent Media Services resources reaches a specific amount, you can receive a one-year license for the Professional Edition of ApsaraVideo Player SDK for free. For more information, see ApsaraVideo Player SDK billing.

  3. Newly obtained licenses for the Professional Edition of ApsaraVideo Player SDK for mobile support only version 7.0.0 and later. Before you obtain a license, confirm the SDK version integrated into your application.

Standard features

This section describes the standard features of ApsaraVideo Player SDK, using the Web, Android, iOS, Flutter, and HarmonyOS clients as examples. ✔️ indicates that the feature is supported. ❌ indicates that the feature is not supported. — indicates that the feature is not applicable to the client.

Playback protocols and formats

Feature

Description

Android

iOS

Flutter

HarmonyOS

Web

On-demand playback

Supports common on-demand audio and video formats, such as FLV, HLS, MP4, and MP3.

✔️

✔️

✔️

✔️

✔️. Some mobile clients do not support the FLV format.

Live playback

Supports common live streaming audio and video formats, such as RTMP, FLV, and HLS.

✔️

✔️

✔️

✔️

✔️. The RTMP protocol is not supported. Some mobile clients do not support the FLV format.

Time shifting

Supports playback of time-shifted live streams. You can set the start time, end time, and current supported time. Dragging is supported.

✔️

✔️

✔️

✔️

✔️

H.264 encoding protocol

Supports playback of video streams that use the H.264 encoding protocol. You can switch between software and hardware decoding.

✔️

✔️

✔️

✔️

✔️. On the web, software or hardware decoding depends on the browser settings.

H.265 encoding protocol

Supports playback of video streams that use the H.265 encoding protocol. You can switch between software and hardware decoding.

✔️

✔️

✔️

✔️

✔️. On the web, software or hardware decoding depends on the browser settings. You must apply to use this feature. For more information, see Value-added features.

H.266 encoding protocol

Supports playback of video streams that use the H.266 encoding protocol.

✔️. (Supported only by the Professional Edition. You must integrate the H.266 decoding plugin.)

✔️. (Supported only by the Professional Edition. You must integrate the H.266 decoding plugin.)

✔️. On the web, software or hardware decoding depends on the browser settings. You must apply to use this feature. For more information, see Value-added features.

H.265 adaptive playback

If hardware decoding of an H.265 stream fails and an H.264 backup stream is configured, the player automatically switches to the H.264 backup stream. If no H.264 backup stream is configured, the player automatically switches to software decoding for the H.265 stream.

✔️(Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

Real-Time Streaming (RTS)

Supports Alibaba Cloud Real-Time Streaming (RTS) for high concurrency, low stuttering, and millisecond-level latency.

✔️

✔️

✔️

✔️

Low-latency live streaming

Supports low-latency stream playback using the LL-HLS and DASH protocols.

✔️

✔️

✔️

✔️

✔️

DASH protocol

Supports playback of standard DASH video streams, such as SegmentBase and SegmentTemplate.

✔️(Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

✔️

QUIC acceleration

Supports the QUIC transport protocol to improve video transmission efficiency.

✔️

✔️

✔️

✔️

HDR video playback

Supports multiple HDR formats, such as HDR10 and HLG.

✔️

✔️

✔️

✔️. Support depends on the browser.

URL playback

Supports playback of online and local videos from a URL.

✔️

✔️

✔️

✔️

✔️

VID playback

Supports playback using a video ID (VID). The player can obtain streaming URLs for multiple definitions if available. Examples include VidAuth playback and VidSts playback.

✔️

✔️

✔️

✔️

✔️

SEI messages

Receives and reads Supplemental Enhancement Information (SEI) messages.

✔️

✔️

✔️

✔️

✔️

Network protocols

Feature

Description

Android

iOS

Flutter

HarmonyOS

Web

Custom Header

Customize HTTP headers when requesting audio or video resources.

✔️

✔️

✔️

✔️

✔️. Not supported for MP4. Partially supported for HLS and DASH.

Cloud domain name HTTPDNS

Sends domain name resolution requests to a DNS server over HTTP instead of using the traditional local DNS. This prevents domain hijacking, cross-network access issues, and resulting playback failures. (Only Alibaba Cloud domain names are supported).

✔️

✔️

✔️

✔️

HTTP/2

Supports HTTP/2. Features such as binary framing, multiplexing, and header compression significantly improve web performance and reduce data interaction latency.

✔️

✔️

✔️

✔️

Depends on browser support. For more information, see Can I use http2?

HTTP/3

Supports HTTP/3. It uses the QUIC protocol for faster and better acceleration.

✔️

✔️

✔️

✔️

Depends on browser support. For more information, see Can I use http3?

Playback control

Feature

Description

Android

iOS

Flutter

HarmonyOS

Web

Basic controls

Supports basic playback controls, such as start, stop, pause, seek, and autoplay.

✔️

✔️

✔️

✔️

✔️

Seek

Supports seeking to a specific position (the UI supports gestures). When you seek within the buffered content, the buffer is not cleared, which allows for fast seeking.

✔️

✔️

✔️

✔️

✔️

Precise seek

Supports seeking to a specific position with frame-level precision.

✔️

✔️

✔️

✔️

Supports precise seek with millisecond-level accuracy.

Seek within cache

When you seek within the buffered content, the buffer is not cleared, which allows for fast seeking.

✔️

✔️

✔️

✔️

Resume playback

Supports setting a start time to resume playback.

✔️

✔️

✔️

✔️

✔️

Loop playback

Supports automatically replaying the audio or video after playback finishes.

✔️

✔️

✔️

✔️

✔️

List playback

Supports list playback for short videos to improve loading speed.

✔️

✔️

✔️

✔️

✔️

Playback speed control

Supports variable speed playback. The audio pitch remains unchanged when the speed is adjusted.

✔️

✔️

✔️

✔️

✔️

Manual definition switching

Supports switching between multiple definitions for on-demand video streams.

✔️

✔️

✔️

✔️

✔️

Seamless switching

For Alibaba Cloud live streaming URLs, you can seamlessly switch between live streams of different resolutions during playback (switchStream) to improve user experience.

✔️

✔️

✔️

❌. Seamless switching is supported for HLS and DASH.

Switch audio tracks

Supports switching between multiple audio tracks for on-demand video streams.

✔️

✔️

✔️

✔️

Screenshot

Supports capturing the current video frame and saving it as a static image.

✔️

✔️

✔️

✔️

Lock screen

Supports the screen lock feature, which includes locking screen rotation and hiding UI elements.

✔️

✔️

✔️

✔️

External subtitles

Supports importing custom subtitle files. The Web client supports VTT subtitles. Mobile clients support SRT, SSA, ASS, and VTT subtitles.

✔️(Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

✔️. Supports VTT subtitles.

Video effects

Feature

Description

Android

iOS

Flutter

HarmonyOS

Web

Padding

Supports two display modes: fill and crop.

✔️

✔️

✔️

✔️

✔️

Rotation

Supports setting the video rendering angle to 0, 90, 180, or 270 degrees.

✔️

✔️

✔️

✔️

✔️

Mirror

Supports three mirror modes: none, horizontal, and vertical.

✔️

✔️

✔️

✔️

✔️

Thumbnail preview (sprite)

Supports thumbnail previews on the progress bar.

✔️

✔️

✔️

✔️

Brightness adjustment

Supports system brightness adjustment (the UI supports gestures).

✔️

✔️

✔️

✔️

Custom player size

Supports custom player width and height.

✔️

✔️

✔️

✔️

✔️

Picture-in-Picture (PiP) playback

Supports switching to Picture-in-Picture (PiP) mode for playback in a small window.

✔️

✔️

✔️

✔️

✔️

Audio effects

Feature

Description

Android

iOS

Flutter

HarmonyOS

Web

Volume adjustment

Supports adjusting the video volume by calling system APIs.

✔️

✔️

✔️

✔️

✔️

Mute

Supports enabling and disabling the mute feature.

✔️

✔️

✔️

✔️

✔️

Audio-only playback

Supports playing only the audio from a video file or playing common audio files, such as MP3 and AAC.

✔️

✔️

✔️

✔️

✔️

Dual-channel audio

Supports playback of dual-channel audio.

✔️

✔️

✔️

✔️

✔️

Multiple audio tracks

Supports playing video files with multiple audio tracks. You can switch between audio tracks during playback, for example, from English to Chinese.

✔️

✔️

✔️

✔️

Background playback

Supports continued audio playback after the app is switched to the background.

✔️

✔️

✔️

✔️

Playback performance

Feature

Description

Android

iOS

Flutter

HarmonyOS

Web

Retry on playback failure

Automatically retries when playback fails.

✔️

✔️

✔️

✔️

✔️

Auto-reconnect

Supports auto-reconnect for live streams.

✔️

✔️

✔️

✔️

✔️

Local cache

Caches subsequent content locally while a video is playing. This is useful for loop playback in short video scenarios and saves user traffic.

✔️

✔️

✔️

✔️

Preloading

Uses a sliding window policy to dynamically control video preloading. This significantly improves the first frame loading speed and playback smoothness, ensuring a smooth experience even when scrolling quickly.

✔️(Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

Pre-rendering

Pre-renders the first frame of the next video in the background to reduce black screens and make playback smoother.

✔️(Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

Scenario-based multi-instance demo

Provides scenario-based demos for popular scenarios such as short dramas. The demos include the complete source code and feature easy integration, a good interactive experience, and leading technical performance.

✔️(Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

Multiple instances

Supports adding multiple players to a single interface for simultaneous playback.

✔️

✔️

✔️

✔️

✔️

Adaptive bitrate streaming

Supports seamless switching for multi-bitrate HLS and DASH streams.

✔️

✔️

✔️

✔️

✔️

Dynamic frame synchronization

Supports dynamic frame synchronization for live streams to reduce latency.

✔️

✔️

✔️

✔️

✔️

Advanced ABR policy

Compared with standard adaptive bitrate (ABR) policies, the advanced ABR policy better adapts to multi-bitrate HLS or DASH video streams. It significantly reduces stuttering and increases the average playback bitrate.

✔️ (Supported only by the Professional Edition)

✔️ (Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

✔️(Supported only by the Professional Edition)

Interactive features

Feature

Description

Android

iOS

Flutter

HarmonyOS

Web

Subtitles

Supports importing custom subtitle files.

✔️. Supports SRT, SSA, ASS, and VTT subtitles.

✔️. Supports SRT, SSA, ASS, and VTT subtitles.

✔️. Supports SRT, SSA, ASS, and VTT subtitles.

❌. Only subtitle text parsing is supported.

✔️. Supports VTT subtitles.

Video security

Feature

Description

Android

iOS

Flutter

HarmonyOS

Web

Referer blacklists and whitelists

Identifies the request source from the referer field in the playback request. You can use blacklists or whitelists to control access from different sources.

✔️

✔️

✔️

✔️

✔️

HLS encryption

Supports the standard AES-128 encryption scheme.

✔️

✔️

✔️

✔️

✔️

Alibaba Cloud encryption (private)

Supports Alibaba Cloud private encryption for HLS (.m3u8) and MP4 videos. This prevents video leaks and hotlinking.

✔️

✔️

✔️

✔️

✔️. Supported by some browsers. For more information, see Feature compatibility.

Alibaba Cloud video encryption (private license-based)

Allows direct playback from an encrypted video URL. Compared with standard Alibaba Cloud private encryption, this method provides faster startup and is suitable for cross-region playback services.

✔️

✔️

✔️

✔️

Secure download

Supports downloading and encrypting videos through a unique application.

✔️

✔️

✔️

✔️

Commercial DRM

Supports Widevine and Fairplay DRM encryption schemes.

✔️

✔️

✔️

✔️

Quality of service

Feature

Description

Android

iOS

Flutter

HarmonyOS

Web

Log reporting

Supports reporting ApsaraVideo Player SDK logs and collecting instrumentation data for on-demand video and live streaming playback.

✔️

✔️

✔️

✔️

✔️

Playback issue tracking

Supports tracking playback history by user or session to identify the cause of playback issues.

✔️. The Free Edition lets you query data from the last 3 days.

✔️. The Free Edition lets you query data from the last 3 days.

✔️. The Free Edition lets you query data from the last 3 days.

✔️. The Free Edition lets you query data from the last 3 days.

✔️. The Free Edition lets you query data from the last 3 days.

Playback data dashboard

Supports monitoring macro data, such as playback volume and the number of playback users.

✔️. The Free Edition lets you query data from the last 3 days.

✔️. The Free Edition lets you query data from the last 3 days.

✔️. The Free Edition lets you query data from the last 3 days.

✔️. The Free Edition lets you query data from the last 3 days.

✔️. The Free Edition lets you query data from the last 3 days.

Developer support

Feature

Description

Android

iOS

Flutter

HarmonyOS

Web

Rendered data output

Supports outputting PCM and YUV data during rendering.

✔️

✔️

✔️

Event callbacks

Supports callbacks for playback status, first frame, playback completion, and playback failure.

✔️

✔️

✔️

✔️

✔️

Decoding policy blacklist

Provides a list of device models that do not support hardware decoding, along with optimization support.

✔️

✔️

✔️

Network speed display

Supports real-time network speed reporting for the player instance.

✔️

✔️

✔️

✔️

Supported only for Real-Time Streaming (RTS).

UI components

Includes a complete UI that you can use as needed.

✔️

✔️

✔️

✔️

Value-added features

This section describes the value-added features of ApsaraVideo Player SDK, using the Web, Android, iOS, Flutter, and HarmonyOS clients as examples.To use these features, first submit a ticket to apply for and activate the value-added service. ✔️ indicates that the feature is supported. ❌ indicates that the feature is not supported. — indicates that the feature is not applicable to the client.

Feature

Function Overview

Android

iOS

Flutter

HarmonyOS

Web

H.265/H.266 video playback on the web

Supports playback of video streams that use the H.265 encoding protocol. You can switch between software and hardware decoding. For more information, see Advanced features.

Note

To play H.265 videos using ApsaraVideo Player SDK for Web, first submit a ticket or contact an Alibaba Cloud business manager to activate the feature.

✔️