

The original video height can be found for example with ffprobe: and is 1024 x 1024 in our case.įor example, the original video was 30 FPS, so -r 15 means that ffmpeg will pick one frame in every 2 ( = 30 / 15). If you remove this option, the output GIF has the same height as the input video. This is a common use case for images for the web, which tend to have much smaller resolution than video. vf scale=512:-1: make the output 512 pixels in height, and adjust width to maintain the aspect ratio. No, GIFs are not the best way to pirate distribute videos online. ss 00:00:03 -to 00:00:06: start and end time to cut the video from. We could also play with documented palettegen parameters like palettegen=max_colors=16 to achieve different size quality trade-off points.
FFMPEG GIF TO MP4 FOR INSTAGRAM HOW TO
TODO: why does simply choosing a palette increase the image size? Is it because now more colors so we need more bits per color? How to observe each palette? the dotting pattern is much less visible now.Image info: 979K, 45 frames, 512x512 apparent size, coalesced, conversion time on a Lenovo P51: 3.5s. vf "scale=512:-1,split palettegen paletteuse" \ We can try to improve the image quality with methods described at:Į.g. The output has a visible dotting pattern, which is not as visible in "ffmpeg + convert" method below. Test data generation procedure described on this post.

500MB however failed because ffmpeg failed to load its shared libraries. The above conversion also worked after a ulimit -Sv 1000000 (DRAM usage limited to 1GB), so it does "not consume huge amounts of memory" like previous attempts I did with Imagemagick which almost killed my machine. Image info: 426kB, 45 frames, 512x512 apparent size, coalesced, conversion time on a Lenovo P51: 0.5s.
FFMPEG GIF TO MP4 FOR INSTAGRAM INSTALL
You likely want to use something like: sudo apt install ffmpeg Ffmpeg 3.4.4 can do it directly on Ubuntu 18.04
