NAV_MENU
賽は投げられた。人事尽くして天命待つと言うか、転がりだした物は止められないというか。まぁ、ちょとは覚悟しとけよ。
基本的に毎日更新。出来なかったときは遡ってやります。多分。きっと。出来たら良いな

動画のサムネイルを作る方法

動画のファイルって数が増えてくると整理しづらいって事で、ダイジェスト一覧を作りたいってことで

ffmpegとImagemagickが必要です
シェルスクリプトはBSD仕様です。

シーンチェンジが有った部分と60秒間シーンチェンジを検出できない場合、60秒経過後のIフレームをサムネイル化します
(フェードインフェードアウトで繋いでいる場合などシーンチェンジを検出できない為)
ファイルと同名のjpgファイルを作ります。

実行するのに結構時間が掛かります。
寝てる間にfindとxargsなんかを組み合わせてどうぞ
あ、当然無保証です


#!/bin/sh

SRCFILE=`realpath "$1"`
TRGFILE=${SRCFILE%.*}.jpg
if [ -f "$SRCFILE" ] ; then

if [ ! -f "$TRGFILE" ] ; then
TMPWORKDIR=`mktemp -d -t $(basename $0 .sh)`

echo "$SRCFILE -> $TRGFILE"
ffmpeg -threads 6 -i "${SRCFILE}" -vf select='gt(scene\,0.4)+(isnan(prev_selected_t)+gte(t-prev_selected_t\,60)*eq(pict_type\,I))',scale=400:300,tile=1x1 \
-vsync 0 ${TMPWORKDIR}/%06d.png > /dev/null 2>&1

cd ${TMPWORKDIR}
TMPFILE=`mktemp "${SRCFILE%.*}.XXXXXX"`
montage *.png -geometry +0+0 jpeg:"$TMPFILE" > /dev/null 2>&1
mv "$TMPFILE" "$TRGFILE"
cd /tmp
rm -rf $TMPWORKDIR

fi

fi