Update Log

V2.0.5

2026-04-03

  • New Features
  1. S17 private protocol

  2. If mosaic is enabled and netRequestType is 2 or 3, use the s17 request

  3. Single-channel playback does not require a black screen

V2.0.4-P4

2026-03-27

  • Internal Optimizations
  1. Fixed WASM error when alarm data is present in the first second

V2.0.4-P3

2026-03-25

  • Internal Optimizations
  1. Issue with converting user time to platform time

  2. Error when devId is empty and netRequestType = 2

V2.0.4-P2

2026-02-28

  • Optimization
  1. Issue where loading continues after direct channel is closed

  2. Integrate traffic control

  3. Issue where addStream and destroy do not update volume object

V2.0.4-P1

2026-01-16

  • Optimization
  1. Issue of skipping seconds due to insufficient wasm decoding performance

  2. Issue of occasional stalling when mse seeks to the last second

  3. Issue of stalling due to failure to decode the last frame with webcodecs

  4. Issue of frame dropping due to too fast decoding frequency of webcodecs when there is no audio

  5. Optimize mse frame matching issue

  6. addStream supports stream type

V2.0.4

2025-12-10

  • Optimization
  1. Optimized adas and dms display

  2. Fixed issue where the last bitstream switch didn't take effect when frequently switching bitstreams during playback

V2.0.1-P10

2025-11-14

Optimization

  1. Fixed issue where evidence channel would not recover after black screen

V2.0.3-P5

2025-11-04

  • New Features
  1. Playback time now supports UTC timestamps

  2. Added hooks unbinding functionality

  • Internal Optimizations
  1. Unsafe content optimization

  2. Convert startPlayTime to platform timezone

  3. Handle MP4 file cross-time segment exception scenarios

  4. Downgrade to MSE decoding when decoding ultra-high-definition videos in WebCodecs mode

  5. Video information plugin not taking effect during replay

  6. Fixed scaling screen error after calling clear() in OSD plugin

  7. Fixed video black screen not recovering caused by consecutive two segment end frames

  8. Fixed playback delay and audio stuttering issues in WebCodecs mode

  9. Fixed inability to play to end after switching streams during playback

V2.0.2-P6

2025-10-24

  • Internal Optimizations
  1. Fixed MSE mode getting stuck after seek

V2.0.3-P4

2025-09-30

  • New Features
  1. Added pauseWhileHidden parameter for live to control whether to pause when page is hidden
  • Internal Optimizations
  1. Fixed frame disorder issue when using webcodecs hardware decoding on older devices

  2. Fixed second-jumping issue after seek caused by inconsistent i-frames in channels

  3. Fixed OSD garbled text issue

  4. Fixed data merging issue when manually drawing mosaics

V2.0.3-P3

2025-09-05

  • New Features
  1. Added mobile device adaptation support
  • Optimizations
  1. Fixed excessive license plate blurring range

  2. Optimized MSE high-speed playback activation time

  3. Fixed high-speed playback not ending issue

  4. Changed multiple channel destruction from sequential to simultaneous in passthrough mode

  5. Fixed last seek time not triggering onTimeChange callback during consecutive seeks while paused

  6. Fixed video continuing to play after seeking while paused

  7. Fixed onLoading hook not triggering after removing all channels and re-adding channels in passthrough mode

  8. Fixed legacy intercom caching issues

  9. Optimized WebCodecs and Wasm mosaic anti-shake mechanism

  10. Fixed main stream switch failure after enabling substream in playback

V2.0.2-P5

08/25/2025

Optimization

  1. Fixed issue where evidence channel would not recover after black screen

2.0.3-P2

08/08/2025

  • New Features
  1. Added speed limit sign display in ADAS algorithm

  2. Enabled playback on non-model channels in GPU-impossible scenarios

  3. Player creation now supports mosaic configuration

  4. Added onVolumeChange hook for volume callback

  • Optimizations
  1. Fixed screen jitter issue when setting display ratio in WebGL rendering

  2. Resolved error caused by consecutive play() and pause() calls when readyState <= 2 in MSE decoding

  3. Fixed onTimeChange callback issue during continuous seek operations

  4. Resolved continuous loading issue after GPU errors in passthrough playback

  5. Fixed memory leak in WebCodecs decoding

  6. Optimized JPEG screenshot performance

  7. Modified ADAS preceding vehicle speed calculation method

