- chunk="$((${l:-10} / 11))"
-
- tmp="$(mktemp -d)"
- for cnt in 1 2 3 4 5 6 7 8 9 10; do
- printf '' \
- | mplayer -input nodefault-bindings -nosound -benchmark \
- -noconfig all -really-quiet \
- -frames 1 -ss "$((cnt * chunk))" \
- -vf framestep=I \
- -vo jpeg:quality=100:outdir="${tmp}" \
- "$file" 2>&-
- mv "${tmp}/00000001.jpg" "${tmp}/_${cnt}.jpg"
- done
- printf '' \
- | mplayer -input nodefault-bindings -nosound -benchmark \
- -noconfig all -really-quiet \
- -vf expand=:::::16/9,scale=320:-2,tile=10:1:10:0:0 \
- -vo jpeg:quality=100:outdir="${tmp}"\
- "mf://$tmp/_*.jpg" 2>&-
-
- #mv "${tmp}/00000001.jpg" "$thumb"
- convert "${tmp}/00000001.jpg" -interlace line -quality 85 "$thumb"
- rm -r "${tmp}"
+ ffmpeg -nostdin -y -i "$file" -vf scale=320:-2,fps=10/$length "$tmp/thumb_%02d.jpg" 2>&-
+ montage "$tmp/thumb_0"[1-9].jpg "$tmp/thumb_10.jpg" \
+ -tile 10x1 -geometry 320x180+0+0 \
+ -interlace line -quality 85 "$thumb"
+ rm -r -- "${tmp}"