Neat Insight v0.0.6 makes multi-stream inspection more dependable by keeping metadata overlays aligned with the video frames that produced them. This release also improves large-metadata delivery, isolates concurrent viewers, and adds layouts for up to 48 simultaneous streams.
Highlights
- Overlays that stay with the right frame. Insight now uses source timestamps to match metadata with the corresponding decoded video frame. Detection boxes, poses, segmentation results, and tracking overlays are less likely to flicker, disappear, or trail behind moving objects.
- More dependable large metadata. Insight can reassemble metadata split into MTU-safe UDP chunks, reducing losses caused by oversized datagrams when applications send dense detections, segmentation output, poses, or tracking data.
- Independent browser viewers. Each active viewer receives metadata through its own connection, so opening, closing, or reconnecting one browser tab no longer interrupts metadata in another.
- Larger multi-stream layouts. The Video Viewer now includes 24-, 36-, and 48-tile layouts while preserving all 80 addressable Insight channels.
- Tunable synchronization. Users can adjust the video synchronization buffer globally or per channel to balance overlay alignment against viewing latency.
What Changed
Video and Metadata Synchronization
- Added timestamp-based matching between incoming metadata, video RTP timestamps, and decoded browser frames.
- Added a short configurable video buffer so inference results can arrive before the corresponding frame is displayed.
- Retained arrival-order fallback for existing producers without valid source timestamps and for browsers that cannot expose decoded-frame identity.
- Removed the previous fixed overlay-delay and stale-overlay hold behavior.
Metadata Transport and Viewer Reliability
- Added support for versioned, chunked metadata messages alongside existing single-datagram JSON metadata.
- Added out-of-order chunk reassembly with bounded handling for duplicates, malformed chunks, incomplete messages, and queue pressure.
- Isolated metadata delivery for each active viewer peer.
- Kept metadata forwarding bounded and nonblocking so congestion drops stale visualization data instead of delaying video playback.
Multi-Stream Viewer and Diagnostics
- Added 24-, 36-, and 48-tile viewer layouts.
- Improved dense-grid sizing so 16:9 video tiles remain correctly aligned.
- Added synchronization, reassembly, queue, viewer-delivery, and browser-playback diagnostics.
- Preserved the existing UDP port ranges and all 80 addressable channels.
Developer Notes
videoSyncBufferMsdefaults to350ms and can be configured globally or per channel. Set it lower when viewing latency matters more than waiting for delayed inference metadata.metadataRetentionMsdefaults to0, meaning metadata remains capacity-bounded without an additional browser-side time limit.- Insight accepts both legacy JSON datagrams and the versioned chunk format introduced by Core PR #580.
- Timestamp-aware examples are provided by Apps PR #328, which propagates source timestamps from
Sample.pts_ns. - Focused coverage includes timestamp matching, RTP wraparound, metadata arrival before video, multi-viewer delivery, chunk reassembly, bounded queues, viewer-setting migration, and all supported page sizes.
Compatibility
Existing Insight media, RTSP, WebRTC, and legacy JSON metadata workflows remain supported.
Timestamp-based matching provides the full benefit when producers publish valid source timestamps. Producers without timestamps continue to use arrival-order fallback. Large chunked metadata requires a Core version containing Core PR #580.
Existing version-two viewer settings migrate automatically. The removed metadataDelay setting is not retained; unrelated viewer settings remain preserved.
The 48-tile option expands viewer capacity, but the achievable simultaneous stream count still depends on video resolution, frame rate, host resources, and browser decoding performance.
Full Changelog: v0.0.5...v0.0.6