DEMO · VIDEO COLLECTION

Video modes demo

Every way a page can serve video — static files, HLS chunks, blob: MSE, and more. Open the tautau extension → Collect assets and verify each mode is detected, stitched or captured, and saves locally or to your cloud via the extension config.

/demo/videos5 video fixturestry both destinations
How to test: Install the unpacked extension, open this page, click the extension popup → Collect assets. The tray should list each video with badges HLSMP4BLOB Toggle This device / tautau cloud in the tray or chrome.storage.sync assetDestination. Static + HLS stitch → exact source; blob:Capture playback (re-records what you see).

1 · Static MP4direct src

Simple <video src="/videos/tautau-promo.mp4"> — should save as exact file via chrome.downloads.

2 · HLS VoDm3u8 → TS stitch

Master /demo/hls/master.m3u8 (2 variants) → media playlist with 3× .ts + EXT-X-KEY:AES-128 on the high variant. Tray badge HLS → stitched video/mp2t .ts (no transmux in v1).

loading hls.js…

3 · Blob MSEneedsCapture

Created via MediaSource → blob: (no static URL). Tray shows BLOBCapture playback (video.captureStream()MediaRecorder). Falls back to tabCapture if unavailable.

click “Create blob video”

4 · DASHcoming soon

.mpd manifests show asDASH — coming soon in v1 (stitch disabled, v2 adds fMP4 mux).

5 · Bulktray multi-select

Two static videos + an image to exercise the bulk tray.

local destination → chrome.downloads with URL.createObjectURL(blob)cloud → CreateStitchedAsset → GetAssetUploadUrl → PUT → Finish
Fixtures: /public/demo/hls/* (master + 3× 188 B 0x47 TS + key.bin). Blob MSE uses the promo video fetched as ArrayBufferMediaSourceURL.createObjectURL(mediaSource). Check the tray's data-asset-subtype hooks: hls / blob / dash.