Polyv Help Center

Help Center

plv-player-sdk

Updated: 2026-08-14 14:36:53

SDK Version Change Log

Version 2.11.0

New Features

  1. Added interface PLVSetVrmPrivateOsd to disable the default watermark for VRM12/13, only supported for native usage.

Changes and Fixes

  1. 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.
  2. The seekMillisecond parameter meaning for PLVPlayerPlayLocal and PLVPlayerLoadLocal interfaces has also been modified.

Version 2.10.0

New Features

  1. 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
  2. Support for encrypted video origin authentication functionality

Changes and Fixes

  1. Fixed the issue where deleting the default quality of a downloaded video would also delete other qualities.
  2. The playback list for downloaded encrypted videos no longer contains local path information.

Version 2.9.1

New Features

  1. Support for setting download speed limits

Changes and Fixes

  1. Increased the retry time for TS segment disconnections.

Version 2.9.0

Changes and Fixes

  1. Fixed the issue where VRM13 videos could not seek precisely when there was no cache.
  2. Fixed the issue of playback frame skipping or playback ending due to network reset.
  3. Fixed the issue where resuming a paused download failed due to token validity when downloading videos.
  4. Removed some unnecessary dependency libraries to reduce SDK file size.

Version 2.8.1

Changes and Fixes

  1. Under Electron, the hardware anti-recording feature is no longer enabled by default and requires calling an interface to activate it.
  2. Added the PLVPlayerSetSeekCacheEnable interface for VOD to control whether seeking is based on cache.

Version 2.8.0

New Features

  1. Support for native MAC ARM64 architecture SDK.

Version 2.7.1

Changes and Fixes

  1. Fixed the issue of slow playback startup when playing live rebroadcast channel streams.

Version 2.7.0

New Features

  1. Support for channel live streaming functionality, with a new set of interfaces for the live player.
  2. Support for virtual machine environment detection, currently only supported on Windows.

Changes and Fixes

  1. C++ interfaces marked as deprecated
    1. PLVMigrateLocalVideoKeyFile - It is recommended to use the new token interface.
    2. PLVPlayerSetAudioDeviceHandler - It is recommended to use PLVGetAudioDeviceCount to get the audio device list.
    3. PLVPlayerGetAudioDeviceCount - It is recommended to use PLVGetAudioDeviceCount to get the audio device list.
    4. PLVPlayerGetAudioDeviceInfo - It is recommended to use PLVGetAudioDeviceInfo to get audio device information.
  2. 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

  1. Fixed the issue where the player stopped for too long under weak network conditions.

Version 2.6.2

Changes and Fixes

  1. When the memory progress is in the last few seconds of the video, replaying will now start from the beginning.
  2. Electron-SDK-NAPI version 8, built with node-18.20.3.
  3. Fixed the issue of low buffer during online playback of VRM12 and VRM13.
  4. Fixed the issue of certificate retrieval failure in paths containing Chinese characters.

Version 2.6.1

Changes and Fixes

  1. Related security enhancements: certificate, log, seed parameter protection.

Version 2.6.0

New Features

  1. C++ interface supports custom playback seed, only for online playback of VRM12|VRM13.
  2. New C++ interface: PLVPlayerSetAudioPlayErrorHandler, used for callback notification when audio playback fails.
  3. New Electron callback event: PlayerAudioPlayError, used for callback notification when audio playback fails.

Changes and Fixes

  1. C++ interfaces marked as deprecated
    1. secretKey and appSecret in PLVAccountInfo are not recommended to be passed to the SDK.
    2. PLVSetSdkHttpRequest is not recommended to be called.
    3. PLVRequestVideoInfo - It is recommended to request video information on the server.
    4. PLVCancelRequestVideoInfo - It is recommended to request video information on the server.
    5. PLVPlayerReloadAudioDevice - No need to call for now.
  2. C++ interface parameter changes
    1. When PLVDownloadStart is called, a token must be provided for encrypted videos.
  3. The following Electron interfaces have been removed
    1. setSdkHttpRequest - The SDK internally always uses HTTPS for requests.
    2. requestVideoInfo - It is recommended to request video information on the server.
    3. cancelRequestVideoInfo - It is recommended to request video information on the server.
    4. playerReloadAudioDevice - No need to actively reload for now.
  4. The following Electron interface parameters have changed
    1. In initSdkLibrary, the secretKey and appSecret parameters are no longer processed; do not pass them in.
    2. In downloadStart, a token must be provided for encrypted videos.
  5. Audio change: WIN32 will no longer attempt to use openal for audio playback.
  6. Fixed a potential deadlock issue on MAC when restarting playback after it has ended.

Version 2.5.3

Changes and Fixes

  1. Fixed issues related to unreleased JS events.

Version 2.5.2

