OpenBBQ

Export and Burn

Render source, target, or bilingual SRT/ASS subtitles and optionally burn ASS into video.

Export modes

openbbq export reads cues.json and, when needed, one translation worksheet.

ModeCommandOutput lines
Sourceopenbbq exportSource text only
Targetopenbbq export --to zhTarget text only
Bilingualopenbbq export --to zh --mode bilingualTarget above source

Without --to, the default mode is source. With --to, the default mode becomes target.

SRT

SRT is the default format:

openbbq export --workspace workspaces/demo
openbbq export --workspace workspaces/demo --to zh --mode bilingual

The default filename is out/<language>.srt.

ASS

Use ASS when you need styled bilingual subtitles or hard burning:

openbbq export \
  --workspace workspaces/demo \
  --to zh \
  --mode bilingual \
  --format ass \
  --ass-preset fansub

ASS presets:

PresetIntended use
defaultStandard 16:9 horizontal video
fansubMore prominent translated line
mobile9:16 vertical canvas and larger bottom safe area

--ass-preset is valid only with --format ass. The mobile preset changes rendering geometry; it does not shorten long subtitles.

Review gate

When a matching review.<lang>.json or review.source.json exists, export requires every cue in that review scope to be current and marked reviewed. Reopen the editor to finish or refresh stale cues:

openbbq review --to zh --workspace workspaces/demo

For an intentional draft only, bypass the gate explicitly with --allow-unreviewed. This does not mark any cue reviewed.

Incomplete translations

Target and bilingual export normally fail when any target is blank. Review first:

openbbq translate check zh --workspace workspaces/demo

For an intentional draft, allow untranslated cues to fall back to source text:

openbbq export --to zh --mode bilingual --allow-missing --workspace workspaces/demo

Custom output path

Relative paths are resolved inside the workspace; absolute paths are allowed:

openbbq export --to zh --format ass --output out/review.ass --workspace workspaces/demo

Hard-subtitle burning

Burn the most recent ASS export:

openbbq burn --workspace workspaces/demo

Or specify files explicitly:

openbbq burn \
  --workspace workspaces/demo \
  --subtitle out/review.ass \
  --output out/final.mp4

Requirements:

  • The source must be video, not audio.
  • The subtitle file must be ASS.
  • FFmpeg must provide the ass and subtitles filters.

If FFmpeg with libass is not the first executable on PATH, pass it directly:

openbbq burn --workspace workspaces/demo --ffmpeg /path/to/ffmpeg

Burning may take minutes. Progress is written to the manifest and can be polled separately:

openbbq --json status --workspace workspaces/demo

On this page