Skip to Content
shardreel
Guides

Captions and hooks

Word-by-word captions and the on-screen hook banner.

Captions and the hook banner are burned into the video with libass, driven by the word timestamps from Whisper.

Needs ffmpeg with libass

If your ffmpeg lacks libass, the job log shows this ffmpeg has no libass: captions skipped and clips render without text. Install ffmpeg-full. See Getting started.

Captions

  • Words appear in chunks of up to three, in uppercase.
  • The word being spoken is highlighted and slightly enlarged.
  • A chunk breaks early at punctuation, or after a pause longer than 0.6 seconds.
  • Captions sit 560 px from the bottom edge, or 760 px on the facecam layout.

Turn captions off with the Captions switch. They also need speech recognition, so they are unavailable when it is off.

Hook banner

The hook is a short line of text shown at the top for the first 3.5 seconds, with a quick fade in and out. It is written by the AI model, so it only appears when AI ranking is on. Without a model, the hook is empty and no banner is drawn.

Turn it off with the Hook banner switch.

Video metadata

By default each clip carries a small tag in its MP4 metadata. There is no watermark on the picture.

TagValue
commentBuilt with shardreel
titleThe clip title
descriptionThe caption: title plus hashtags
video stream encodershardreel

Turn it off with the Embed shardreel tag switch. Upload platforms and re-encodes can strip metadata, so treat it as attribution, not protection. Check a file with:

ffprobe -v error -show_entries format_tags:stream_tags -of default=nw=1 clip.mp4

Loudness

Normalize loudness applies a loudnorm filter to a target of -14 LUFS with a -1.5 dB true-peak ceiling. Audio is encoded as AAC at 160 kbit/s and 48 kHz.

Edit on GitHubSpotted a mistake? Suggest a change and open a pull request.

On this page