@amaster.ai/pi-video-gen 0.1.18 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"text-layer.d.ts","sourceRoot":"","sources":["../src/text-layer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAmB,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAczF,wBAAgB,UAAU,IAAI,OAAO,CAgBpC;AA6GD,uEAAuE;AACvE,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,OAAO,EAAE,eAAe,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBzB;AAED,8EAA8E;AAC9E,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuClB"}
1
+ {"version":3,"file":"text-layer.d.ts","sourceRoot":"","sources":["../src/text-layer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAmB,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAczF,wBAAgB,UAAU,IAAI,OAAO,CAgBpC;AAqID,uEAAuE;AACvE,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,OAAO,EAAE,eAAe,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2CzB;AAED,8EAA8E;AAC9E,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgDlB"}
@@ -93,22 +93,25 @@ function positionFor(pos, width, height, blockH) {
93
93
  }
94
94
  return { x: marginX, y: height - marginY - blockH, anchor: 'start' };
95
95
  }
96
- function overlaySvg(overlay, width, height) {
96
+ function overlaySvg(overlay, width, height, titleLines, subtitleLines) {
97
97
  const titleSize = Math.max(28, Math.round(height * 0.055));
98
98
  const subtitleSize = Math.max(20, Math.round(height * 0.032));
99
99
  const lineGap = Math.round(titleSize * 0.5);
100
- const blockH = (overlay.title ? titleSize : 0) +
101
- (overlay.title && overlay.subtitle ? lineGap : 0) +
102
- (overlay.subtitle ? subtitleSize : 0);
100
+ const blockH = titleLines.length * Math.round(titleSize * 1.25) +
101
+ (titleLines.length && subtitleLines.length ? lineGap : 0) +
102
+ subtitleLines.length * Math.round(subtitleSize * 1.25);
103
103
  const { x, y, anchor } = positionFor(overlay.position, width, height, blockH);
104
104
  const lines = [];
105
105
  let cursorY = y + titleSize;
106
- if (overlay.title) {
107
- lines.push(`<text x="${x}" y="${cursorY}" font-size="${titleSize}" font-weight="700" fill="#ffffff" text-anchor="${anchor}" font-family="${FONT_STACK}">${escapeXml(overlay.title)}</text>`);
108
- cursorY += lineGap + (overlay.subtitle ? subtitleSize : 0);
106
+ for (const line of titleLines) {
107
+ lines.push(`<text x="${x}" y="${cursorY}" font-size="${titleSize}" font-weight="700" fill="#ffffff" text-anchor="${anchor}" font-family="${FONT_STACK}">${escapeXml(line)}</text>`);
108
+ cursorY += Math.round(titleSize * 1.25);
109
109
  }
110
- if (overlay.subtitle) {
111
- lines.push(`<text x="${x}" y="${cursorY}" font-size="${subtitleSize}" font-weight="400" fill="rgba(255,255,255,0.85)" text-anchor="${anchor}" font-family="${FONT_STACK}">${escapeXml(overlay.subtitle)}</text>`);
110
+ if (titleLines.length && subtitleLines.length)
111
+ cursorY += lineGap;
112
+ for (const line of subtitleLines) {
113
+ lines.push(`<text x="${x}" y="${cursorY}" font-size="${subtitleSize}" font-weight="400" fill="rgba(255,255,255,0.85)" text-anchor="${anchor}" font-family="${FONT_STACK}">${escapeXml(line)}</text>`);
114
+ cursorY += Math.round(subtitleSize * 1.25);
112
115
  }
113
116
  // Soft dark plate behind the text block for legibility over any image.
114
117
  const platePad = Math.round(titleSize * 0.45);
@@ -117,6 +120,12 @@ function overlaySvg(overlay, width, height) {
117
120
  const plate = `<rect x="0" y="${plateY}" width="${width}" height="${plateH}" fill="rgba(0,0,0,0.32)"/>`;
118
121
  return `<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}">${plate}${lines.join('')}</svg>`;
119
122
  }
123
+ async function actualTextWidth(text, fontSize, weight, maxWidth) {
124
+ const size = Math.max(512, Math.ceil(maxWidth * 2), Math.ceil(estimatedTextWidth(text, fontSize) * 2 + fontSize * 4));
125
+ const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${fontSize * 4}"><text x="${fontSize}" y="${fontSize * 2}" font-size="${fontSize}" font-weight="${weight}" fill="#fff" font-family="${FONT_STACK}">${escapeXml(text)}</text></svg>`;
126
+ const { info } = await sharp(Buffer.from(svg)).trim().png().toBuffer({ resolveWithObject: true });
127
+ return info.width;
128
+ }
120
129
  /** Render an overlay to a PNG with alpha, sized to the video frame. */
121
130
  export async function renderTextOverlay(opts) {
122
131
  if (!opts.overlay.title && !opts.overlay.subtitle)
@@ -125,7 +134,27 @@ export async function renderTextOverlay(opts) {
125
134
  if (/\p{Script=Han}/u.test(text) && !hasCjkFont()) {
126
135
  throw new VideoGenError('A CJK font is required for Chinese text overlays. Install PingFang, Microsoft YaHei, Noto Sans CJK, or WenQuanYi, then retry.', 'text-layer: CJK font missing');
127
136
  }
128
- const svg = overlaySvg(opts.overlay, opts.width, opts.height);
137
+ const titleSize = Math.max(28, Math.round(opts.height * 0.055));
138
+ const subtitleSize = Math.max(20, Math.round(opts.height * 0.032));
139
+ const maxWidth = opts.width * (1 - SAFE_MARGIN_RATIO * 2);
140
+ const titleLines = opts.overlay.title
141
+ ? wrapSubtitleLines(opts.overlay.title, titleSize, maxWidth)
142
+ : [];
143
+ const subtitleLines = opts.overlay.subtitle
144
+ ? wrapSubtitleLines(opts.overlay.subtitle, subtitleSize, maxWidth)
145
+ : [];
146
+ for (const [line, size, weight] of [
147
+ ...titleLines.map((line) => [line, titleSize, 700]),
148
+ ...subtitleLines.map((line) => [line, subtitleSize, 400]),
149
+ ]) {
150
+ if ((await actualTextWidth(line, size, weight, maxWidth)) > maxWidth)
151
+ throw new VideoGenError('Text overlay exceeds the safe frame width. Shorten the title or reduce text length.', 'text-layer: overlay width');
152
+ }
153
+ const blockH = titleLines.length * Math.round(titleSize * 1.25) +
154
+ subtitleLines.length * Math.round(subtitleSize * 1.25);
155
+ if (blockH + titleSize > opts.height * (1 - SAFE_MARGIN_RATIO * 2))
156
+ throw new VideoGenError('Text overlay exceeds the safe frame height. Shorten the title or subtitle.', 'text-layer: overlay height');
157
+ const svg = overlaySvg(opts.overlay, opts.width, opts.height, titleLines, subtitleLines);
129
158
  // Render the SVG at ~2x density for crisp text, then downscale to frame size.
130
159
  await sharp(Buffer.from(svg, 'utf-8'), { density: 150 })
131
160
  .resize(opts.width, opts.height)
@@ -143,6 +172,10 @@ export async function renderBurnedSubtitle(opts) {
143
172
  const margin = Math.round(opts.height * SAFE_MARGIN_RATIO);
144
173
  const padding = Math.round(fontSize * 0.5);
145
174
  const lines = wrapSubtitleLines(opts.text, fontSize, opts.width - margin * 2 - padding * 2);
175
+ for (const line of lines)
176
+ if ((await actualTextWidth(line, fontSize, 500, opts.width - margin * 2 - padding * 2)) >
177
+ opts.width - margin * 2 - padding * 2)
178
+ throw new VideoGenError('Burned subtitle exceeds the safe frame width. Shorten the text or reduce subtitles.fontSize.', 'text-layer: subtitle width');
146
179
  const blockHeight = Math.max(1, lines.length) * lineHeight;
147
180
  if (blockHeight + padding * 2 > opts.height - margin * 2) {
148
181
  throw new VideoGenError('Burned subtitle text is too long to fit the video frame. Shorten the narration or reduce subtitles.fontSize.', 'text-layer: subtitle too long');
@@ -1 +1 @@
1
- {"version":3,"file":"text-layer.js","sourceRoot":"","sources":["../src/text-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text-layer.js","sourceRoot":"","sources":["../src/text-layer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type ActiveJobs } from './jobs/store.js';
2
+ import { type TimelineSpec } from './timeline.js';
2
3
  import { type TtsProvider } from './tts/edge-tts.js';
3
4
  import type { VideoGenSettings } from './types.js';
4
5
  /**
@@ -21,6 +22,7 @@ export type TimelineRunResult = {
21
22
  subtitlePath?: string | undefined;
22
23
  qcFrames: string[];
23
24
  };
25
+ export declare function assertNarrationOptIn(spec: TimelineSpec, hasInjectedTts?: boolean): void;
24
26
  export declare function runTimeline(opts: {
25
27
  timelineSpecPath: string;
26
28
  cwd: string;
@@ -1 +1 @@
1
- {"version":3,"file":"timeline-render.d.ts","sourceRoot":"","sources":["../src/timeline-render.ts"],"names":[],"mappings":"AA0BA,OAAO,EACL,KAAK,UAAU,EAMhB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAkC,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAyQF,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACtC,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,GAAG,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAChD,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAogC7B"}
1
+ {"version":3,"file":"timeline-render.d.ts","sourceRoot":"","sources":["../src/timeline-render.ts"],"names":[],"mappings":"AA0BA,OAAO,EACL,KAAK,UAAU,EAMhB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAIL,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAkC,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,cAAc,UAAQ,GAAG,IAAI,CAUrF;AAyQD,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACtC,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,GAAG,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAChD,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuiC7B"}
@@ -10,6 +10,12 @@ import { assertSafeId, hashFileSha256, loadTimelineJob, saveTimelineJob, } from
10
10
  import { renderBurnedSubtitle, renderTextOverlay } from './text-layer.js';
11
11
  import { parseTimelineSpec, timelineSourcePath, } from './timeline.js';
12
12
  import { edgeTtsProvider, parseVoiceRef } from './tts/edge-tts.js';
13
+ export function assertNarrationOptIn(spec, hasInjectedTts = false) {
14
+ if (spec.segments.some((segment) => Boolean(segment.narration)) &&
15
+ !hasInjectedTts &&
16
+ !spec.voice?.startsWith('edge-tts:'))
17
+ throw new VideoGenError('Narration requires explicit Edge TTS opt-in. Set voice to "edge-tts:<voice-name>"; narration text will be sent to Microsoft.', 'timeline: edge tts not opted in');
18
+ }
13
19
  const AUTO_PAD_SEC = 0.6;
14
20
  function isInside(path) {
15
21
  return path === '' || (path !== '..' && !path.startsWith(`..${sep}`) && !isAbsolute(path));
@@ -210,11 +216,7 @@ export async function runTimeline(opts) {
210
216
  }
211
217
  const specRaw = await readFile(realSpecPath);
212
218
  const spec = parseTimelineSpec(specRaw.toString('utf-8'));
213
- if (spec.segments.some((segment) => Boolean(segment.narration)) &&
214
- !opts.tts &&
215
- !spec.voice?.startsWith('edge-tts:')) {
216
- throw new VideoGenError('Narration requires explicit Edge TTS opt-in. Set voice to "edge-tts:<voice-name>"; narration text will be sent to Microsoft.', 'timeline: edge tts not opted in');
217
- }
219
+ assertNarrationOptIn(spec, Boolean(opts.tts));
218
220
  const width = Number((spec.output?.resolution ?? '1920x1080').split('x')[0]);
219
221
  const height = Number((spec.output?.resolution ?? '1920x1080').split('x')[1]);
220
222
  const fps = spec.output?.fps ?? 25;
@@ -417,24 +419,6 @@ export async function runTimeline(opts) {
417
419
  }
418
420
  out.overlayPath = overlayPath;
419
421
  }
420
- if (seg.narration && spec.subtitles?.mode === 'burn') {
421
- const narration = seg.narration;
422
- const burnedSubtitlePath = join(overlaysDir, `subtitle-${seg.id}.png`);
423
- if (!(await canReuse(burnedSubtitlePath))) {
424
- opts.onUpdate?.(`Rendering burned subtitle for ${seg.id}…`);
425
- await writeAtomic(burnedSubtitlePath, async (tmp) => {
426
- await renderBurnedSubtitle({
427
- text: narration,
428
- style: spec.subtitles,
429
- width,
430
- height,
431
- outPath: tmp,
432
- });
433
- });
434
- await record(burnedSubtitlePath);
435
- }
436
- out.burnedSubtitlePath = burnedSubtitlePath;
437
- }
438
422
  // narration via TTS
439
423
  if (seg.narration) {
440
424
  const narrationPath = join(audioDir, `${seg.id}.mp3`);
@@ -447,12 +431,20 @@ export async function runTimeline(opts) {
447
431
  else if (!hasNarrationArtifact) {
448
432
  try {
449
433
  opts.onUpdate?.(`Synthesizing narration for ${seg.id} (${voice})…`);
450
- await tts.synthesize({
434
+ const ttsResult = await tts.synthesize({
451
435
  text: seg.narration,
452
436
  voice,
453
437
  outPath: narrationPath,
454
438
  signal: opts.signal,
455
439
  });
440
+ manifest.segments[seg.id] = {
441
+ ...manifest.segments[seg.id],
442
+ sentenceTimings: ttsResult.sentenceTimings?.filter((cue) => cue.text.trim() &&
443
+ Number.isFinite(cue.startSec) &&
444
+ Number.isFinite(cue.endSec) &&
445
+ cue.startSec >= 0 &&
446
+ cue.endSec > cue.startSec),
447
+ };
456
448
  hasNarrationArtifact = true;
457
449
  narrationNeedsCommit = true;
458
450
  }
@@ -511,14 +503,36 @@ export async function runTimeline(opts) {
511
503
  (seg.trimStartSec ?? 0) + out.resolvedDurationSec > (out.sourceDurationSec ?? 0) + 0.05) {
512
504
  throw new VideoGenError(`Segment "${seg.id}" requests ${(seg.trimStartSec ?? 0).toFixed(2)}s + ${out.resolvedDurationSec.toFixed(2)}s, beyond the ${out.sourceDurationSec?.toFixed(2)}s source video.`, 'timeline: video trim exceeds source');
513
505
  }
514
- // Post-resolution revalidation: a transition longer than the resolved
515
- // duration would swallow the segment (and the LAST segment must not
516
- // have one at all — there is nothing after it).
517
- const isLast = resolved.length === spec.segments.length - 1;
518
- if (seg.transitionTo && (isLast || seg.transitionTo.durationSec >= out.resolvedDurationSec)) {
519
- throw new VideoGenError(isLast
520
- ? `Segment "${seg.id}": the LAST segment must not have a transitionTo — there is nothing after it.`
521
- : `Segment "${seg.id}": transitionTo.durationSec (${seg.transitionTo.durationSec}s) must be shorter than the resolved duration (${out.resolvedDurationSec.toFixed(1)}s).`, 'timeline: transition invalid');
506
+ if (seg.narration && spec.subtitles?.mode === 'burn') {
507
+ const visibleSpan = out.resolvedDurationSec - transitionOverlap(seg);
508
+ const timed = manifest.segments[seg.id]?.sentenceTimings;
509
+ const cues = timed?.length
510
+ ? timed
511
+ : [{ text: seg.narration, startSec: 0, endSec: out.narrationDurationSec ?? visibleSpan }];
512
+ out.burnedSubtitles = [];
513
+ for (const [index, cue] of cues.entries()) {
514
+ const endSec = Math.min(cue.endSec, visibleSpan);
515
+ if (endSec <= cue.startSec)
516
+ continue;
517
+ const path = join(overlaysDir, `subtitle-${seg.id}-${index}.png`);
518
+ if (!(await canReuse(path))) {
519
+ await writeAtomic(path, async (tmp) => {
520
+ await renderBurnedSubtitle({
521
+ text: cue.text,
522
+ style: spec.subtitles,
523
+ width,
524
+ height,
525
+ outPath: tmp,
526
+ });
527
+ });
528
+ await record(path);
529
+ }
530
+ out.burnedSubtitles.push({ path, startSec: cue.startSec, endSec });
531
+ }
532
+ }
533
+ // Post-resolution revalidation: the resolved duration may differ from the declared duration.
534
+ if (seg.transitionTo && seg.transitionTo.durationSec >= out.resolvedDurationSec) {
535
+ throw new VideoGenError(`Segment "${seg.id}": transitionTo.durationSec (${seg.transitionTo.durationSec}s) must be shorter than the resolved duration (${out.resolvedDurationSec.toFixed(1)}s).`, 'timeline: transition invalid');
522
536
  }
523
537
  resolved.push(out);
524
538
  manifest.segments[seg.id] = {
@@ -574,13 +588,16 @@ export async function runTimeline(opts) {
574
588
  `[0:v]${motion}${seg.video ? `,fps=${fps}` : ''},format=yuv420p[base]`,
575
589
  ];
576
590
  let currentLayer = 'base';
577
- for (const [index, overlayPath] of [seg.overlayPath, seg.burnedSubtitlePath]
578
- .filter((path) => Boolean(path))
579
- .entries()) {
591
+ const overlays = [
592
+ ...(seg.overlayPath ? [{ path: seg.overlayPath }] : []),
593
+ ...(seg.burnedSubtitles ?? []),
594
+ ];
595
+ for (const [index, overlay] of overlays.entries()) {
596
+ const overlayPath = overlay.path;
580
597
  const inputIndex = inputs.filter((arg) => arg === '-i').length;
581
598
  inputs.push('-i', overlayPath);
582
- const enable = overlayPath === seg.burnedSubtitlePath
583
- ? `:enable='lt(t,${Math.min(seg.resolvedDurationSec - transitionOverlap(seg), seg.narrationDurationSec ?? Number.POSITIVE_INFINITY).toFixed(3)})'`
599
+ const enable = 'startSec' in overlay
600
+ ? `:enable='between(t,${overlay.startSec.toFixed(3)},${overlay.endSec.toFixed(3)})'`
584
601
  : '';
585
602
  graphParts.push(`[${inputIndex}:v]format=rgba[ovr${index}]`, `[${currentLayer}][ovr${index}]overlay=0:0:format=auto${enable}[layer${index}]`);
586
603
  currentLayer = `layer${index}`;
@@ -917,11 +934,25 @@ export async function runTimeline(opts) {
917
934
  if (seg.narration) {
918
935
  const start = videoCursor;
919
936
  const visibleSpan = seg.resolvedDurationSec - transitionOverlap(seg);
920
- const end = Math.min(videoCursor + visibleSpan, start + (seg.narrationDurationSec ?? visibleSpan));
921
- cues.push(`${idx++}
922
- ${srtTimestamp(start)} --> ${srtTimestamp(end)}
923
- ${splitCueText(seg.narration)}
937
+ const timed = manifest.segments[seg.id]?.sentenceTimings;
938
+ const sentences = timed?.length
939
+ ? timed
940
+ : [
941
+ {
942
+ text: seg.narration,
943
+ startSec: 0,
944
+ endSec: seg.narrationDurationSec ?? visibleSpan,
945
+ },
946
+ ];
947
+ for (const cue of sentences) {
948
+ const end = Math.min(start + visibleSpan, start + cue.endSec);
949
+ if (end <= start + cue.startSec)
950
+ continue;
951
+ cues.push(`${idx++}
952
+ ${srtTimestamp(start + cue.startSec)} --> ${srtTimestamp(end)}
953
+ ${splitCueText(cue.text)}
924
954
  `);
955
+ }
925
956
  }
926
957
  videoCursor += seg.resolvedDurationSec - transitionOverlap(seg);
927
958
  }
@@ -993,27 +1024,48 @@ ${splitCueText(seg.narration)}
993
1024
  if (subtitlePath && (await readFile(subtitlePath, 'utf-8')) !== expectedSrt) {
994
1025
  throw new VideoGenError('QC: the SRT timeline does not match the resolved narration timeline.', 'timeline: srt timeline qc');
995
1026
  }
996
- const qcFrames = [];
997
- const qcNames = ['qc_first.png', 'qc_mid.png', 'qc_last.png'];
998
- const qcReady = (await Promise.all(qcNames.map((name) => canReuse(join(qcDir, name))))).every(Boolean);
1027
+ const edgeOffset = Math.min(0.5, actualSec / 4);
1028
+ const shots = [
1029
+ ['qc_first.png', edgeOffset],
1030
+ ['qc_mid.png', actualSec / 2],
1031
+ ['qc_last.png', actualSec - edgeOffset],
1032
+ ];
1033
+ let segmentCursor = 0;
1034
+ for (const seg of resolved) {
1035
+ const overlap = transitionOverlap(seg);
1036
+ const visibleSpan = seg.resolvedDurationSec - overlap;
1037
+ shots.push([`qc_segment_${seg.id}.png`, segmentCursor + visibleSpan / 2]);
1038
+ if (overlap > 0) {
1039
+ const boundary = segmentCursor + visibleSpan;
1040
+ const delta = Math.min(0.15, overlap / 3);
1041
+ shots.push([`qc_transition_${seg.id}_before.png`, boundary - delta]);
1042
+ shots.push([`qc_transition_${seg.id}_after.png`, boundary + delta]);
1043
+ }
1044
+ segmentCursor += visibleSpan;
1045
+ }
1046
+ const qcReady = (await Promise.all(shots.map(([name]) => canReuse(join(qcDir, name))))).every(Boolean);
999
1047
  if (!qcReady) {
1000
1048
  opts.onUpdate?.('Extracting QC frames…');
1001
- const edgeOffset = Math.min(0.5, actualSec / 4);
1002
- const shots = [
1003
- ['qc_first.png', edgeOffset],
1004
- ['qc_mid.png', actualSec / 2],
1005
- ['qc_last.png', actualSec - edgeOffset],
1006
- ];
1007
1049
  for (const [name, t] of shots) {
1008
1050
  const out = join(qcDir, name);
1051
+ if (await canReuse(out))
1052
+ continue;
1009
1053
  await writeAtomic(out, async (tmp) => {
1010
- await runFfmpegCommand(ffmpeg.path, ['-ss', t.toFixed(2), '-i', finalVideoPath, '-frames:v', '1', '-y', tmp], opts.signal);
1054
+ await runFfmpegCommand(ffmpeg.path, [
1055
+ '-ss',
1056
+ Math.max(0, Math.min(actualSec - 0.02, t)).toFixed(2),
1057
+ '-i',
1058
+ finalVideoPath,
1059
+ '-frames:v',
1060
+ '1',
1061
+ '-y',
1062
+ tmp,
1063
+ ], opts.signal);
1011
1064
  });
1012
1065
  await record(out);
1013
1066
  }
1014
1067
  }
1015
- for (const name of qcNames)
1016
- qcFrames.push(join(qcDir, name));
1068
+ const qcFrames = shots.map(([name]) => join(qcDir, name));
1017
1069
  manifest.state = 'done';
1018
1070
  manifest.finalVideoPath = finalVideoPath;
1019
1071
  manifest.finalVideoHash = finalVideoHash;