imferno-0.1.4 is not a library.
imferno
SMPTE ST 2067 IMF parser and validator for Rust, Node.js, and the browser.
Packages
Rust crates (crates.io)
| Crate | Description |
|---|---|
imferno-core |
All parsing and validation logic |
imferno |
Command-line tool |
npm packages
| Package | Description |
|---|---|
imferno |
CLI — prebuilt native binaries for all platforms |
@imferno/wasm |
WebAssembly bindings for JS/TS |
@imferno/schema |
JSON Schema definitions for all IMF types |
Platform binaries (installed automatically via imferno):
| Package | Platform |
|---|---|
@imferno/linux-x64-gnu |
Linux x64 |
@imferno/linux-arm64-gnu |
Linux ARM64 |
@imferno/darwin-x64 |
macOS x64 |
@imferno/darwin-arm64 |
macOS ARM64 |
@imferno/win32-x64-msvc |
Windows x64 |
@imferno/win32-arm64-msvc |
Windows ARM64 |
Install
# CLI via npm
# WASM bindings
# JSON schemas for validating imferno output
# Rust crate
Usage
CLI
# Validate an IMF package
# Export a full report (JSON)
# Inspect package structure
JavaScript / TypeScript
import from '@imferno/wasm';
const report = await ;
JSON Schema validation
import Ajv from 'ajv';
import from '@imferno/schema';
const ajv = ;
const validate = ajv.;
const data = JSON.;
if console.error;
Rust
use ;
let files = read_dir?;
let report = parse_and_validate;
for issue in &report.errors
Standards coverage
| Standard | Title | Status |
|---|---|---|
| ST 429-9 | Volume Index / Asset Map | Complete |
| ST 2067-2 | Core Constraints & Packing List | Complete |
| ST 2067-3 | Composition Playlist | Complete |
| ST 2067-9 | Sidecar Composition Map | Complete |
| ST 2067-21 | Application #2E (UHD/HDR) | Complete |
| ST 2067-201 | IAB Level 0 Plug-in | Complete |
| ST 2067-202 | ISXD Plug-in | Complete |
| ST 377-1 | MXF File Format | Partial — header partition only |
Docs
https://jpwesselink.github.io/imferno
License
MIT