Fix Remotion render error reporting and harden clip timestamps
- Show full stderr (head + tail) instead of truncating to last 500 chars - Add --timeout=60000 and --log=verbose to Remotion render command - Clamp word timestamps to [0, duration] to prevent negative/OOB values Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1194,10 +1194,14 @@ def generate_clip_video_remotion(
|
|||||||
for line in caption_lines:
|
for line in caption_lines:
|
||||||
remotion_words = []
|
remotion_words = []
|
||||||
for w in line["words"]:
|
for w in line["words"]:
|
||||||
|
w_start = max(0, round(w["start"] - clip_start, 3))
|
||||||
|
w_end = min(round(duration, 3), round(w["end"] - clip_start, 3))
|
||||||
|
if w_end <= w_start:
|
||||||
|
w_end = w_start + 0.1
|
||||||
remotion_words.append({
|
remotion_words.append({
|
||||||
"word": w["word"].strip(),
|
"word": w["word"].strip(),
|
||||||
"start": round(w["start"] - clip_start, 3),
|
"start": w_start,
|
||||||
"end": round(w["end"] - clip_start, 3),
|
"end": w_end,
|
||||||
})
|
})
|
||||||
remotion_lines.append({
|
remotion_lines.append({
|
||||||
"start": round(line["start"], 3),
|
"start": round(line["start"], 3),
|
||||||
@@ -1226,6 +1230,8 @@ def generate_clip_video_remotion(
|
|||||||
"npx", "remotion", "render",
|
"npx", "remotion", "render",
|
||||||
"src/index.ts", "PodcastClipDemo",
|
"src/index.ts", "PodcastClipDemo",
|
||||||
f"--props={props_path}",
|
f"--props={props_path}",
|
||||||
|
"--timeout=60000",
|
||||||
|
"--log=verbose",
|
||||||
output_path,
|
output_path,
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -1233,7 +1239,13 @@ def generate_clip_video_remotion(
|
|||||||
props_path.unlink(missing_ok=True)
|
props_path.unlink(missing_ok=True)
|
||||||
|
|
||||||
if result.returncode != 0:
|
if result.returncode != 0:
|
||||||
print(f" Remotion error: {result.stderr[-500:]}")
|
stderr = result.stderr
|
||||||
|
# Show head (error message) and tail (stack trace) of stderr
|
||||||
|
if len(stderr) > 1000:
|
||||||
|
print(f" Remotion error (first 500 chars): {stderr[:500]}")
|
||||||
|
print(f" ... (last 500 chars): {stderr[-500:]}")
|
||||||
|
else:
|
||||||
|
print(f" Remotion error: {stderr}")
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user