Source code for hello.video.utils

from pathlib import Path

import cv2 as cv
import numpy as np


[docs]def make_mp4(outfile, frames, fps=None, size=None, fourcc=None): if fps is None: fps = 30 if size is None: size = (1080, 1920) if fourcc is None: suffix = Path(outfile).suffix if suffix == ".mp4": fourcc = "mp4v" elif suffix == ".avi": fourcc = "XVID" height, width = size fourcc = cv.VideoWriter_fourcc(*fourcc) Path(outfile).parent.mkdir(parents=True, exist_ok=True) out = cv.VideoWriter(str(outfile), fourcc, fps, (width, height)) for index in range(frames): frame = np.full((height, width, 3), (127, 127, 127), dtype="uint8") cv.rectangle(frame, (5, 5), (225, 35), (0, 0, 255), -1) a, b = divmod(index, fps) cv.putText(frame, f"{a:06d}_{b:03d}", (15, 30), cv.FONT_HERSHEY_SIMPLEX, 1.0, (255, 255, 255), 2) out.write(frame) out.release() return outfile