ApsaraVideo Player SDK provides various features to ensure stable and smooth playback of audio files and video files. ApsaraVideo Player SDK provides solutions for various usage scenarios to meet your business requirements. This topic describes the features of ApsaraVideo Player SDK. You can check whether the features meet your business requirements.

Features

ApsaraVideo Player SDK provides various features for video-on-demand (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 information that is provided in the following table is for only the web platform, Android platform, and iOS platform.
CategoryFeatureDescriptionApsaraVideo Player SDK for WebApsaraVideo Player SDK for AndroidApsaraVideo Player SDK for iOS
Supported protocolsSupported audio file formats 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).
Note For more information, see Supported audio and video formats.
Note ApsaraVideo Player SDK for Android supports the following file formats: Flash Video (FLV), HTTP-Live-Streaming (HLS), MP4, MP3, MOV, MKV, Messaging Protocol (RTMP), and Alibaba Real-Time Communication (ARTC). ARTC is supported only after you enable Real-Time Streaming (RTS). For more information, see Overview.
Note ApsaraVideo Player SDK for iOS supports the following file formats: FLV, HLS, MP4, MP3, MOV, MKV, RTMP, and ARTC. ARTC is supported only after you enable RTS. For more information, see Overview.
Supported protocolsHLSSupports the playback of regular HLS streams, HLS streams in different bitrates, and streams that are encrypted based on the HLS AES-128 standard.
Supported protocolsDynamic 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 protocolsURL-based playbackSupports URL-based playback of online videos or local videos. For example, you can play videos based on UrlSource.
Supported protocolsVideo 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 play videos based on VidAuth and VidSts.
Supported protocolsComplete 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. For more information, see Advanced features.
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 is used to determine whether HTTP/2 is supported. For more information, see 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 subtitle files, SSA subtitle files, ASS subtitle files, and VTT subtitle files are supported.
Advanced feature: interactionLive commentingSupports 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. ×
Advanced feature: video securitySecure downloadAllows you to use the specified application to download and encrypt videos. ×
Advanced feature: video securityDigital rights management (DRM) encryptionSupports Widevine DRM and FairPlay DRM.
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.