VOD supports multiple methods to play back uploaded and transcoded videos, and video playback mainly involves the following three scenarios:
|Scenario||Description||Recommended Playback Method|
|Short video playback||Playback of videos of less than 5 minutes in length||Basic player|
|Long video playback||Playback of videos produced by professional organizations and published on video websites||Superplayer|
|Encrypted video playback||Playback of long videos requiring encryption for copyright protection||Superplayer|
This document describes the three scenarios' characteristics and recommended playback methods.
Short videos generally refer to videos of less than 5 minutes in length, mainly including:
For short video playback scenarios, VOD provides the basic player SDK, which uses the URL as a parameter to play back the selected video on demand.
The overall architecture of playback with the basic player SDK is as follows:
Long videos generally refer to videos produced by professional organizations and published on video websites, mainly including:
For long video playback scenarios, VOD provides the superplayer SDK, which uses the
FileId as a parameter to play back the selected video on demand.
The overall architecture of playback with the superplayer SDK is as follows:
For the features supported by the superplayer SDK, see Feature list. For the integration method, see Download and use.
To help you quickly integrate the superplayer of VOD, we provide a superplayer integration guide to describe the integration steps by way of demos.
Video encryption is a specific scenario of long video playback scenarios, where copyrighted videos such as exclusive TV series and online courses are encrypted to avoid unauthorized download and distribution.
For more information on how video encryption works and the integration methods, see Video Encryption Overview and Video Encryption Integration Guide.
|Player Type||SDK Download Address||User Guide|
|Feature||Description||iOS and Android||Web||Flutter|
|Multiple formats||A rich set of audio/video formats such as RTMP, FLV, HLS, MP4, and WebRTC are supported||✓||✓||✓|
|Playback through URL||Online videos can be played back at URLs||✓||✓||✓|
|DASH protocol||Videos in standard DASH format are supported||×||✓||✓|
||Videos can be played back through their
|Instant broadcasting and preloading of the first frame||Videos can be preloaded with the first frame broadcast instantly||✓||✓||×|
|Quick seeking||The specified position can be quickly and accurately located to play back the video image there||✓||✓||✓|
|H.265 hardware decoding||Playback based on hardware decoding is supported for H.265 videos||✓||✓||✓|
|Automatic switch between software and hardware decoding||If the device does not support hardware decoding, software decoding will be automatically used||✓||-||✓|
|Adaptive bitrate streaming||If an HLS adaptive bitstream is played back, the bitrate can be manually specified or automatically selected according to the network bandwidth for playback||✓||✓||×|
|Definition switch||Multiple definitions can be smoothly switched between with no lags||✓||✓||✓|
|Definition naming||Names can be customized for different definitions||✓||✓||×|
|Playback control||Playback control features such as start, end, pause, automatic playback, looped playback, checkpoint restart, and replay are supported||✓||✓||✓|
|Adjustable-Speed playback||Videos can be played back at any speed between 0.5 time and 2 times, and the audio tone will stay the same even if the speed changes||✓||✓||✓|
|Custom playback start time||The time when to start the playback of a video is customizable||✓||✓||✓|
|Preview||Videos with preview enabled can be played back||✓||✓||✓|
|Progress bar operation||The indicator on the progress bar can be dragged to seek the video||✓||✓||✓|
|Progress bar marking and thumbnail preview||Markers can be added to the progress bar, and thumbnail (sprite) preview is supported||✓||✓||✓|
|Player size||The player size can be customized||✓||✓||✓|
|Screen filling/fitting||Different display modes can be selected for the video image to match the screen size||✓||✓||✓|
|Small window playback||Videos can be played back in a small window||✓||✓||✓|
|Video mirroring||The video image can be mirrored horizontally or vertically||✓||✓||✓|
|Video rotation||The video image can be rotated at the specified angle or automatically according to the
|Brightness adjustment||The system brightness can be adjusted during video playback||✓||-||✓|
|Volume adjustment||The system volume can be adjusted or muted during video playback||✓||✓||✓|
|Dual-Channel audio||Dual-Channel audios can be played back||✓||✓||✓|
|Screen lock||Screen lock features are supported, including rotation lock and UI element hiding||✓||-||✓|
|On-screen commenting||Comments can be displayed above the video||✓||✓||✓|
|Roll image||A roll image can be added for ad display when the video is paused||✓||✓||✓|
|Video screencapturing||Any frame of the video can be captured||✓||-||✓|
|Subtitles import||Custom subtitles files can be imported||✓||✓||✓|
|Thumbnail configuration||The thumbnail of the video to be played back can be set||✓||✓||✓|
|Multi-Instance||Multiple players can be added on the same page for concurrent playback||✓||✓||✓|
|Buffering||When a video is played back, its rest content can be downloaded and buffered at the same time||✓||✓||✓|
|Referer hotlink protection||The source of a playback request can be identified through the
|Key hotlink protection||Control parameters can be added in the playback URL, so as to control the URL validity period, preview duration, number of IPs allowed for playback, etc.||✓||✓||✓|
|HLS encryption||Video data can be encrypted with a key and HLS-based AES encryption scheme||✓||✓||✓|
|Proprietary protocol encryption||Videos can be encrypted over proprietary protocols in the cloud, and the encrypted videos can be decrypted only through the player SDK for playback||✓||✓||×|
|Offline download||Encrypted videos downloaded offline can be decrypted only through the player SDK for playback||✓||-||×|
|Playback callback||The playback status, first frame, and playback completion or failure can be called back||✓||✓||✓|
|Support for HTTPS||HTTPS video resources can be played back||✓||✓||✓|
|Custom HTTP header||HTTP headers in video resource requests are customizable||✓||-||×|
"-" in the table indicates that the terminal doesn't need to have the corresponding feature or doesn't have the related concept.