2026-04-03
S17 private protocol
If mosaic is enabled and netRequestType is 2 or 3, use the s17 request
Single-channel playback does not require a black screen
2026-03-27
2026-03-25
Issue with converting user time to platform time
Error when devId is empty and netRequestType = 2
2026-02-28
Issue where loading continues after direct channel is closed
Integrate traffic control
Issue where addStream and destroy do not update volume object
2026-01-16
Issue of skipping seconds due to insufficient wasm decoding performance
Issue of occasional stalling when mse seeks to the last second
Issue of stalling due to failure to decode the last frame with webcodecs
Issue of frame dropping due to too fast decoding frequency of webcodecs when there is no audio
Optimize mse frame matching issue
addStream supports stream type
2025-12-10
Optimized adas and dms display
Fixed issue where the last bitstream switch didn't take effect when frequently switching bitstreams during playback
2025-11-14
Optimization
2025-11-04
Playback time now supports UTC timestamps
Added hooks unbinding functionality
Unsafe content optimization
Convert startPlayTime to platform timezone
Handle MP4 file cross-time segment exception scenarios
Downgrade to MSE decoding when decoding ultra-high-definition videos in WebCodecs mode
Video information plugin not taking effect during replay
Fixed scaling screen error after calling clear() in OSD plugin
Fixed video black screen not recovering caused by consecutive two segment end frames
Fixed playback delay and audio stuttering issues in WebCodecs mode
Fixed inability to play to end after switching streams during playback
2025-10-24
2025-09-30
Fixed frame disorder issue when using webcodecs hardware decoding on older devices
Fixed second-jumping issue after seek caused by inconsistent i-frames in channels
Fixed OSD garbled text issue
Fixed data merging issue when manually drawing mosaics
2025-09-05
Fixed excessive license plate blurring range
Optimized MSE high-speed playback activation time
Fixed high-speed playback not ending issue
Changed multiple channel destruction from sequential to simultaneous in passthrough mode
Fixed last seek time not triggering onTimeChange callback during consecutive seeks while paused
Fixed video continuing to play after seeking while paused
Fixed onLoading hook not triggering after removing all channels and re-adding channels in passthrough mode
Fixed legacy intercom caching issues
Optimized WebCodecs and Wasm mosaic anti-shake mechanism
Fixed main stream switch failure after enabling substream in playback
08/25/2025
Optimization
Fixed issue where evidence channel would not recover after black screen
08/08/2025
Added speed limit sign display in ADAS algorithm
Enabled playback on non-model channels in GPU-impossible scenarios
Player creation now supports mosaic configuration
Added onVolumeChange hook for volume callback
Fixed screen jitter issue when setting display ratio in WebGL rendering
Resolved error caused by consecutive play() and pause() calls when readyState <= 2 in MSE decoding
Fixed onTimeChange callback issue during continuous seek operations
Resolved continuous loading issue after GPU errors in passthrough playback
Fixed memory leak in WebCodecs decoding
Optimized JPEG screenshot performance
Modified ADAS preceding vehicle speed calculation method
07/14/2025
Removed invalid ADAS collision alerts with TTC of 99.00s
Optimized frame-by-frame playback when seeking to the last second of evidence videos
Fixed black screen issue when frame-by-frame playback followed by seeking to the last second in evidence videos
07/11/2025
Fixed the issue where composite stream mode wouldn't show loading state when network is disconnected
Fixed video size detection issue after Chrome upgraded to version 138
Fixed multiple onTimeChange callbacks being triggered after seeking in afterReady state
Fixed frame-by-frame playback issue caused by setting first second FPS to 1 in non-MSE mode
07/01/2025
Added onStreamTypeChange hook to monitor stream switching
Added destroyInstanceByUser parameter for passthrough mode, supporting keeping player instance after destroying all channels
Added fullRatio parameter in global configuration to determine whether to stretch when filling screen
Added startPlayTime parameter for playback start time
Added onInputAudioDevicesChange hook to monitor input audio device changes
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
06/27/2025
Fixed issue where seeking while paused triggers onTimeChange callback twice
Fixed issue where seeking in afterReady state triggers onTimeChange callback multiple times
Fixed first-second stutter issue in WebCodecs passthrough startup
06/06/2025
Optimized green screen issue during main/sub stream switching on X3NPRO devices
Optimized onTimeChange triggering during seek
05/30/2025
Modified the format of term and unit configurations. Refer to Configuration Document
Disabled frame-by-frame and slow playback in keyframe mode.
Added replaying status for playback.
Frame-by-frame playback issues
Audio-video synchronization issues in non-MSE mode
ADAS algorithm pedestrian bounding box colors
Frame deletion issue after seeking in unstarted MSE channels
Repeated playback issue with 1-second evidence videos
05/08/2025
Frame-by-frame mode now supports seek operation
When no data available in frame-by-frame mode, onFramePlayNoData callback returns first or last frame
Added term configuration, unit configuration and curve configuration for AI display
Whether to enable cache mode for frame-by-frame playback
Replaying after playback stops can trigger the afterReady hook
04/02/2025
Optimized player auto-close function when page refreshes
Fixed mosaic issues when switching stream types
Optimized audioContext memory usage
Added 'reconnectExhausted' field to loadingTimeout hook indicating whether reconnection attempts are exhausted
03/20/2025
High-speed playback synchronization optimization
Intercom real-time performance optimization
Fixed playback end issue caused by large error in evidence end time
Added fluency detection for direct streaming
03/06/2025
01/20/2025
Added AI alarm type configuration. Refer to Configuration Documentation
Added real-time priority and smooth priority configuration for live view MSE mode. Refer to Live View Documentation
12/09/2024
11/29/2024
10/31/2024
09/29/2024
09/05/2024
Added manual mosaic related APIs. Manual Mosaic API
07/01/2024
New Features
Support for 905, 1078 device multi-channel simultaneous playback. Due to device not supporting multi-channel synchronization, strong synchronization cannot be guaranteed during playback
Added manual mosaic function, refer to Additional Video Functions manual mosaic section
Added intercom prompt sound function
Added mining large rock block function
Added support for selecting software/hardware decoding in WebCodecs
Interface Changes
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.
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.
Interface Additions
Optimizations
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