width cap
Some checks failed
Build & Push Docker (latest) / build (push) Has been cancelled
Build & Push Docker (latest) / verify (push) Has been cancelled

This commit is contained in:
Aiden Wilson
2026-05-29 22:46:56 +10:00
parent 4595e782c8
commit a88306aec7
7 changed files with 575 additions and 20 deletions

View File

@@ -39,7 +39,25 @@ Useful query parameters:
- `chroma`: background color when transparent output is disabled, default `#00ff00`.
- `fit`: `contain` or `cover`, default `contain`.
- `scale`: graphic scale multiplier, default `1`.
- `maxwidth`: sent to the oEmbed provider, default is based on stage width.
- `wait`: `1` to keep the graphic hidden until embed media loads, default `1`.
- `readyDelay`: extra milliseconds to wait after media load before reveal, default `1000`.
- `maxWait`: safety timeout before reveal, default `10000`.
- `autoplay`: `1` to request autoplay for iframe and video embeds, default `1`.
- `muted`: `1` to mute embeds, default `1`. Most browsers require this for autoplay.
- `maxwidth`: sent to the oEmbed provider and capped at `500`, default `500`.
- `maxheight`: sent to the oEmbed provider, default `480`.
Autoplay is best-effort for social embeds. The graphic page keeps the original
social post HTML, adds provider autoplay parameters where possible, and runs a
small assist script that calls `play()` on any video element it can access.
Browsers still block scripts from controlling video inside cross-origin iframes,
which includes Twitter/X widget frames. For broadcast runtimes based on Chromium
or CEF, also allow autoplay at the browser layer when possible, for example with
`--autoplay-policy=no-user-gesture-required`.
The renderer caps every social card at `500px` wide so different providers line
up more consistently on a broadcast canvas. It still uses the oEmbed response's
height when present.
The service also supports the oembed.link-style form: