atnikos's picture
basic functionalities working
517683d
import moviepy.editor as mp
# import moviepy.video.fx.all as vfx
import os
class Video:
def __init__(self, frame_path: str, fps: float = 20.0, res="high"):
frame_path = str(frame_path)
self.fps = fps
self._conf = {
"codec": "libx264",
"fps": self.fps,
"audio_codec": "aac",
"temp_audiofile": "temp-audio.m4a",
"remove_temp": True,
}
if res == "low":
bitrate = "500k"
else:
bitrate = "5000k"
self._conf = {"bitrate": bitrate, "fps": self.fps}
# Load video
# video = mp.VideoFileClip(video1_path, audio=False)
# Load with frames
frames = [os.path.join(frame_path, x) for x in sorted(os.listdir(frame_path))]
video = mp.ImageSequenceClip(frames, fps=fps)
self.video = video
self.duration = video.duration
def save(self, out_path):
out_path = str(out_path)
self.video.subclip(0, self.duration).write_videofile(
out_path, verbose=False, logger=None, **self._conf
)