#!/bin/sh
#
# Author: Petter Reinholdtsen
# Date:   2006-11-01
# License: GNU General Public license
#
# Extract thumbnail image from MPEG video stream.

extract_thumbnail() {
    mpeg=$1
    skip=$2

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

    dirname=`dirname $mpeg`
    basename=`basename $mpeg .mpeg`
    jpeg="$dirname/$basename-thumb.jpeg"

    if [ -f $jpeg ] ; then
        return
    fi

    echo "Creating $jpeg from $mpeg"
    mplayer -ss $skip:00 -frames 1 -vo jpeg -nosound $mpeg
    if [ -f 00000001.jpg ] ; then
        mv 00000001.jpg $jpeg
    else
        newskip=$(( $skip / 2 ))
        if [ $newskip -gt 0 ] ; then
            extract_thumbnail $mpeg $newskip
        fi
    fi
}

for mpeg in $@ ; do
    # 10 minutes out in the movie
    extract_thumbnail $mpeg 10
done
