ApsaraVideo Player SDK is a sub-service of the audio and video terminal SDK. This topic describes the benefits and features of ApsaraVideo Player SDK.
Overview
ApsaraVideo Player SDK allows you to play videos and audio in live streaming and video-on-demand (VOD) scenarios. You can use ApsaraVideo Player SDK together with ApsaraVideo Live, ApsaraVideo VOD, and Intelligent Media Services (IMS) to enjoy comprehensive, stable, and smooth audio and video playback experience. ApsaraVideo Player SDK provides various benefits, such as quick integration, coverage of multiple platforms, and excellent playback performance. ApsaraVideo Player SDK meets the mainstream requirements for audio and video playback and improves development efficiency and business experience.
Benefits
High stability and reliabilityApsaraVideo Player SDK brings stable and reliable performance. It supports more than 100 million playback requests (video views) per day. ApsaraVideo Player SDK provides high coverage for medium-and low-end devices and devices with big screens.
Excellent performanceApsaraVideo Player SDK provides excellent playback performance. It uses policies such as preloading, network optimization, and adaptive streaming to ensure a clear and smooth playback experience. ApsaraVideo Player SDK provides an instant loading rate greater than 85%, and a stuttering duration of less than 100 milliseconds within 100 seconds.
Video securityApsaraVideo Player SDK supports multiple encryption solutions, such as commercial digital rights management (DRM), HLS AES-128 encryption, and Alibaba Cloud proprietary encryption. You can use ApsaraVideo Player SDK together with features of ApsaraVideo Live and ApsaraVideo VOD, such as URL signing, access control, and tracing watermarks, to form a complete solution to video security. This improves copyright security in scenarios, such as long-term video playback and online education, and effectively prevents infringement such as malicious download and proliferation.
Data supportApsaraVideo Player SDK provides features such as end-to-end data statistics and real-time quality monitoring as well as lightweight data analysis tools to help you gain insight into the consumption quality of business. Full-link tracing capabilities are provided at the user level or playback session (video view) level. This helps you troubleshoot playback exceptions and prevent degraded user experience.
Quick integrationApsaraVideo Player SDK provides easy-to-use operations and professional source code of demos for reuse. The demos include the short video, information flow, and long video business scenarios on native apps. This saves the labor costs and the cycle of development, and accelerates the efficiency of a business launch.
Coverage of multiple platformsApsaraVideo Player SDK supports multiple platforms such as web, Android, iOS, Flutter, Windows, macOS, and Linux. Multi-screen playback is supported to fulfill your business requirements. ApsaraVideo Player SDK provides unified operations for different platforms. This simplifies the process of cross-platform integration.
Features
| Category | Feature | Description | ApsaraVideo Player SDK for web | ApsaraVideo Player SDK for Android | ApsaraVideo Player SDK for iOS |
|---|---|---|---|---|---|
| Supported protocol | Supported audio and video file formats | Supports common file formats for VOD playback and live streaming, such as Flash Video (FLV), HTTP-Live-Streaming (HLS), MP4, MP3, and Real-Time Messaging Protocol (RTMP). | ✓ | ✓ | ✓ |
| Supported protocol | HLS | Supports the playback of regular HLS streams, HLS streams in different bitrates, and streams that are encrypted based on the HLS AES-128 standard. | ✓ | ✓ | ✓ |
| Supported protocol | Dynamic Adaptive Streaming over HTTP (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. | × | ✓ | ✓ |
| Supported protocol | URL-based playback | Supports URL-based playback of online videos or local videos. For example, you can use UrlSource sources for playback. | ✓ | ✓ | ✓ |
| Supported protocol | 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. | ✓ | ✓ | ✓ |
| Supported protocol | Complete user interface (UI) | Provides complete source code for multiple UIs. You can select the UI source code based on your business requirements. | ✓ | ✓ | ✓ |
| Basic feature: playback control | Playback control | Supports playback control features, including start, stop, pause, video seeking, and autoplay. | ✓ | ✓ | ✓ |
| Basic feature: playback control | seek | Allows you to drag the slider on the progress bar to a specific point in time. You can use gestures to manage the slider in the UI. You can perform quick seeking and retain the cached video content during seeking. | ✓ | ✓ | ✓ |
| Basic feature: playback control | Precise seeking | Supports video seeking to a specified frame. | ✓ | ✓ | ✓ |
| Basic feature: playback control | Resumed playback | Allows you to specify the point in time from which you want to resume playback. | ✓ | ✓ | ✓ |
| Basic feature: playback control | Loop playback | Supports automatic replay after the playback of an audio file or video file ends. | ✓ | ✓ | ✓ |
| Basic feature: playback control | List playback | Supports list playback for short videos to improve the loading speed. | ✓ | ✓ | ✓ |
| Basic feature: playback control | Configurable playback speeds | Allows you to change the playback speed. The audio pitch remains unchanged at different playback speeds. | ✓ Note You can change the playback speed in a range of 0.5× to 2×. | ✓ Note You can change the playback speed in a range of 0.5× to 5×. | ✓ Note You can change the playback speed in a range of 0.5× to 5×. |
| Basic feature: playback control | Manual definition switching | Allows you to switch video streams between different definitions. | ✓ | ✓ | ✓ |
| Basic feature: playback control | Snapshot capture | Allows you to capture the current frame of a video and save the frame as a static image. | Partially supported Note The snapshot capture feature varies based on different platforms and playback modes. | ✓ | ✓ |
| Basic feature: playback control | Data output during audio rendering and video rendering | Supports the output of pulse-code modulation (PCM) and YUV data during rendering. | × | ✓ | ✓ |
| Basic feature: playback control | 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. | ✓ | ✓ | ✓ |
| Basic feature: video display settings | Video image resizing | Supports image padding and cropping. | ✓ | ✓ | ✓ |
| Basic feature: video display settings | Video image rotation | Supports the following rendering angles for video images: 0°, 90°, 180°, and 270°. | ✓ | ✓ | ✓ |
| Basic feature: video display settings | Mirroring mode | Supports the following mirroring modes: no mirroring, horizontal mirroring, and vertical mirroring. | ✓ | ✓ | ✓ |
| Basic feature: video display settings | Brightness change | Allows you to change the screen brightness. You can use gestures to change the brightness in the UI. | ✓ | ✓ | ✓ |
| Basic feature: video display settings | Custom player size | Supports custom settings for the width and height of the player. | ✓ | ✓ | ✓ |
| Basic feature: video display settings | High Dynamic Range (HDR) video playback | Supports multiple HDR formats such as HDR10 and hybrid log-gamma (HLG). Video streams are selected for playback based on the device profile that indicates the device specifications and whether the HDR formats are supported. | × | ✓ | ✓ |
| Basic feature: video display settings | Picture-in-picture | Supports video playback in picture-in-picture (PiP) mode. | ✓ | ✓ | Partially supported Note Playback in PiP mode is supported for only the integrated player. |
| Basic feature: volume settings | Volume change | Allows you to change the system volume during playback. | ✓ Note ApsaraVideo Player SDK allows you to change the volume of a player from 0 to 100%. | ✓ Note ApsaraVideo Player SDK allows you to change the volume of a player from 0 to 200%. | ✓ Note ApsaraVideo Player SDK allows you to change the volume of a player from 0 to 200%. |
| Basic feature: volume settings | Mute mode | Allows you to enable or disable the mute mode. | ✓ | ✓ | ✓ |
| Basic feature: volume settings | 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 format and Advanced Audio Coding (AAC) format. | ✓ | ✓ | ✓ |
| Basic feature: volume settings | Background playback | Allows you to continue playing audio streams when the application is switched from the UI to the background. | ✓ | ✓ | ✓ |
| Advanced feature: playback performance settings | Retry of playback upon failures | Supports automatic retries that are triggered after the playback fails. | ✓ | ✓ | ✓ |
| Advanced feature: playback performance settings | HTTP 2.0 | Supports HTTP/2. | Partially supported Note The type of your browser determines whether HTTP/2 is supported. For more information, visit HTTP/2 protocol. | ✓ | ✓ |
| Advanced feature: playback performance settings | HTTPDNS | Supports HTTPDNS to allow users to prevent domain hijacking and configure precise scheduling. HTTPDNS also ensures that the real-time domain resolution results immediately take effect. | × | ✓ | ✓ |
| Advanced feature: playback performance settings | Local caching | Supports the play-and-cache feature for loop playback of short videos. This feature allows caching during video playback and helps reduce traffic consumption. | × | ✓ | ✓ |
| Advanced feature: playback performance settings | Preloading | Preloads videos to accelerate the startup of video playback. This feature is an optimization of the local caching feature. | × | ✓ | ✓ |
| Advanced feature: playback performance settings | Switching between software decoding and hardware decoding | Supports software decoding and hardware decoding for transcoded H.264 videos and H.265 videos, and allows you to switch between software decoding and hardware decoding. | Partially supported Note ApsaraVideo Player SDK for web does not support switching between software decoding and hardware decoding for H.265-encoded videos. | ✓ | ✓ |
| Advanced feature: playback performance settings | Decoding blacklist | Allows you to configure a blacklist for hardware decoding. | ✓ | ✓ | ✓ |
| Advanced feature: playback performance settings | Network-adaptive playback of multi-bitrate video streams | Supports seamless multi-bitrate switching of live streams in the HLS format and DASH format. | ✓ | ✓ | ✓ |
| Advanced feature: playback performance settings | Network speed display | Supports the reporting feature that reports the network speed of a player in real time. | × | ✓ | ✓ |
| Advanced feature: interaction | Custom subtitles | Allows you to import custom subtitle files. | ✓ Note Only Web Video Text Tracks (WebVTT) subtitle files are supported. | ✓ Note SubRip file format (SRT) subtitle files, SubStation Alpha (SSA) subtitle files, Advanced SubStation Alpha (ASS) subtitle files, and Video Text Tracks (VTT) subtitle files are supported. | ✓ Note SRT, SSA, ASS, and VTT subtitle files are supported. |
| Advanced feature: interaction | Live commenting | Supports normal live comments and non-invasive live comments. | ✓ | ✓ | ✓ |
| Advanced feature: video security | HLS encryption | Supports playback for streams that are encrypted based on the HLS AES-128 standard. | ✓ | ✓ | ✓ |
| Advanced feature: video security | Alibaba Cloud proprietary cryptography | Supports Alibaba Cloud proprietary cryptography to prevent video leaks and hotlinking. | Partially supported Note ApsaraVideo Player SDK for web does not support Alibaba Cloud proprietary cryptography on the iOS platform. | ✓ | ✓ |
| Advanced feature: video security | Secure download | Allows you to use the specified application to download and encrypt videos. | Partially supported Note ApsaraVideo Player SDK for web does not ensure the security of downloads on the iOS platform. | ✓ | ✓ |
| Advanced feature: video security | DRM encryption | Supports DRM encryption, including Widevine DRM encryption and FairPlay DRM encryption. | ✓ | ✓ | ✓ |
| Data service | Log reporting | Allows you to collect tracking information about VOD playback and live streaming based on reported SDK logs. | ✓ | ✓ | ✓ |
| Data service | Data dashboards | Allows you to view macro statistics such as the numbers of playback requests and users. | ✓ | ✓ | ✓ |
| Data service | Playback exception troubleshooting | Allows you to specify information about the user or playback session to locate and troubleshoot playback exceptions. | × | ✓ | ✓ |
| Live streaming | Real-time streaming (RTS) | Supports low-latency streaming based on Low-latency HLS (LHLS) and DASH. | ✓ | ✓ | ✓ |
| Live streaming | RTS | Supports RTS playback. | ✓ | ✓ | ✓ |
| Live streaming | Automatic reconnection | Supports automatic reconnection during live streaming. | ✓ | ✓ | ✓ |
| Live streaming | Dynamic frame synchronization | Supports dynamic frame synchronization for live streaming to reduce latency. | ✓ | ✓ | ✓ |