Presenter bubble, bottom-left
Round face-cam bubble over full-frame B-roll, bottom-left. Classic reaction/commentary bubble; face centred in the circle, circle bottom at y=0.80 above the caption lane, away from the right rail.
Preview unavailable
Lay out my footage like this: "Presenter bubble, bottom-left" from the 24fps video editor library.
Preset JSON: https://24fps.dev/video-editor/layouts/bubble-bottom-left/preset.json (pass its "preset" to the engine).
Engine (MIT, no dependencies, ES module): https://24fps.dev/editor/engine.js. Download the engine next to your page (curl -O) rather than importing cross-origin, then import { mount } from "./engine.js" in a <script type="module"> served over http.
Wiring: root = a position:relative box at the video's size. media = { second, main }: second = wrapper holding my other clip (often the background), main = wrapper holding my video; the engine positions and crops them into the layout's slots. Then const fx = mount(root, { kind: "layout", preset, media }) and call fx.render(seconds) every frame. It is seek-safe: drive it from the GSAP timeline in HyperFrames or call render(frame / fps) in Remotion. Before capturing frames, await (fx.ready ?? document.fonts.ready).
Field reference: https://24fps.dev/video-editor/llms.txt. Keep sizes as fractions of the frame height so it works at any resolution. Credit: 24fps.dev/video-editor- Technique
- Common short-form vertical layout patterns used in editor-style templates and podcast clip editors
- Footage
- Man talking and gesturing, Pexels