All Products
Search
Document Center

Apsara Video SDK:ApsaraVideo Player SDK

Last Updated:Jun 12, 2024

As a module of ApsaraVideo MediaBox SDK, ApsaraVideo Player SDK provides the video playback feature for live streaming and video-on-demand (VOD) scenarios. ApsaraVideo Player SDK supports multiple platforms, such as web, Android, iOS, Flutter, Windows, and macOS. This topic describes the features supported by ApsaraVideo Player SDK.

Standard features

The following tables describe the standard features of ApsaraVideo Player SDK for web, Android, and iOS. In the following tables, ✔️ indicates that the feature is supported and ❌ indicates that the feature is not supported.

Table 1: Playback protocols and formats

Feature

Description

Web

Android

iOS

VOD playback

Supports common audio and video formats in VOD scenarios, such as Flash Video (FLV), HTTP Live Streaming (HLS), MP4, and MP3.

✔️

✔️

✔️

Live stream playback

Supports common audio and video formats in live streaming scenarios, such as Real-Time Messaging Protocol (RTMP), FLV, and HLS.

Supports only FLV and HLS.

✔️

✔️

Time shifting during live streaming

Allows you to play live streams in time shifting mode. You can set the start, stop, and current playback time and seek to a specific point in time.

✔️

✔️

✔️

H.264 coding

Allows you to play video streams encoded in the H.264 format and switch between hardware and software decoding.

✔️

✔️

✔️

H.265 coding

Allows you to play video streams encoded in the H.265 format and switch between hardware and software decoding.

For more information, see the Value-added features section of this topic.

✔️

✔️

H.266 coding

Allows you to play video streams encoded in the H.266 format.

✔️

✔️

Real-Time Streaming (RTS)

Supports Alibaba Cloud RTS that is characterized by high concurrency, low stuttering rate, and low latency within milliseconds.

✔️

✔️

✔️

Low-latency streaming

Supports low-latency streaming based on low-latency HLS (LL-HLS) and Dynamic Adaptive Streaming over HTTP (DASH).

Supports only LL-HLS.

✔️

✔️

DASH

Supports the playback of video streams that are packaged by using DASH. For example, you can play video files that are encapsulated by using SegmentBase and SegmentTemplate.

✔️

✔️

High dynamic range (HDR) video playback

Supports multiple HDR formats such as HDR10 and hybrid log-gamma (HLG).

✔️

✔️

URL-based playback

Supports the URL-based playback of online videos or local videos.

✔️

✔️

✔️

Video ID (VID)-based playback

Supports VID-based playback. You can specify the streaming URLs of a video stream in multiple definitions at a time. For example, you can use VidAuth and VidSts sources for playback.

✔️

✔️

✔️

Supplemental enhancement information (SEI)

Allows you to read SEI messages.

✔️

✔️

✔️

Table 2: Network protocols

Feature

Description

Web

Android

iOS

Custom headers

Allows you to customize HTTP headers when you request audio and video resources.

✔️

✔️

✔️

HTTPDNS

Supports HTTPDNS to prevent Domain Name System (DNS) hijacking.

✔️

✔️

HTTP/2

Supports HTTP/2 and uses the latest features such as binary framing, multiplexing, and header compression to significantly improve web performance and reduce data interaction latency.

Depends on whether your browser supports HTTP/2. For more information, see Can I use http2?

✔️

✔️

HTTP/3

Supports HTTP/3 and accelerates content delivery based on the Quick UDP Internet Connections (QUIC) protocol.

Depends on whether your browser supports HTTP/3. For more information, see Can I use http3?

✔️

✔️

Table 3: Playback control

Feature

Description

Web

Android

iOS

Playback control

Supports playback control features, including start, stop, pause, video seeking, and autoplay.

✔️

✔️

✔️

Video seeking

Allows you to drag the slider in the progress bar to a specific point in time. You can use gestures to adjust the slider on the user interface (UI). You can perform quick seeking and retain the cached video content during seeking.

✔️

✔️

✔️

Precise seeking

Supports video seeking to a specific frame.

Supports precise seeking in milliseconds.

✔️

✔️

Seeking inside a cached video

Allows you to perform quick seeking and retain the cached video content during seeking.

✔️

✔️

Resumed playback

Allows you to specify the point in time from which you want to resume playback.

