Skip to main content

images/convert_gif_to_mp4

1#!/usr/bin/env bash
2# Convert an animated GIF to an MP4 file
3#
4# See https://alexwlchan.net/til/2024/convert-an-animated-gif-to-mp4/
6set -o errexit
7set -o nounset
9if (( $# != 1 ))
10then
11 echo "Usage: $0 GIF_PATH" >&2
12 exit 1
13fi
15GIF_PATH="$1"
16MP4_PATH="${GIF_PATH//gif/mp4}"
18if [[ "$GIF_PATH" = "$MP4_PATH" ]]
19then
20 echo "Unable to pick MP4 path for $GIF_PATH" >&2
21 exit 1
22fi
24ffmpeg \
25 -i "$GIF_PATH" \
26 -movflags faststart \
27 -pix_fmt yuv420p \
28 -hide_banner \
29 -loglevel error \
30 "$MP4_PATH"
32echo "$MP4_PATH"