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 reliability

ApsaraVideo 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 performance

ApsaraVideo 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 security

ApsaraVideo 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 support

ApsaraVideo 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 integration

ApsaraVideo 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 platforms

ApsaraVideo 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

ApsaraVideo Player SDK provides various features for VOD playback and live streaming. The following table describes the features of ApsaraVideo Player SDK and information about whether the features are available on different platforms.
Note The following table involves only the web, Android, and iOS platforms.
CategoryFeatureDescriptionApsaraVideo Player SDK for webApsaraVideo Player SDK for AndroidApsaraVideo Player SDK for iOS
Supported protocolSupported audio and video file formatsSupports 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 protocolHLSSupports the playback of regular HLS streams, HLS streams in different bitrates, and streams that are encrypted based on the HLS AES-128 standard.
Supported protocolDynamic 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 protocolURL-based playbackSupports URL-based playback of online videos or local videos. For example, you can use UrlSource sources for playback.
Supported protocolVideo ID (VID)-based playbackSupports 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 protocolComplete 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 controlPlayback controlSupports playback control features, including start, stop, pause, video seeking, and autoplay.
Basic feature: playback controlseekAllows 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 controlPrecise seekingSupports video seeking to a specified frame.
Basic feature: playback controlResumed playbackAllows you to specify the point in time from which you want to resume playback.
Basic feature: playback controlLoop playbackSupports automatic replay after the playback of an audio file or video file ends.
Basic feature: playback controlList playbackSupports list playback for short videos to improve the loading speed.
Basic feature: playback controlConfigurable playback speedsAllows 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 controlManual definition switchingAllows you to switch video streams between different definitions.
Basic feature: playback controlSnapshot captureAllows 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 controlData output during audio rendering and video renderingSupports the output of pulse-code modulation (PCM) and YUV data during rendering. ×
Basic feature: playback controlEvent callbacksAllows 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 settingsVideo image resizingSupports image padding and cropping.
Basic feature: video display settingsVideo image rotationSupports the following rendering angles for video images: 0°, 90°, 180°, and 270°.
Basic feature: video display settingsMirroring modeSupports the following mirroring modes: no mirroring, horizontal mirroring, and vertical mirroring.
Basic feature: video display settingsBrightness changeAllows you to change the screen brightness. You can use gestures to change the brightness in the UI.
Basic feature: video display settingsCustom player sizeSupports custom settings for the width and height of the player.
Basic feature: video display settingsHigh Dynamic Range (HDR) video playbackSupports 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 settingsPicture-in-pictureSupports 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 settingsVolume changeAllows 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 settingsMute modeAllows you to enable or disable the mute mode.
Basic feature: volume settingsAudio-only playbackAllows 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 settingsBackground playbackAllows you to continue playing audio streams when the application is switched from the UI to the background.
Advanced feature: playback performance settingsRetry of playback upon failuresSupports automatic retries that are triggered after the playback fails.
Advanced feature: playback performance settingsHTTP 2.0Supports 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 settingsHTTPDNSSupports 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 settingsLocal cachingSupports 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 settingsPreloadingPreloads videos to accelerate the startup of video playback. This feature is an optimization of the local caching feature. ×
Advanced feature: playback performance settingsSwitching between software decoding and hardware decodingSupports 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 settingsDecoding blacklistAllows you to configure a blacklist for hardware decoding.
Advanced feature: playback performance settingsNetwork-adaptive playback of multi-bitrate video streamsSupports seamless multi-bitrate switching of live streams in the HLS format and DASH format.
Advanced feature: playback performance settingsNetwork speed displaySupports the reporting feature that reports the network speed of a player in real time. ×
Advanced feature: interactionCustom subtitlesAllows 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: interactionLive commentingSupports normal live comments and non-invasive live comments.
Advanced feature: video securityHLS encryptionSupports playback for streams that are encrypted based on the HLS AES-128 standard.
Advanced feature: video securityAlibaba Cloud proprietary cryptographySupports 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 securitySecure downloadAllows 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 securityDRM encryptionSupports DRM encryption, including Widevine DRM encryption and FairPlay DRM encryption.
Data serviceLog reportingAllows you to collect tracking information about VOD playback and live streaming based on reported SDK logs.
Data serviceData dashboardsAllows you to view macro statistics such as the numbers of playback requests and users.
Data servicePlayback exception troubleshootingAllows you to specify information about the user or playback session to locate and troubleshoot playback exceptions. ×
Live streamingReal-time streaming (RTS)Supports low-latency streaming based on Low-latency HLS (LHLS) and DASH.
Live streamingRTSSupports RTS playback.
Live streamingAutomatic reconnectionSupports automatic reconnection during live streaming.
Live streamingDynamic frame synchronizationSupports dynamic frame synchronization for live streaming to reduce latency.