PiP top-left, S
Full-frame A-roll with a small (28% wide) rounded B-roll inset in the top-left corner. Presenter fills the frame; the inset sits under the status bar at the top-left, clear of the TikTok/Reels right rail and of captions (y 0.6-0.75). Quick proof cutaway; keep the face large.
Preview unavailable
Lay out my footage like this: "PiP top-left, S" from the 24fps video editor library.
Preset JSON: https://24fps.dev/video-editor/layouts/pip-tl-s/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 = { main, second }: main = wrapper holding my video, second = wrapper holding my other clip (often the background); 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- Same idea
- Also called: Picture in picture overlay
- Technique
- Common short-form editing pattern
- Footage
- Man talking and gesturing, Pexels