diff options
Diffstat (limited to 'scripts/build_blender.py')
| -rw-r--r-- | scripts/build_blender.py | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/scripts/build_blender.py b/scripts/build_blender.py index 41731cf..1a80d97 100644 --- a/scripts/build_blender.py +++ b/scripts/build_blender.py @@ -1,10 +1,10 @@ # -*- coding: utf-8 -*- -"""Arma el video final de las escenas hechas en Blender. +"""Builds the final video of the scenes made in Blender. -Compone en una sola pasada de ffmpeg: - fondo punteado + secuencia PNG con alfa (3D) + overlay de Manim + audio -El overlay trae chip, barra de progreso y subtitulos, o sea que el estilo sale -del mismo codigo que los videos de Manim. +Composites in a single ffmpeg pass: + dotted background + PNG sequence with alpha (3D) + Manim overlay + audio +The overlay carries the chip, progress bar and subtitles, so the style comes +from the same code as the Manim videos. """ import glob, os, subprocess, sys @@ -15,23 +15,23 @@ import build_video FPS = 30 -def componer(name, con_musica=True): - fondo = os.path.join(ROOT, "media", "images", "overlay", "fondo.png") - carpeta = os.path.join(ROOT, "render", name) - seq = os.path.join(carpeta, "f%04d.png") +def compose(name, add_music=True): + background = os.path.join(ROOT, "media", "images", "overlay", "fondo.png") + folder = os.path.join(ROOT, "render", name) + seq = os.path.join(folder, "f%04d.png") overlay = os.path.join(ROOT, "media", "videos", "overlay", "1920p30", f"{name}.mov") - for p in (fondo, overlay): + for p in (background, overlay): if not os.path.exists(p): - raise SystemExit(f"falta {p}") - n = len(glob.glob(os.path.join(carpeta, "f*.png"))) + raise SystemExit(f"missing {p}") + n = len(glob.glob(os.path.join(folder, "f*.png"))) if n < 30: - raise SystemExit(f"[{name}] solo hay {n} frames renderizados") + raise SystemExit(f"[{name}] only {n} frames rendered") - wav = build_video.build_track(name, con_musica) + wav = build_video.build_track(name, add_music) out = os.path.join(ROOT, "out", f"{name}.mp4") cmd = [ "ffmpeg", "-v", "error", "-y", - "-loop", "1", "-framerate", str(FPS), "-i", fondo, + "-loop", "1", "-framerate", str(FPS), "-i", background, "-framerate", str(FPS), "-start_number", "1", "-i", seq, "-i", overlay, "-i", wav, @@ -55,4 +55,4 @@ def componer(name, con_musica=True): if __name__ == "__main__": for n in (sys.argv[1:] or ["bolapeluda", "caos", "diferencial"]): - componer(n) + compose(n) |