From 7046d835b83084ad8b7a96233bc8a0546d519444 Mon Sep 17 00:00:00 2001 From: shockrah Date: Sat, 16 Oct 2021 19:18:20 -0700 Subject: [PATCH] * Script for generating thumbnails --- scripts/generate-thumbnail.sh | 51 +++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100755 scripts/generate-thumbnail.sh diff --git a/scripts/generate-thumbnail.sh b/scripts/generate-thumbnail.sh new file mode 100755 index 0000000..f98b524 --- /dev/null +++ b/scripts/generate-thumbnail.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +vid_path="$1" +nail_dir="$2" + +# ./nail asd/fas/dfasdf.mkv /media/videos /media/thumbnails + +show_usage() { +cat << EOF +$@ +./nail.sh VIDEO_FILE OUTPUT_DIR +Example: + ./nail video.mp4 /thumbnails/example +VIDEO_FILE + Path to file from which we generate a thumbnail +OUTPUT_DIR + Directory to save the thumbnail +EOF +} + +# First some basic checks +if [ ! -f "$vid_path" ]; then + show_usage Video file path invalid + exit 1 +fi + + +if [ ! -d "$nail_dir" ];then + show_usage Thumbnails directory invalid + exit 1 +fi + +# Check if we have _any_ parameters +if [ -z $1 ];then + show_usage "Create thumbnails for videos" + exit 1 +fi + +# Next make sure that we have ffmpeg installed +if [ -z "`type ffmpeg`" ];then + echo ffmpeg is not installed! This is required for generating thumbnails + exit 1 +fi + +vid_base_name=`basename "$vid_path"` +vid_extension="${vid_base_name##*.}" +thumbnail_base_name="$vid_base_name.jpg" + +# Always overwrite, grab first second first frame from $vid_path to +# nail_dir/vid_base_name.jpg +ffmpeg -y -ss 00:00:01 -i "$vid_path" -frames:v 1 "$nail_dir/$thumbnail_base_name"