explaingit

loomos-hub/glide-ffmpeg

Analysis updated 2026-05-18

1PythonAudience · developerComplexity · 2/5LicenseSetup · moderate

TLDR

A GPU-accelerated tool for smooth, sub-pixel pan and zoom animation over still images, replacing FFmpeg's stuttery zoompan filter.

Mindmap

mindmap
  root((Glide))
    What it does
      Smooth pan and zoom
      Ken Burns effect
      Replaces FFmpeg zoompan
    Tech stack
      Python
      PyTorch
      CUDA
    Use cases
      Animate still images
      Fix zoompan stutter
      Benchmark smoothness
    Audience
      Video developers
      Content creators

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add smooth Ken Burns-style pan and zoom animation to still images for video content.

USE CASE 2

Replace FFmpeg's zoompan filter in a video pipeline to eliminate stutter on slow camera moves.

USE CASE 3

Benchmark and compare smoothness against FFmpeg's zoompan using the included comparison script.

What is it built with?

PythonPyTorchCUDAFFmpeg

How does it compare?

loomos-hub/glide-ffmpeg0xustaz/streamgatea-bissell/unleash-lite
Stars111
LanguagePythonPythonPython
Setup difficultymoderatehardhard
Complexity2/54/54/5
Audiencedeveloperdeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires PyTorch and FFmpeg installed, a CUDA GPU is strongly recommended for reasonable speed.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Glide is a small Python tool that animates still images with a smooth pan and zoom effect, the kind of slow camera move often called the Ken Burns effect, and used often in slideshows and documentary videos. It is built to replace a specific feature in FFmpeg called zoompan, which is the common way people currently do this kind of animation. The problem Glide solves is that FFmpeg's zoompan rounds its position to whole pixels on every frame. When a pan or zoom moves less than one pixel per frame, which is common for slow, tasteful camera moves, the image appears to hold still and then suddenly jump a full pixel, which looks like a shudder or vibration rather than smooth motion. A common workaround is rendering at a much higher resolution and then shrinking it down, but that only hides the problem and makes rendering slower. Glide instead calculates the exact floating-point position of the camera for every frame and uses a GPU sampling technique called bicubic interpolation to read the image at that precise position, so the motion is smooth down to a fraction of a pixel. It also applies a modest amount of supersampling and downscaling purely to smooth out fine detail, kept separate from the actual motion calculation, and offers optional easing curves so a move can start and end more gently, similar to a real camera settling into position. Frames are streamed directly into FFmpeg, which only handles the final video encoding step. The README includes a benchmark comparing Glide to FFmpeg's zoompan using a supersampled setting, measuring how evenly the image shifts frame to frame, and reports about fifteen times smoother motion at a similar or lower render cost, tested on an RTX 4060 Ti graphics card. To use it, you install PyTorch, Pillow, and NumPy, with a CUDA-enabled version of PyTorch recommended for speed, though it also runs on a CPU. It can be used from the command line with preset moves like push-in or pan-left, with custom zoom and center points, or imported as a Python library where you define a move with a starting and ending zoom level and center position and render it to a video file. The project notes it assumes the source image and output video share the same aspect ratio, and it is released under the MIT license.

Copy-paste prompts

Prompt 1
Help me install Glide and render a smooth push-in video from a single image.
Prompt 2
Show me how to define a custom pan and zoom move using the GlideMove class.
Prompt 3
Explain how Glide achieves sub-pixel smooth motion compared to FFmpeg's zoompan.
Prompt 4
Walk me through running the benchmark script that compares Glide to zoompan.

Frequently asked questions

What is glide-ffmpeg?

A GPU-accelerated tool for smooth, sub-pixel pan and zoom animation over still images, replacing FFmpeg's stuttery zoompan filter.

What language is glide-ffmpeg written in?

Mainly Python. The stack also includes Python, PyTorch, CUDA.

What license does glide-ffmpeg use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is glide-ffmpeg to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is glide-ffmpeg for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.