2.0.2-P4

07/14/2025

  • Optimizations
  1. Removed invalid ADAS collision alerts with TTC of 99.00s

  2. Optimized frame-by-frame playback when seeking to the last second of evidence videos

  3. Fixed black screen issue when frame-by-frame playback followed by seeking to the last second in evidence videos

2.0.3-P1

07/11/2025

  • Optimizations
  1. Fixed the issue where composite stream mode wouldn't show loading state when network is disconnected

  2. Fixed video size detection issue after Chrome upgraded to version 138

  3. Fixed multiple onTimeChange callbacks being triggered after seeking in afterReady state

  4. Fixed frame-by-frame playback issue caused by setting first second FPS to 1 in non-MSE mode

V2.0.3

07/01/2025

  • New Features
  1. Added onStreamTypeChange hook to monitor stream switching

  2. Added destroyInstanceByUser parameter for passthrough mode, supporting keeping player instance after destroying all channels

  3. Added fullRatio parameter in global configuration to determine whether to stretch when filling screen

  4. Added startPlayTime parameter for playback start time

  5. Added onInputAudioDevicesChange hook to monitor input audio device changes

  • Optimizations
  • Fixed volume setting issue when intercom triggers afterReady

  • Fixed audio-video synchronization issue in non-MSE mode playback

  • Optimized AI information display

  • Fixed issue where aspect ratio array parameter doesn't take effect

  • Fixed audio switching issue in virtual playback with same channel data but different device IDs

  • Optimized end time judgment with 3-second error margin

  • Optimized onPlayEnd callback timing to trigger after afterReady

V2.0.2-P3

06/27/2025

  • Optimizations
  1. Fixed issue where seeking while paused triggers onTimeChange callback twice

  2. Fixed issue where seeking in afterReady state triggers onTimeChange callback multiple times

  3. Fixed first-second stutter issue in WebCodecs passthrough startup

V2.0.2-P2

06/06/2025

  • Optimizations
  1. Optimized green screen issue during main/sub stream switching on X3NPRO devices

  2. Optimized onTimeChange triggering during seek

V2.0.2-P1

05/30/2025

  • New Features
  1. Modified the format of term and unit configurations. Refer to Configuration Document

  2. Disabled frame-by-frame and slow playback in keyframe mode.

  3. Added replaying status for playback.

  • Optimizations
  1. Frame-by-frame playback issues

  2. Audio-video synchronization issues in non-MSE mode

  3. ADAS algorithm pedestrian bounding box colors

  4. Frame deletion issue after seeking in unstarted MSE channels

  5. Repeated playback issue with 1-second evidence videos

V2.0.2

05/08/2025

  • New Features
  1. Frame-by-frame mode now supports seek operation

  2. When no data available in frame-by-frame mode, onFramePlayNoData callback returns first or last frame

  3. Added term configuration, unit configuration and curve configuration for AI display

  4. Whether to enable cache mode for frame-by-frame playback

  5. Replaying after playback stops can trigger the afterReady hook

V2.0.1-P9

04/02/2025

  • New Features
  1. setVolume and frame-by-frame operations are now available in afterReady state.
  • Optimizations
  1. Optimized player auto-close function when page refreshes

  2. Fixed mosaic issues when switching stream types

  3. Optimized audioContext memory usage

  4. Added 'reconnectExhausted' field to loadingTimeout hook indicating whether reconnection attempts are exhausted

V2.0.1-P8

03/20/2025

  • Optimizations
  1. High-speed playback synchronization optimization

  2. Intercom real-time performance optimization

  3. Fixed playback end issue caused by large error in evidence end time

  4. Added fluency detection for direct streaming

    playerjs.performanceList

V2.0.1-P7

03/06/2025

  • Bug Fixes
  1. The issue with the hasPostApi field is causing the interface to not use POST.

V2.0.1-P6