Changes and Fixes

  1. Fixed a potential crash issue on Windows caused by repeatedly disabling and enabling audio during playback.
  2. Fixed the issue on Windows-Electron where there was no callback notification for hardware anti-recording.
  3. Optimized watermark styles for VRM12 and VRM13.

Version 2.5.1

Changes and Fixes

  1. 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.
  2. Fixed the issue on MAC where actively stopping playback did not trigger the stop callback.
  3. VRM12|13 comes with a built-in video watermark that cannot be removed via interface.
  4. Fixed the incorrect callback type for hardware anti-recording under Electron-SDK.
  5. Fixed the inaccurate quality switching issue under Electron-SDK.

Version 2.5.0

Interface Changes

  1. PLVInitSdkLibrary: Added sub-account settings.
  2. PLVSetSdkLocalRememberPlay: Local resume playback interface.
  3. PLVVideoRequestInfo: Some fields in video information changed to 64-bit.

New Features

  1. Support for ECDN online playback.
  2. Support for cross-device resume playback.
  3. Support for using sub-accounts.
  4. Support for Electron invocation.

Changes and Fixes

  1. Inaccurate file size display.
  2. Potential crash on M1 during fullscreen playback.
  3. On Windows, if audio playback using WASAPI fails, attempt to use SDL.
  4. VRM13 comes with a built-in video watermark that cannot be removed via interface.

Version 2.4.0

Migration Notes

  1. 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.
  2. 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:

  1. Interface and parameter type changes:
    1. plv-player-def.h changes:
      1. VIDEO_RATE_TYPE;
      2. HDMI_DEVICE_TYPE;
      3. SDK_ERROR_TYPE;
      4. VIDEO_OUTPUT_DEVICE added win platform restriction;
      5. OSDConfigInfo changed to PLVOsdConfigInfo to prevent name conflicts;
      6. LogoTextInfo changed to PLVLogoTextInfo, and the textFontName parameter removed to prevent name conflicts;
      7. Added types VIDEO_REQUEST_TYPE/SOFTWARE_RECORDING_NOTIFY_TYPE;
      8. Added data structures PLVVideoRequestParam/PLVVideoRequestInfo/PLVVideoRequestPageInfo;
    2. plv-player-core.h changes:
      1. All anti-recording interfaces replaced, clearly distinguishing between software and hardware anti-recording, see interfaces for details;
      2. Download functionality extracted to a separate file plv-player-download.h:
        1. PLVDownloadSetVideo changed to PLVDownloadSetInfo;
        2. PLVDownloadPause added parameter pause to determine whether to pause or resume;
      3. Playback interface variables:
        1. OnPlayerAudioDeviceHandler callback removed the vid callback;
        2. PLVPlayerSetVideo changed to PLVPlayerSetInfo;
        3. PLVPlayerGetRateCount changed to PLVPlayerGetCurrentRateCount;
        4. PLVPlayerReloadAudio changed to PLVPlayerReloadAudioDevice;
        5. PLVPlayerPlay added parameter autoDownRate for automatic quality degradation;
        6. PLVPlayerPlay added parameter playWithToken to determine whether to include token during playback;
        7. PLVPlayerPlayLocal added parameter autoDownRate for automatic quality degradation;
        8. PLVPlayerLoadLocal added parameter autoDownRate for automatic quality degradation;
      4. Global interfaces:
        1. Added PLVSetSdkLogMessageCallback to pass log information back to the upper layer for processing;
        2. Modified PLVInitSdkLibrary, removed the readToken parameter;
        3. Added PLVRequestVideoInfo to request video information;
        4. Added PLVCancelRequestVideoInfo to interrupt video information requests;
        5. Added PLVMigrateLocalVideoKeyFile to migrate downloaded offline videos to the new key scheme;
        6. Added PLVDeleteLocalVideoFile to delete offline videos;

New Features:

  1. Improved anti-recording functionality on mac;
  2. Added ability to set log information callback to the upper layer;
  3. Added interface for requesting video information;
  4. Added parameter for playing traceable videos, playWithToken set to true;
  5. Added global video deletion interface;
  6. 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:

  1. 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:

  1. Support for VRM12 playback;
  2. Support for VRM13 playback;
  3. Reduced dependency libraries for MAC version;
  4. Support for setting Logo text;
  5. Unified color format for marquee and Logo text;
  6. 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:

  1. Support for VRM12 playback;
  2. Support for MAC version;
  3. Support for setting Logo text;

Version 2.0.0

New Features:

  1. Reduced dependency library issues;
  2. Added Windows anti-recording interface callback;

Version 1.2.0

New Features:

  1. Added playback buffer progress callback;

Fixed Issues:

  • [Feature] VLog calculation error issue;

Version 1.1.0

New Features:

  1. Updated to C++ implementation;

Fixed Issues:

  • [Feature] Video freezing issue on certain graphics cards;
联系客服,在线咨询