Careful, your script and one liner generates a whopping 1.5mb file for a 3s movie.
While gifify generates a 1mb file for a 800 px wide, 20s screencast.
https://github.com/pornel/giflossy helps a lot, and works with unix pipes too, you can try it.
Optimized! :)
Also, gifify has lots of options like compression, resizing, speed, colors..
Of course, in the end, it's only a wrapper to ffmpeg - convert - gifsicle (giflossy).
But it helps a lot in achieving MOVIE -> GIF. In a command line way or programmatic way (i.e., you can write a server that uses it and stream gifs to the client).