plv-player-sdk
Updated: 2026-08-14 14:36:53
SDK Version Change Log
Version 2.11.0
New Features
- Added interface PLVSetVrmPrivateOsd to disable the default watermark for VRM12/13, only supported for native usage.
Changes and Fixes
- PLVPlayerPlay interface parameters changed, deprecated parameters removed. The seekMillisecond parameter meaning changed to: default -1: prioritize resuming playback from cloud or local memory progress, if no memory, play from the beginning; ≥0: start playback from the specified progress.
- The seekMillisecond parameter meaning for PLVPlayerPlayLocal and PLVPlayerLoadLocal interfaces has also been modified.
Version 2.10.0
New Features
- Support for VOD subtitle functionality
- Ability to retrieve subtitle count and names after video loading
- Support for getting and setting the current subtitle
- Support for subtitle style configuration: font, size, color, border size and color, background color, horizontal and vertical alignment, vertical position, whether to follow window scaling, and visibility
- Support for subtitle information callback, allowing custom rendering
- Support for encrypted video origin authentication functionality
Changes and Fixes
- Fixed the issue where deleting the default quality of a downloaded video would also delete other qualities.
- The playback list for downloaded encrypted videos no longer contains local path information.
Version 2.9.1
New Features
- Support for setting download speed limits
Changes and Fixes
- Increased the retry time for TS segment disconnections.
Version 2.9.0
Changes and Fixes
- Fixed the issue where VRM13 videos could not seek precisely when there was no cache.
- Fixed the issue of playback frame skipping or playback ending due to network reset.
- Fixed the issue where resuming a paused download failed due to token validity when downloading videos.
- Removed some unnecessary dependency libraries to reduce SDK file size.
Version 2.8.1
Changes and Fixes
- Under Electron, the hardware anti-recording feature is no longer enabled by default and requires calling an interface to activate it.
- Added the PLVPlayerSetSeekCacheEnable interface for VOD to control whether seeking is based on cache.
Version 2.8.0
New Features
- Support for native MAC ARM64 architecture SDK.
Version 2.7.1
Changes and Fixes
- Fixed the issue of slow playback startup when playing live rebroadcast channel streams.
Version 2.7.0
New Features
- Support for channel live streaming functionality, with a new set of interfaces for the live player.
- Support for virtual machine environment detection, currently only supported on Windows.
Changes and Fixes
- C++ interfaces marked as deprecated
- PLVMigrateLocalVideoKeyFile - It is recommended to use the new token interface.
- PLVPlayerSetAudioDeviceHandler - It is recommended to use PLVGetAudioDeviceCount to get the audio device list.
- PLVPlayerGetAudioDeviceCount - It is recommended to use PLVGetAudioDeviceCount to get the audio device list.
- PLVPlayerGetAudioDeviceInfo - It is recommended to use PLVGetAudioDeviceInfo to get audio device information.
- Fixed the issue where VRM13 videos could not seek to the 0-10 second range after synchronizing playback progress.
Version 2.6.3
Changes and Fixes
- Fixed the issue where the player stopped for too long under weak network conditions.
Version 2.6.2
Changes and Fixes
- When the memory progress is in the last few seconds of the video, replaying will now start from the beginning.
- Electron-SDK-NAPI version 8, built with node-18.20.3.
- Fixed the issue of low buffer during online playback of VRM12 and VRM13.
- Fixed the issue of certificate retrieval failure in paths containing Chinese characters.
Version 2.6.1
Changes and Fixes
- Related security enhancements: certificate, log, seed parameter protection.
Version 2.6.0
New Features
- C++ interface supports custom playback seed, only for online playback of VRM12|VRM13.
- New C++ interface: PLVPlayerSetAudioPlayErrorHandler, used for callback notification when audio playback fails.
- New Electron callback event: PlayerAudioPlayError, used for callback notification when audio playback fails.
Changes and Fixes
- C++ interfaces marked as deprecated
- secretKey and appSecret in PLVAccountInfo are not recommended to be passed to the SDK.
- PLVSetSdkHttpRequest is not recommended to be called.
- PLVRequestVideoInfo - It is recommended to request video information on the server.
- PLVCancelRequestVideoInfo - It is recommended to request video information on the server.
- PLVPlayerReloadAudioDevice - No need to call for now.
- C++ interface parameter changes
- When PLVDownloadStart is called, a token must be provided for encrypted videos.
- The following Electron interfaces have been removed
- setSdkHttpRequest - The SDK internally always uses HTTPS for requests.
- requestVideoInfo - It is recommended to request video information on the server.
- cancelRequestVideoInfo - It is recommended to request video information on the server.
- playerReloadAudioDevice - No need to actively reload for now.
- The following Electron interface parameters have changed
- In initSdkLibrary, the secretKey and appSecret parameters are no longer processed; do not pass them in.
- In downloadStart, a token must be provided for encrypted videos.
- Audio change: WIN32 will no longer attempt to use openal for audio playback.
- Fixed a potential deadlock issue on MAC when restarting playback after it has ended.
Version 2.5.3
Changes and Fixes
- Fixed issues related to unreleased JS events.
Version 2.5.2
Changes and Fixes
- Fixed a potential crash issue on Windows caused by repeatedly disabling and enabling audio during playback.
- Fixed the issue on Windows-Electron where there was no callback notification for hardware anti-recording.
- Optimized watermark styles for VRM12 and VRM13.
Version 2.5.1
Changes and Fixes
- Fixed the issue where offline encrypted videos downloaded with version 2.3.1 or lower had a probabilistic failure when migrated with version 2.4.0 or higher.
- Fixed the issue on MAC where actively stopping playback did not trigger the stop callback.
- VRM12|13 comes with a built-in video watermark that cannot be removed via interface.
- Fixed the incorrect callback type for hardware anti-recording under Electron-SDK.
- Fixed the inaccurate quality switching issue under Electron-SDK.
Version 2.5.0
Interface Changes
- PLVInitSdkLibrary: Added sub-account settings.
- PLVSetSdkLocalRememberPlay: Local resume playback interface.
- PLVVideoRequestInfo: Some fields in video information changed to 64-bit.
New Features
- Support for ECDN online playback.
- Support for cross-device resume playback.
- Support for using sub-accounts.
- Support for Electron invocation.
Changes and Fixes
- Inaccurate file size display.
- Potential crash on M1 during fullscreen playback.
- On Windows, if audio playback using WASAPI fails, attempt to use SDL.
- VRM13 comes with a built-in video watermark that cannot be removed via interface.
Version 2.4.0
Migration Notes
- Compatibility Notes:
- Offline videos downloaded with this version cannot be played using SDK versions lower than this one.
- Cannot directly play offline videos from lower versions; they must be migrated using the migration interface of this version before they can be played normally.
- Migration Notes:
- When using this version, all offline videos from lower versions must be migrated.
- The migration process is irreversible, meaning migrated videos cannot be played with lower SDK versions.
- The secretKey in the migration interface corresponds to the secretKey used when downloading the offline video.
Changes:
- Interface and parameter type changes:
- plv-player-def.h changes:
- VIDEO_RATE_TYPE;
- HDMI_DEVICE_TYPE;
- SDK_ERROR_TYPE;
- VIDEO_OUTPUT_DEVICE added win platform restriction;
- OSDConfigInfo changed to PLVOsdConfigInfo to prevent name conflicts;
- LogoTextInfo changed to PLVLogoTextInfo, and the textFontName parameter removed to prevent name conflicts;
- Added types VIDEO_REQUEST_TYPE/SOFTWARE_RECORDING_NOTIFY_TYPE;
- Added data structures PLVVideoRequestParam/PLVVideoRequestInfo/PLVVideoRequestPageInfo;
- plv-player-core.h changes:
- All anti-recording interfaces replaced, clearly distinguishing between software and hardware anti-recording, see interfaces for details;
- Download functionality extracted to a separate file plv-player-download.h:
- PLVDownloadSetVideo changed to PLVDownloadSetInfo;
- PLVDownloadPause added parameter pause to determine whether to pause or resume;
- Playback interface variables:
- OnPlayerAudioDeviceHandler callback removed the vid callback;
- PLVPlayerSetVideo changed to PLVPlayerSetInfo;
- PLVPlayerGetRateCount changed to PLVPlayerGetCurrentRateCount;
- PLVPlayerReloadAudio changed to PLVPlayerReloadAudioDevice;
- PLVPlayerPlay added parameter autoDownRate for automatic quality degradation;
- PLVPlayerPlay added parameter playWithToken to determine whether to include token during playback;
- PLVPlayerPlayLocal added parameter autoDownRate for automatic quality degradation;
- PLVPlayerLoadLocal added parameter autoDownRate for automatic quality degradation;
- Global interfaces:
- Added PLVSetSdkLogMessageCallback to pass log information back to the upper layer for processing;
- Modified PLVInitSdkLibrary, removed the readToken parameter;
- Added PLVRequestVideoInfo to request video information;
- Added PLVCancelRequestVideoInfo to interrupt video information requests;
- Added PLVMigrateLocalVideoKeyFile to migrate downloaded offline videos to the new key scheme;
- Added PLVDeleteLocalVideoFile to delete offline videos;
- plv-player-def.h changes:
New Features:
- Improved anti-recording functionality on mac;
- Added ability to set log information callback to the upper layer;
- Added interface for requesting video information;
- Added parameter for playing traceable videos, playWithToken set to true;
- Added global video deletion interface;
- Added interface for migrating offline videos to a new encryption method;
Fixed Issues:
- [Fix] Thread exit issue when download is paused;
- [Fix] Marquee supports modification during playback;
- [Fix] Audio-video sync issue when dragging progress for some VRM13 videos;
- [Fix] Retry logic when processing videojson;
- [Optimization] Return error code when viewerId is not passed for vrm12/vrm13;
- [Optimization] When VIDEO_RATE_AUTO is specified, use the default quality from videojson; if not available, switch levels progressively instead of directly using the lowest quality;
- [Optimization] When the video is a source file, the download will check if it is an MP4 file. If so, download it and specify the file quality as LD; if it is m3u8, return E_NO_SUPPORT;
- [Optimization] Optimized the logic for handling decompression failures. If decompression fails 3 times, the video will be deleted and re-downloaded/decompressed;
Version 2.3.1
Fixed Issues:
- [Fix] Issue where playing vrm13 offline videos with Chinese characters in the path resulted in no video display;
Version 2.3.0
New Features:
- Added interface to support setting the number of retry downloads;
Fixed Issues:
- [Modification] Adjusted marquee fade functionality to support fade-in and fade-out;
- [Optimization] Optimized network request time;
- [Optimization] Added vid printing in log output, added Debug level kernel log output;
- [Optimization] Before starting a download, disk space is checked. If less than 100M, an error code is returned. If a download fails, the remaining space is checked; if less than 10M, an error code is returned via callback;
Version 2.2.1
Fixed Issues:
- [Fix] GDI rendering blurriness on some machines;
- [Modification] If the window handle passed when creating a player object is null, the returned object is null;
- [Modification] Minimum supported MAC version is 10.15;
Version 2.2.0
New Features:
- Support for VRM12 playback;
- Support for VRM13 playback;
- Reduced dependency libraries for MAC version;
- Support for setting Logo text;
- Unified color format for marquee and Logo text;
- Modified playback jump to specified time; the load completion callback is only received after the jump is complete;
Fixed Issues:
- [Feature] Added GDI rendering to resolve playback stuttering caused by driver issues on some machines;
- [Feature] Added interface for setting certificate path to resolve HTTPS request errors;
- [Feature] Fixed path character issues, unified to UTF8 characters;
- [Modification] Hardware acceleration is disabled by default; hardware acceleration may cause screen artifacts under VRM13;
Version 2.1.0
New Features:
- Support for VRM12 playback;
- Support for MAC version;
- Support for setting Logo text;
Version 2.0.0
New Features:
- Reduced dependency library issues;
- Added Windows anti-recording interface callback;
Version 1.2.0
New Features:
- Added playback buffer progress callback;
Fixed Issues:
- [Feature] VLog calculation error issue;
Version 1.1.0
New Features:
- Updated to C++ implementation;
Fixed Issues:
- [Feature] Video freezing issue on certain graphics cards;
