gif recording

gif — gif recording

The gif module is used for gif recording.

class Gif – Gif recorder

You can use the gif module to record small video clips. Note that gif files save uncompressed image data. So, they are best for recording short video clips that you want to share. Use mjpeg for long clips.

Example usage:

import sensor, gif

# Setup camera.
sensor.reset()
sensor.set_pixformat(sensor.GRAYSCALE)
sensor.set_framesize(sensor.QQVGA)
sensor.skip_frames()

# Create the gif object.
g = gif.Gif("example.gif")

# Add frames.
for i in range(100):
    g.add_frame(sensor.snapshot())

# Finalize.
g.close()

Constructors

gif.Gif

class gif.Gif(filename: str, width: int | None = None, height: int | None = None, color: bool | None = None, loop=True)

Create a Gif object which you can add frames to. filename is the path to save the gif recording to.

width is automatically set equal to the image sensor horizontal resolution unless explicitly overridden.

height is automatically set equal to the image sensor vertical resolution unless explicitly overridden.

color is automatically set equal to the image sensor color mode unless explicitly overridden:

loop when True results in the gif automatically looping on playback.

Methods

width

width() -> int

Returns the width (horizontal resolution) for the gif object.

height

height() -> int

Returns the height (vertical resolution) for the gif object.

format

format() -> int

Returns sensor.RGB565 if color is True or sensor.GRAYSCALE if not.

size

size() -> int

Returns the file size of the gif so far. This value is updated after adding frames.

loop

loop() -> bool

Returns if the gif object had loop set in its constructor.

add_frame

add_frame(image: image.Image, delay=10) -> None

Add an image to the gif recording. The image width, height, and color mode, must be equal to the same width, height, and color modes used in the constructor for the gif.

delay is the number of centi-seconds to wait before displaying this frame after the previous frame (if not the first frame).

close

close() -> None

Finalizes the gif recording. This method must be called once the recording is complete to make the file viewable.

On this page

gif — gif recording