@get-air/video
v0.2.0
Published
One lean DOM-first video API for HTML, native adapters, and smart TVs
Readme
Air video
@get-air/video owns Air's platform-neutral video controller. Playback is
explicit: applications select HTML directly or register a native adapter such
as Tauri. The standalone @get-air/transcode package supplies the GStreamer
fallback without coupling this browser package to a server runtime.
Playback backends
| Runtime | Backend | Playback path |
| --- | --- | --- |
| Browser and Smart TV | html, webos, or vizio | Platform <video> |
| Samsung Tizen | tizen | AVPlay |
| Tauri | tauri from @get-air/video-tauri | Native platform engine |
| Browser fallback | transcode from @get-air/transcode | GStreamer HLS |
There is no automatic backend or client-side demux/decoder. Pass one backend ID or an explicit ordered fallback list:
import { createVideoClient } from '@get-air/video'
import { tauriVideoBackend } from '@get-air/video-tauri'
import { transcodeVideoBackend } from '@get-air/transcode/video'
const client = createVideoClient({
adapters: [
tauriVideoBackend(),
transcodeVideoBackend({ client: transcode }),
],
})
const player = await client.attach(video, {
source,
backend: ['html', 'tauri', 'transcode'],
})HTML must reach canplay and produce non-zero video dimensions. A failed
backend advances only through the fallback IDs the caller explicitly supplied.
Install
npm install @get-air/videoBasic use
import { attachVideo } from '@get-air/video'
const player = await attachVideo(document.querySelector('video')!, {
source: 'https://media.example/movie.mp4',
backend: 'html',
autoplay: true,
})
await player.seek(90)
await player.load('https://media.example/next.mp4')Entrypoints
| Entrypoint | Purpose |
| --- | --- |
| @get-air/video | Promise-based DOM and TV API |
| @get-air/video/effect | Effect services and typed errors |
| @get-air/video/react | React player and TV focus |
| @get-air/video/canvas | Framework-neutral canvas integration |
| @get-air/video/solid | SolidTV helpers |
| @get-air/video/blits | Blits helpers |
The Tauri adapter comes from
@get-air/video-tauri.
The transcode adapter comes from
@get-air/transcode.
API · Platforms · Versioning · Contributing
MIT OR Apache-2.0