✔️

✔️

✔️

Loop playback

Supports automatic replay after the playback of an audio file or video file ends.

✔️

✔️

✔️

List playback

Supports list playback for short videos to improve the loading speed.

✔️

✔️

✔️

Configurable playback speeds

Allows you to change the playback speed. The audio pitch remains unchanged at different playback speeds.

✔️. You can change the playback speed in a range of 0.5× to 2×.

✔️. You can change the playback speed in a range of 0.5× to 5×.

✔️. You can change the playback speed in a range of 0.5× to 5×.

Manual definition switching

Allows you to switch video streams between different definitions in VOD scenarios.

✔️

✔️

✔️

Seamless resolution switching

Allows you to seamlessly switch live streams between different resolutions to improve playback experience when you use Alibaba Cloud streaming URLs.

✔️

✔️

Audio track switching

Allows you to switch among multiple audio tracks in VOD scenarios.

✔️

✔️

✔️

Snapshot capture

Allows you to capture the current frame of a video and save the frame as a static image.

Varies based on the platform and playback mode. For more information, see Enable the snapshot feature.

✔️

✔️

Screen lock

Allows you to lock the screen orientation and hide UI elements.

✔️

✔️

Table 4: Video effects

Feature

Description

Web

Android

iOS

Video image resizing

Supports image padding and cropping.

✔️

✔️

✔️

Video image rotation

Supports the following rendering angles for video images: 0°, 90°, 180°, and 270°.

✔️

✔️

✔️

Mirroring mode

Supports the following mirroring modes: no mirroring, horizontal mirroring, and vertical mirroring.

✔️

✔️

✔️

Brightness change

Allows you to change the screen brightness. You can use gestures to change the brightness on the UI.

✔️

✔️

Custom player size

Supports custom settings for the width and height of the player.

✔️

✔️

✔️

Picture-in-picture (PiP)

Supports video playback in PiP mode.

✔️

✔️

✔️. Playback in PiP mode is not supported for iOS 14 and earlier.

Table 5: Audio effects

Feature

Description

Web

Android

iOS

Volume change

Allows you to change the volume of a video during playback.

✔️

✔️

✔️

Mute mode

Allows you to enable or disable the mute mode.

✔️

✔️

✔️

Audio-only playback

Allows you to play only the audio stream in a video file and common audio files such as audio files in the MP3 and Advanced Audio Coding (AAC) formats.

✔️

✔️

✔️

Background playback

Allows you to continue playing audio streams when the application is switched from the UI to the background.

✔️

✔️

✔️

Table 6: Playback performance

Feature

Description

Web

Android

iOS

Retry of playback upon failures

Supports automatic retries that are triggered after the playback fails.

✔️

✔️

✔️

Automatic reconnection

Supports automatic reconnection during live streaming.

✔️

✔️

✔️

Local caching

Supports the play-and-cache feature for the loop playback of short videos. This feature allows caching during video playback and helps reduce traffic consumption.

✔️

✔️

Preloading

Preloads videos to accelerate the startup of video playback. This feature is an optimization of the local caching feature.

✔️

✔️

✔️

Multi-player playback

Allows you to add multiple players on one UI to simultaneously play videos.

✔️

✔️

✔️

Network-adaptive playback of multi-bitrate video streams

Supports the seamless multi-bitrate switching of live streams in the HLS and DASH formats.

Supports multi-bitrate switching only for live streams in the HLS format.

✔️

✔️

Dynamic frame synchronization

Supports dynamic frame synchronization for live streaming to reduce latency.

✔️

✔️

✔️

Table 7: Interactive features

Feature

Description

Web

Android

iOS

Subtitles

Allows you to import custom subtitle files.

✔️. Only Video Text Tracks (VTT) subtitle files are supported.

✔️. SubRip Text (SRT), SubStation Alpha (SSA), Advanced SubStation Alpha (ASS), and VTT subtitle files are supported.

✔️. SRT, SSA, ASS, and VTT subtitle files are supported.

Table 8: Video security

Feature

Description

Web

Android

iOS

Referer blacklist or whitelist

Allows you to configure a referer blacklist or whitelist to identify the source of a playback request based on the referer and filter requests based on the blacklist or whitelist.

✔️

✔️

✔️

HLS encryption

