Skip to content

7. Dựng và xuất ​

Trình dựng đọc storyboard.json + audio/track.mp3 + ảnh nhân vật, không đọc gì khác. Dùng video-studio/ của repo (đã có cảnh, phụ đề, hiệu ứng âm thanh) làm trình dựng mặc định.

Kiểm trước khi xuất:

  • Không chữ nào nằm ngoài vùng an toàn.
  • Mỗi caption rơi đúng thời điểm câu hát.
  • Ba giây đầu có móc.
  • Xuất 1080 x 1920, 30 fps, H.264, âm lượng khoảng -14 LUFS.

Tệp renders/*.mp4 không vào git; tải lên YouTube/TikTok và ghi link vào brief.md.

Dựng bằng render/ (đã chạy thật 20.10.2026) ​

bash
cd kudo2.conan.school/render && npm install
npx tsx render.ts <slug> <đường-dẫn-nhạc.mp3> [--from 0] [--to 30] [--fps 24]

Bộ dựng đọc storyboard/storyboard.json (đoạn cảnh theo giây: bối cảnh, nhân vật, động tác, camera, tiêu đề) và lyrics/timed.json (mốc giây của từng từ, lấy từ Suno aligned_lyrics), vẽ mỗi khung bằng lib/ (SVG), chuyển PNG bằng resvg với font Be Vietnam Pro, rồi ghép nhạc bằng ffmpeg. Bài 3 phút ở 24 fps dựng trong khoảng 2 phút.

  • Lời karaoke tô từng từ đúng lúc giọng hát tới, không chia đều theo thời lượng.
  • Font tải về render/fonts/ (không vào git); đo bề ngang chữ bằng chính font đó, nên vị trí từng từ khớp chữ vẽ ra.
  • --from/--to để xem nhanh một đoạn trước khi dựng cả bài.
  • Hai bẫy đã gặp: resvg cần width/height thật (không nhận 100%), và panic với clip-path khung ngoài; bộ dựng tự gỡ cả hai.