mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-02 12:08:50 +00:00
Thirty-two published videos were the raw render output. One 20-second catalog preview was 60 MB at 25 Mbps — Blu-ray bitrate for a screen capture in a docs page. Nothing autoplays, so no page shipped that silently, but a reader who pressed play paid for it. Re-encoded at 1280 wide, CRF 28, faststart, keeping audio where it existed. Measured PSNR against the originals at ~38.5 dB, which is visually identical — the first check I ran returned nothing and I mistook that for a pass, so this number comes from a filter that actually worked. Worth correcting one thing I said earlier: the catalog is not systemically over-encoded. 190 videos, 0.36 GB, about 1.9 MB each. Six were over 10 MB. I found two monsters and generalised from them. Pages carrying more than 8 MB of video: 26 before, and the heaviest went from 140 MB to under 15 MB. The durable fix is in generate-catalog-previews.ts, which had no delivery encode at all — it published the render master directly. It has a web pass now, so the next preview is born small instead of being cleaned up later.
75 lines
2.4 KiB
Plaintext
75 lines
2.4 KiB
Plaintext
---
|
||
title: "Liquid Glass Media Controls"
|
||
description: "Frosted glass media control panels spreading over an aurora shader background"
|
||
---
|
||
|
||
<video className="w-full aspect-video rounded-xl object-cover bg-zinc-100 dark:bg-zinc-800" src="https://static.heygen.ai/hyperframes-oss/docs/images/catalog/blocks/liquid-glass-media-controls-v2.mp4" poster="https://static.heygen.ai/hyperframes-oss/docs/images/catalog/blocks/liquid-glass-media-controls.png" autoPlay muted loop playsInline />
|
||
|
||
## Install
|
||
|
||
```bash Terminal
|
||
npx hyperframes add liquid-glass-media-controls
|
||
```
|
||
|
||
That writes `compositions/liquid-glass-media-controls.html`, plus 1 supporting file under `compositions/lib/`.
|
||
|
||
<Warning>
|
||
Live preview needs the `chrome://flags/#canvas-draw-element` flag switched on.
|
||
Rendering from the CLI switches it on for you. [How it
|
||
works](/guides/html-in-canvas)
|
||
</Warning>
|
||
|
||
## Add it to your video
|
||
|
||
It runs for 8 seconds at 1920×1080. Paste this into your composition:
|
||
|
||
```html index.html
|
||
<div
|
||
data-composition-id="liquid-glass-media-controls"
|
||
data-composition-src="compositions/liquid-glass-media-controls.html"
|
||
data-start="0"
|
||
data-duration="8"
|
||
data-track-index="1"
|
||
data-width="1920"
|
||
data-height="1080"
|
||
></div>
|
||
```
|
||
|
||
Move it in time with `data-start`. Put it on a different timeline row with
|
||
`data-track-index`. See [data attributes](/concepts/data-attributes) for the rest.
|
||
|
||
## Add it to a project
|
||
|
||
### Ask your agent
|
||
|
||
```text
|
||
Add the Liquid Glass Media Controls block from the HyperFrames Catalog to this project.
|
||
Replace the demo content with mine and match the existing design and timing.
|
||
```
|
||
|
||
### Install from the terminal
|
||
|
||
```bash
|
||
npx hyperframes add liquid-glass-media-controls
|
||
```
|
||
|
||
## Use it
|
||
|
||
Ask your agent to replace the example content, match the project style, and place the block at the right moment in the video.
|
||
|
||
**Wiring it by hand.** The installed block can be added to a host composition with:
|
||
|
||
```html
|
||
<div data-composition-id="liquid-glass-media-controls" data-composition-src="compositions/liquid-glass-media-controls.html" data-start="0" data-duration="8" data-track-index="1" data-width="1920" data-height="1080"></div>
|
||
```
|
||
|
||
## Related topics
|
||
|
||
- [Browse the complete Catalog](/catalog)
|
||
- [Add assets and Catalog items in Studio](/studio/assets-and-blocks)
|
||
- [Build a richer composition](/go-further)
|
||
|
||
{/* hf:generated-footer */}
|
||
|
||
Tagged `html-in-canvas` `liquid-glass-html-in-canvas` `webgpu`.
|