code: def _encode_gif(images, fps):
    
    writer = WholeVideoWriter(fps)
    writer.write_multi(images)
    return writer.finish()
docs: Encodes numpy images into gif string.
  
    Args:
      images: A 4-D `uint8` `np.array` (or a list of 3-D images) of shape
        `[time, height, width, channels]` where `channels` is 1 or 3.
      fps: frames per second of the animation
  
    Returns:
      The encoded gif string.
  
    Raises:
      IOError: If the ffmpeg command returns an error.