npm.io
1.0.1 • Published yesterday

fyraklv

Licence
MIT
Version
1.0.1
Deps
0
Size
237 kB
Vulns
0
Weekly
0

fyraklv

Pure TypeScript KLV and MISB ST 0601 metadata parsing and synchronization library.

fyraklv intentionally stays focused on metadata. It does not depend on Cesium, video players, WebGL renderers, or projection SDKs.

中文:fyraklv 是一个纯 TypeScript 的 KLV/MISB ST 0601 元数据解析与同步库。它刻意保持纯粹,只处理元数据,不绑定 Cesium、播放器、WebGL 渲染器或视频投影 SDK。

Install / 安装

npm install fyraklv

Features / 特性

  • KLV packet and Local Set parsing
  • MISB ST 0601 field schema and lazy tag decoding
  • MPEG-TS private data extraction for KLV streams
  • PTS-based jitter buffering and state interpolation
  • Optional stateful outlier filtering for live streams
  • Zero runtime dependencies

中文:

  • 解析完整 KLV 包和已解复用的 Local Set
  • 内置 MISB ST 0601 字段 schema,支持延迟解码
  • 从 MPEG-TS 私有数据流中提取 KLV
  • 基于 PTS 的抖动缓冲和状态插值
  • 面向直播流的可选状态异常值过滤
  • 无运行时依赖

Quick Start / 快速开始

import { KLVParser, MISB0601Frame, SyncEngine } from 'fyraklv';

const parser = new KLVParser();
const sync = new SyncEngine();

const frame = parser.parse(rawKlvBytes, pts90k);
if (frame) {
  sync.push(frame);

  const misb = new MISB0601Frame(frame);
  console.log(misb.get(13)); // SensorLatitude / 传感器纬度
  console.log(misb.get(14)); // SensorLongitude / 传感器经度
}

Stream Manager / 流管理

import { KLVStreamManager } from 'fyraklv';

const manager = new KLVStreamManager();

manager.on('frame', ({ state, pts }) => {
  console.log(pts, state.latitude, state.longitude, state.altitude);
});

await manager.loadFromBuffer(tsArrayBuffer);

中文:KLVStreamManager 封装了 TS 解复用、KLV 解析和同步缓冲。适合离线 TS 文件分析或服务端元数据处理。

Core Modules / 核心模块

  • core: BinaryReader, KLVParser, KLVFrame
  • protocols: MISB 0601 schema and decoders
  • sync: SyncEngine, JitterBuffer, interpolation, outlier filtering
  • transport: MPEG-TS KLV extraction helpers
  • services: high-level KLVStreamManager

中文:

  • core:二进制读取、KLV 解析和 KLV 帧结构
  • protocols:MISB 0601 schema 与字段解码
  • sync:PTS 同步、抖动缓冲、插值和异常值过滤
  • transport:MPEG-TS 中 KLV 元数据提取
  • services:高级流管理接口

Scope / 边界

This package is a clean metadata library. For video rendering, map projection, or player integration, keep those concerns in application-specific packages and feed extracted KLV bytes into fyraklv.

中文:本包只做 KLV/MISB 元数据处理。视频播放、地图投影、三维渲染和业务 UI 应放在应用层或其它包中,再把提取到的 KLV 字节交给 fyraklv 解析。

Development / 开发

npm test
npm run build
npm pack --dry-run

License / 许可

MIT