Replies: 1 comment
-
|
I've just tried it and it did excellent job! |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Proposal
Add a
Subtitlecommand that renders text overlays on terminal recordings. This is useful for demos, tutorials, and walkthroughs where you want to explain what's happening on screen.Related: #173 (Progress bars & Overlays)
Related: #164 (display key names — the overlay infrastructure could be extended for keystroke display)
Related: #735 (Allow specifying subtitles in tape files)
Proposed syntax
With configurable settings:
The DSL is deliberately kept simple — covers common styling needs, and the implementation can be extended later without changing the tape syntax.
Example
Here's a real-world demo using subtitles to narrate a terminal workflow (wotr):
Implementation
I've put together a draft PR (#726) with a canvas-based overlay approach:
<canvas>element is drawn with the subtitle text on each frameSubtitlecommands are usedI considered two alternatives:
HTML/CSS overlay — would give richer styling, but
Element.Screenshot()in CDP doesn't preserve transparency. OnlyCanvas.toDataURL()returns alpha-intact PNGs, which VHS needs for its ffmpeg pipeline.ASS subtitle burn-in — richer text styling (outlines, shadows, fade animations), but requires ffmpeg compiled with
libass. Standard Homebrew ffmpeg doesn't include it, which would break the install experience.The canvas approach requires no additional dependencies and works with any ffmpeg build.
Would love feedback on the approach and syntax!
Beta Was this translation helpful? Give feedback.
All reactions