Mediabunny HEVC Decoding

HEVC files read and decoded by Mediabunny, with hevc.js as its decoder where WebCodecs has none

Loading...
decoder: — · frames: — · time: — · format: — · decode speed: —
import { Input, ALL_FORMATS, BlobSource, VideoSampleSink } from 'mediabunny'; import { registerHevcDecoder } from '@hevcjs/mediabunny-plugin'; // decode-worker.js, hevc-decode.js and .wasm served side by side. // Profiles the browser decodes natively stay with WebCodecs. await registerHevcDecoder({ workerUrl: '/decode-worker.js' }); const input = new Input({ source: new BlobSource(file), formats: ALL_FORMATS }); const track = await input.getPrimaryVideoTrack(); for await (const sample of new VideoSampleSink(track).samples()) { sample.draw(ctx, 0, 0); sample.close(); }