Supports playback for streams that are encrypted based on the HLS AES-128 standard.

✔️

✔️

✔️

Alibaba Cloud proprietary cryptography

Supports Alibaba Cloud proprietary cryptography to prevent video leaks and hotlinking.

✔️

✔️

Secure download

Allows you to use the specified application to download and encrypt videos.

✔️

✔️

Digital rights management (DRM) encryption

Supports DRM encryption, including Widevine DRM encryption and FairPlay DRM encryption.

✔️

✔️

✔️

Table 9: Quality monitoring

Feature

Description

Web

Android

iOS

Log reporting

Allows you to collect tracking information about VOD playback and live streaming based on reported SDK logs.

✔️

✔️

✔️

Playback exception troubleshooting

Allows you to specify information about the user or playback session to identify and troubleshoot playback exceptions.

✔️. The free edition allows you to query data in the previous three days.

✔️. The free edition allows you to query data in the previous three days.

✔️. The free edition allows you to query data in the previous three days.

Data dashboard

Allows you to view macro statistics such as the number of playback requests and users.

✔️. The free edition allows you to query data in the previous three days.

✔️. The free edition allows you to query data in the previous three days.

✔️. The free edition allows you to query data in the previous three days.

Table 10: Development support

Feature

Description

Web

Android

iOS

Data output during audio rendering and video rendering

Supports the output of pulse-code modulation (PCM) and YUV data during rendering.

✔️

✔️

Event callbacks

Allows you to configure callbacks for the playback status, the first audio frame or video frame, the completion of playback, and playback failures.

✔️

✔️

✔️

Decoding blacklist

Allows you to configure a blacklist for hardware decoding.

✔️

✔️

✔️

Network speed display

Supports the reporting feature that reports the network speed of a player in real time.

Supports this feature only for RTS.

✔️

✔️

UI components

Provides complete UI components that you can use based on your business requirements.

✔️

✔️

✔️

Value-added features

The following table describes the value-added features of ApsaraVideo Player SDK for web, Android, and iOS. You must log on to the ApsaraVideo Live or ApsaraVideo VOD console to apply for a trial or purchase features for your application. In the following table, ✔️ indicates that the feature is supported and ❌ indicates that the feature is not supported.

Feature

Description

Web

Android

iOS

H.265 video playback in web browsers

Supports the playback of video streams encoded in the H.265 format in web browsers. This consumes less bandwidth and delivers better playback performance than the playback of video streams encoded in the H.264 format.

✔️

Screen mirroring

Supports screen mirroring among devices that are connected to the same network based on the Digital Living Network Alliance (DLNA) protocol. Common playback control features are supported for screen mirroring.

✔️

✔️

Advanced adaptive bitrate streaming (ABR) policies

Supports advanced ABR policies. Compared with a general ABR policy, an advanced ABR policy better adapts to multi-bitrate HLS or DASH video streams, significantly reduces the stuttering rate, and improves the average playback bitrate.

✔️

✔️

Virtual reality (VR) panoramic playback

Allows you to play panoramic videos and use gestures, a gyroscope, and a gravity sensor.

✔️

✔️

On-device super resolution

Allows you to upscale videos from a low resolution to a high resolution. This improves video quality and playback experience.

You can use a video source that has a lower bitrate without compromising playback experience. This helps reduce video transmission costs.

✔️

✔️

Sharpening

Allows you to sharpen the image and highlight the details to improve playback experience.

✔️

✔️

Frame interpolation

Allows you to use frame interpolation to fix stuttering when you play low-bitrate videos. This ensures smooth playback experience.

✔️

✔️

Audio enhancement

Allows you to use Dolby Atmos and spatial audio technologies to provide immersive user experience.

✔️

✔️

Enhanced HTTPDNS

Allows you to implement precise scheduling and real-time resolution for domain names that are accelerated by Alibaba Cloud CDN. This improves network performance.

Note

The enhanced HTTPDNS feature is supported in ApsaraVideo Player SDK V6.7.0 or later. To use the enhanced HTTPDNS feature in ApsaraVideo Player SDK V6.7.0 to V6.11.0, submit a request on Yida or contact your Alibaba Cloud account manager. If you use ApsaraVideo Player SDK V6.12.0 or later, the enhanced HTTPDNS feature is enabled by default and no application is required.

✔️

✔️