01/20/2025

  • Bug Fixes
  1. MSE data not playing after page is hidden when evidence is short
  2. Fixed WebCodecs H.265 default software decoding configuration error
  3. MSE audio G711A misjudged as intercom causing discard
  4. Fixed issues with reopening video after closing when page is hidden
  • New Features
  1. Added AI alarm type configuration. Refer to Configuration Documentation

    playerjs.config = { allowAlarm: [] };
  2. Added real-time priority and smooth priority configuration for live view MSE mode. Refer to Live View Documentation

    createLivePlayer(doms, { playMode: 0, // 0-real-time priority, 1-smooth priority });
  • Optimizations
  1. WebCodecs defaults to software decoding
  2. Intercom stuttering optimization
  3. Added afterReady hook for listening
  4. First second stuttering optimization for listening
  5. Video information plugin performance optimization
  6. Added timeout error to listening/intercom onError Hook

V2.0.1-P5

12/09/2024

  • New Features
  1. Header includes _referer

V2.0.1-P4

11/29/2024

  • Bug Fixes
  1. Fixed frame-by-frame playback getting stuck due to GOP anomaly
  2. Fixed mosaic display issue after container scaling
  3. Fixed grid display issue when re-editing mosaic at low resolution
  4. Fixed WASM error caused by fileSize being string type
  • New Features
  1. Added default playback speed startMultiple. Refer to Playback Configuration
  2. Added size and format configuration for screenshots. Refer to Screenshot Function
  3. Added right-click delete function for manual mosaic
  4. Added reconnection logic configuration for live view. Refer to Reconnection
  • Optimizations
  1. Loading timeout does not require pause when page is hidden
  2. MSE decoder reset after decoding error
  3. Force onTimeChange trigger once at afterReady
  4. Audio delay optimization

V2.0.1-P3

10/31/2024

  • Bug Fixes
  1. Fixed replay and seek issues after network disconnection
  • Optimizations
  1. MSE frame matching optimization
  2. AI rectangle box and lane line optimization

V2.0.1-P2

09/29/2024

  • Bug Fixes
  1. Fixed magnification effect lost after switching stream type
  2. Fixed manual mosaic bugs
  3. Fixed video error on Safari for iPhone
  4. Fixed no mosaic at MSE playback start
  • Optimizations
  1. Immediate resolve when closing live view
  2. Loading timeout callback channel optimization

V2.0.1-P1

09/05/2024

  • New Features

Added manual mosaic related APIs. Manual Mosaic API

V2.0.1

07/01/2024

  • New Features

    1. Support for 905, 1078 device multi-channel simultaneous playback. Due to device not supporting multi-channel synchronization, strong synchronization cannot be guaranteed during playback

    2. Added manual mosaic function, refer to Additional Video Functions manual mosaic section

    3. Added intercom prompt sound function

    4. Added mining large rock block function

    5. Added support for selecting software/hardware decoding in WebCodecs

  • Interface Changes

    1. Added multi-channel playback flag for playback

    Device multi-channel synchronous playback identifier, default synchronous playback. For 1078, 905 multi-channel playback, needs to be set to false. Only supported by device playback and mixed playback.

H5Player.createHistoryPlayer(domList, { deviceSyncPlay: false, });
  1. Added startPrompt, stopPrompt for passing start/end prompt sounds
const intercom = H5Player.createIntercom({
    ...config,
    startPrompt: buffer, // Start prompt sound, PCM format, 16-bit, 8000Hz sample rate, mono channel
    stopPrompt: buffer // End prompt sound, PCM format, 16-bit, 8000Hz sample rate, mono channel
});
  1. Added global WebCodecs software/hardware decoding

Whether to enable hardware decoding for WebCodecs. 0-browser auto select, 1-hardware decoding, 2-software decoding. Only effective when decoderType = 2. If live view needs higher real-time performance, set this to 2, though it will sacrifice some performance.

H5Player.config = { hardwareAcceleration: 0, };
  • Interface Additions

    1. Added intercom HOOKS
intercom.hooks.afterReady.tap('ready', () => {
    message.info('Start prompt sound ended, intercom started');
});

intercom.hooks.afterStop.tap('stop', () => {
    message.info('End prompt sound ended, intercom stopped');
});
  • Optimizations

    1. Memory, CPU, latency optimization

    WASM software decoding latency 400ms, MSE hardware decoding latency 1200ms, WebCodecs hardware decoding latency 850ms, WebCodecs software decoding latency 400ms.

    Performance comparison: MSE > WebCodecs hardware decoding > WebCodecs software decoding > WASM software decoding