Created
August 8, 2021 18:08
-
-
Save myersjustinc/35eaa9b59e6af148b6b30118476bc60b to your computer and use it in GitHub Desktop.
YouTube-to-GIF cheat sheet
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ export VIDEO_ID='e1zvhJRIM7M' | |
$ export VIDEO_URL="https://www.youtube.com/watch?v=${VIDEO_ID}" | |
$ export CLIP_START='4.85' | |
$ export CLIP_LENGTH='5.33 | |
$ export OUTPUT_NAME='kiki' | |
$ youtube-dl -F "${VIDEO_URL}" | |
# Find the 240p video-only MP4. Note the format number at the beginning of | |
# that line, which we'll refer to below as `${FORMAT}`. | |
$ youtube-dl -f "${FORMAT}" -o '%(id)s.%(ext)s' "${VIDEO_URL}" | |
$ ffmpeg \ | |
-y \ | |
-i "${VIDEO_ID}.mp4" \ | |
-vf "subtitles=${VIDEO_ID}.srt:force_style='Fontsize=24,Bold=1'" \ | |
-ss "${CLIP_START}" \ | |
-t "${CLIP_LENGTH}" \ | |
"${OUTPUT_NAME}.mp4" | |
# With thanks to Giphy: | |
# https://engineering.giphy.com/how-to-make-gifs-with-ffmpeg/ | |
$ ffmpeg \ | |
-i "${OUTPUT_NAME}.mp4" \ | |
-filter_complex "[0:v] fps=12,scale=-1:240,split [a][b];[a] palettegen [p];[b][p] paletteuse" \ | |
"${OUTPUT_NAME}.gif" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 | |
00:00:05,000 --> 00:00:06,500 | |
I went down to the beach | |
and saw Kiki | |
2 | |
00:00:07,000 --> 00:00:08,250 | |
She was all like, | |
"Unnhhhh..." | |
3 | |
00:00:08,500 --> 00:00:10,000 | |
And I'm like, "Whatever!" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment