Make a gif Using FFMPEG

ffmpeg can output high quality GIF

Command and Meanings

 ffmpeg -ss 30 -t 3 -i input.mp4 \
    -vf "fps=10,scale=320:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" \
    -loop 0 output.gif 

Make a gif with text Using FFMPEG

 ffmpeg -i clip.mp4 \
  -vf "fps=15,scale=480:-1:flags=lanczos,\
drawtext=fontfile=/Library/Fonts/Arial.ttf:\
textfile=subtitles1.txt:reload=1:\
enable='lt(t,1)':\
fontcolor=white@0.8:fontsize=24:\
box=1:boxcolor=black@0.5:\
x=(w-text_w)/2:y=h-(text_h*2),\
drawtext=fontfile=/Library/Fonts/Arial.ttf:\
textfile=subtitles2.txt:reload=1:\
enable='between(t,1,3)':\
fontcolor=white@0.8:fontsize=24:\
box=1:boxcolor=black@0.5:\
x=(w-text_w)/2:y=h-(text_h*2),\
drawtext=fontfile=/Library/Fonts/Arial.ttf:\
textfile=subtitle3.txt:reload=1:\
enable='gte(t,3)':\
fontcolor=white@0.8:fontsize=24:\
box=1:boxcolor=black@0.5:\
x=(w-text_w)/2:y=h-(text_h*2)" \
  -loop 0 output.gif