INNER CODE UNIT · Python

load_frames_from_video

OpenVGLab/OmniLottie · app.py:96

def load_frames_from_video(video_path, num_frames=8, max_size=336):
    import os
    ext = os.path.splitext(video_path)[1].lower()

    frames = []

    if ext in ('.gif', '.webp'):
        try:
            img = PILImage.open(video_path)
            total_frames = getattr(img, 'n_frames', 1)

            if total_frames < 1:
                raise ValueError(f"No frames in {ext.upper()}: {video_path}")

            indices = np.linspace(0, total_frames - 1, min(num_frames, total_frames)).astype(int)

            for idx in indices:
                img.seek(idx)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…