Rust SDK · Memory-Safe · Zero Crashes

Video infrastructure,
everywhere.

The enterprise video SDK that replaces legacy C++ players. Memory-safe, hardware-accelerated, and formally verified. From hotel kiosks to Samsung fridges to cloud pipelines.

terminal
Deployment Targets
One SDK, every screen

Native GStreamer or WebAssembly. Ship the same engine to every platform without rewrites.

📺
Smart TVs

Samsung, LG, Android TV. GStreamer native or WASM in the built-in browser.

🏨
Hotel Kiosks

Self-registration screens, lobby displays. Embedded Linux with hardware decode.

🖼
Digital Signage

Menu boards, retail screens, airport displays. 24/7 HLS playback with failover.

🌐
Web Browsers

WebAssembly module. Drop into any page. No native install required.

🖥
Desktop Apps

Tauri 2 wrapper for macOS, Windows, Linux. Native performance, tiny bundle.

🔌
Embedded

Python bindings, CLI pipelines, headless transcoding. Integrate anywhere.

Verticals
Built for industries where downtime isn't an option

Kino replaces fragile C++ media stacks with Rust-powered reliability. Zero memory leaks. Zero crashes.

Fastest to close
Digital Signage

Menu boards, retail displays, airport screens. 24/7 HLS playback with automatic failover and zero memory leaks.

99.99% uptime · Zero restarts
Fastest to close
Hospitality

Hotel room entertainment, lobby kiosks, self-check-in screens. Embedded Linux with hardware-accelerated decode.

1,000+ room deployments
Fastest to close
Smart Appliances

Samsung fridges, LG displays, in-store demo units. Ultra-lightweight binary, minimal CPU/RAM footprint.

Under 8MB binary · 12MB RAM
High value
Medical Imaging

DICOM video playback where crashes are literally unacceptable. Formally verified state machines.

TLA+ verified · 25+ invariants
High value
Security & Surveillance

Multi-stream decoding for camera feeds. Rust's ownership model eliminates the buffer overflows that plague legacy players.

Multi-stream · Zero CVEs
Platform play
Cloud Pipelines

Replace components in AWS Elemental and Azure Media Services. WASM modules for browser-based editors.

WebAssembly · No plugins
Why Kino
The end of C++ technical debt

70% of common video player vulnerabilities are memory-related. Kino eliminates them at the language level.

🛡

Zero-Memory-Leak Guarantee

Rust's ownership system eliminates buffer overflows, use-after-free, and dangling pointers at compile time. Not at runtime. Not with a GC.

Fearless Concurrency

Perfect AV-sync and stutter-free 4K/8K playback. Rust prevents race conditions that cause the glitches in legacy players.

Formally Verified

TLA+ specifications with 25+ invariants for critical business logic. NoDoubleCharge. ExactlyOnceDelivery. Proven correct, not just tested.

📦

Modular SDK

7 independent crates. Import only what you need. Core HLS/DASH engine, audio fingerprinting, WASM player, or Python bindings.

Capability Kino (Rust) Legacy C++ Web Players
Memory Safety Native Manual GC-managed
4K/8K Stutter-Free Yes Race risk Perf caps
Security Audit Simple Very complex Moderate
IoT Ready Ultra-light Moderate Too heavy
WebAssembly Native target Emscripten Slow
Audio Fingerprint Built-in External N/A
Formal Verification TLA+ specs None None
DRM Support All 3 major Varies Limited
Architecture
Seven crates. Use what you need.

Independent Rust crates. Import the full stack or cherry-pick modules.

Applications
kino-desktopGStreamer native
kino-tauriCross-platform GUI
kino-wasmBrowser / WebAssembly
kino-cliTerminal & pipelines
│    │    │    │
Core
kino-coreHLS / DASH / ABR / Buffers / DRM
Extensions
kino-frequencyAudio fingerprinting
kino-pythonPyO3 bindings
Capabilities
Everything a video engine needs

Production-grade features. No plugins, no third-party runtime.

Hardware Acceleration

VA-API, VideoToolbox, NVDEC, D3D11VA. Auto-detects the best backend on every platform.

📡
Adaptive Streaming

HLS and DASH with hybrid ABR. Buffer-aware quality switching. Zero-stall playback.

🎵
Audio Fingerprinting

Shazam-style spectral peak matching. Content ID, duplicate detection, similarity scoring.

🧩
WebAssembly

Full player compiled to WASM. One script tag, adaptive streaming. No install needed.

🔐
DRM Support

Widevine, FairPlay, PlayReady integration. Content protection for commercial deployments.

Formally Verified

TLA+ specs for critical paths. 25+ invariants including NoDoubleCharge and ExactlyOnceDelivery.

Integration
Works with your stack

Rust, Python, JavaScript, or CLI. Pick the interface that fits.

use kino_core::{PlayerConfig, PlayerSession};
use kino_desktop::{DesktopPlayer, DesktopPlayerConfig};

fn main() -> anyhow::Result<()> {
    // Hardware acceleration is automatic
    let mut player = DesktopPlayer::new(
        DesktopPlayerConfig::default()
    )?;

    // Load HLS stream
    player.load("https://stream.example.com/live.m3u8")?;
    player.play();

    // Quality metrics are always available
    let metrics = player.quality_metrics();
    println!("Resolution: {:?}", metrics.resolution);
    Ok(())
}
from kino_frequency import FrequencyAnalyzer, Fingerprinter

# Analyze audio content
analyzer = FrequencyAnalyzer(fft_size=2048)
result = analyzer.analyze_file("content.wav")

print(f"Dominant: {result.dominant_hz} Hz")
print(f"Genre:    {result.tags.genre}")

# Audio fingerprinting
fp = Fingerprinter()
hash = fp.fingerprint("content.wav")
score = fp.compare("a.wav", "b.wav")
print(f"Similarity: {score:.1%}")
import init, { KinoAbrController } from '@kino/wasm';

await init();
const abr = new KinoAbrController();

// Drop-in ABR for hls.js
hls.on(Hls.Events.FRAG_LOADED, (e, data) => {
  abr.record_download(data.frag.loaded, data.frag.duration);
  const level = abr.select_level(
    hls.levels, videoEl.buffered, bandwidth
  );
  hls.nextLoadLevel = level;
});
# Fingerprint a video file
$ kino fingerprint video.mp4
Hash:  a7f3b2c9e1d045...
Peaks: 1,247

# Analyze audio frequencies
$ kino analyze audio.wav --format json
{ "dominant_hz": 440.0, "genre": "electronic", "bpm": 128 }

# Transcode with Kino presets
$ kino encode input.mov --preset hls-adaptive
Encoding: 1080p, 720p, 480p
Output:   ./output/stream.m3u8
Done in 4.2s (hw accelerated)
Performance
Numbers that matter
7
Modular crates
4ms
Startup latency
0
Unsafe blocks in core
25+
TLA+ invariants
SDK Licensing
Simple, predictable pricing

Annual licenses with full source access, updates, and support. Scale from prototype to production.

Startup
Developer
$2,500 – $5,000 / year
  • Full SDK source access
  • All 7 crates included
  • Community support
  • Up to 10K MAU
  • Standard documentation
Get Started
Scale
Enterprise
$50,000+ / year
  • Everything in Professional
  • Dedicated support engineer
  • Custom SLA (99.99%+)
  • Unlimited MAU
  • All DRM: Widevine + FairPlay + PlayReady
  • On-site integration services
  • 8K optimization & forensic watermarking
Contact Us

Ready to replace your legacy player?

Start with a free evaluation or talk to our team about enterprise licensing.

$ cargo add kino-core