GIFtube: A Bash Script to Convert YouTube Videos to High-Quality GIFs

gords

Gords

Posted on April 4, 2024

GIFtube: A Bash Script to Convert YouTube Videos to High-Quality GIFs

Introduction

One of my friends was struggling to find a simple and user-friendly tool to convert YouTube videos into high-quality GIFs. He needed a way to customize various aspects like resolution, frame rate, start/end times, and more, but most existing tools were either too clunky or lacked these customization options.

As a developer, I understood the frustration of not having the right tool for the job. That's why I created GIFtube, a Bash script that simplifies the process of converting YouTube videos to GIFs while providing a range of customization options.

Features

GIFtube comes packed with several features:

  • Convert YouTube videos to GIFs: Provide the YouTube video URL, and GIFtube will handle the rest. Customize resolution: Choose from standard resolution options, including 1080p, 720p, 480p, and 240p. Set desired frame rate: Specify the desired frames per second (FPS) for the output GIF, with a recommended range of 10-30 FPS.
  • Specify start time and duration: Select the exact start time and duration of the video clip you want to convert to a GIF. Optimize the generated GIF: GIFTube uses gifsicle to optimize the output gif.

Installation and Usage

To install and use GIFtube, follow these steps:

Clone the GIFtube repository from GitHub:

git clone https://github.com/Gords/GIFtube.git

Enter fullscreen mode Exit fullscreen mode

Navigate to the project directory and make the script executable:

cd GIFtube
chmod +x make_gif.sh
Enter fullscreen mode Exit fullscreen mode

Run the script with:

./make_gif.sh.

Enter fullscreen mode Exit fullscreen mode

Follow the prompts to enter the YouTube URL, desired FPS, start time, duration, output filename, and resolution.
Here's an example usage:

  • Enter the YouTube URL: https://www.youtube.com/watch?v=dQw4w9WgXcQ
  • Enter the desired FPS (recommended: 10-30): 15
  • Enter the start time (in seconds): 10
  • Enter the duration (in seconds): 20
  • Enter the output filename: rickroll.gif
  • Select the resolution:
    1. 1080p
    2. 720p
    3. 480p
    4. 240p
  • Enter your choice (1-4): 2

This will create an optimized GIF file named optimized_rickroll.gif from the specified YouTube video, starting at 10 seconds, with a duration of 20 seconds, a frame rate of 15 FPS, and a resolution of 720p.

Behind the Scenes

GIFtube leverages several powerful tools and libraries to achieve its functionality:

yt-dlp A command-line tool used for downloading YouTube videos.
ffmpeg: A multimedia framework for handling video and audio processing, including GIF generation.
gifsicle: A tool for optimizing and manipulating GIF files.
These dependencies are automatically installed on Ubuntu/Debian or macOS systems if they are not already present.

Demos

Here are a few examples of GIFs created using GIFtube:

480p 30fps:
namco x capcom

720p 10fps:
sl 500

Conclusion

GIFtube is a powerful yet simple tool that solves the problem of converting YouTube videos to high-quality GIFs with customizable settings. GIFtube can streamline your workflow and provide you with the perfect GIF for your needs.

If you find GIFtube useful, please star the repository on GitHub and feel free to contribute or submit any feature requests or bug reports. Let's make GIFtube even better together!

πŸ’– πŸ’ͺ πŸ™… 🚩
gords
Gords

Posted on April 4, 2024

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related