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.
Category | Feature | Description | ApsaraVideo Player SDK for Web | ApsaraVideo Player SDK for Android | ApsaraVideo Player SDK for iOS |
---|---|---|---|---|---|
Supported protocols | Supported audio file formats 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). | √ 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 protocols | 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 protocols | 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 protocols | URL-based playback | Supports URL-based playback of online videos or local videos. For example, you can play videos based on UrlSource. | √ | √ | √ |
Supported protocols | 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 play videos based on VidAuth and VidSts. | √ | √ | √ |
Supported protocols | 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. For more information, see Advanced features. | √ | √ |
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 is used to determine whether HTTP/2 is supported. For more information, see 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 subtitle files, SSA subtitle files, ASS subtitle files, and VTT subtitle files are supported. |
Advanced feature: interaction | Live commenting | Supports 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. | × | √ | √ |
Advanced feature: video security | Secure download | Allows you to use the specified application to download and encrypt videos. | × | √ | √ |
Advanced feature: video security | Digital rights management (DRM) encryption | Supports Widevine DRM and FairPlay DRM. | √ | √ | √ |
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. | √ | √ | √ |