summaryrefslogtreecommitdiffstats
path: root/tools/image_extract
blob: bdf984daabfbcfad1d01f93da4b59cd948841e6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
#
# Date:    2010-01-15
# Author:  Ole Kristian Lien
# License: GNU General Public License
#
# Extract thumbnail from video

EXT=`echo "$1"|awk -F . '{print $NF}'`
BASENAME=`basename $1 .$EXT`

DURATION=`./duration $1`
RESOLUTION=`./video_resolution $1`
THUMB="320x240"

OLD_IFS="$IFS"
IFS=":"
TIME=( $DURATION )
IFS="$OLD_IFS"
TOTAL=`echo "(${TIME[0]} * 3600) + (${TIME[1]} * 60) + ${TIME[2]}" | bc`
let SECOND=$RANDOM%$TOTAL+1

if [ -z "$1" ]; then
	echo "Usage: $0 <video-file>"
	exit 1
fi

./require ffmpeg || { exit 1; } 
./require convert || { exit 1; } #imagemagick

echo -n " * Extracting image ($RESOLUTION) from video (frame $SECOND s)..."
ffmpeg  -itsoffset -$SECOND  -i $1 -vcodec mjpeg -vframes 1 -an -f rawvideo -s $RESOLUTION $BASENAME.jpeg \
> "$BASENAME.jpeg-compresslog" 2>&1
echo -e "OK!"

echo -n " * Resizing image to thumbnail ($THUMB)..."
convert -resize $THUMB $BASENAME.jpeg $BASENAME-thumb.jpeg
echo -e "OK!"