Source code for moviepy.video.io.gif_writers
"""MoviePy video GIFs writing."""
import imageio.v3 as iio
import proglog
from moviepy.decorators import requires_duration, use_clip_fps_by_default
[docs]
@requires_duration
@use_clip_fps_by_default
def write_gif_with_imageio(clip, filename, fps=None, loop=0, logger="bar"):
"""Writes the gif with the Python library ImageIO (calls FreeImage)."""
logger = proglog.default_bar_logger(logger)
with iio.imopen(filename, "w", plugin="pillow") as writer:
logger(message="MoviePy - Building file %s with imageio." % filename)
for frame in clip.iter_frames(fps=fps, logger=logger, dtype="uint8"):
writer.write(
frame, duration=1000 / fps, loop=loop
) # Duration is in ms not s