面倒だが意外と効果がありました。要は、静止画比較で手作業で消す。
Debian GNU/Linuxでの例です。
0)
fdupes で全く同じものは消しておく。
例)
fdupes -rd '/media/$HOME$/XXX5eYYY-aAD0-46FF-9999-123456abcdef/STORE/' '/media/$HOME$/セカンド ディスク/動画' '/home/$HOME/ビデオ/クリップ'
各フォルダとサブフォルダ含めて検索。
1)
ffmpegでファイル名と同じ静止画像を作る。
例)
該当フォルダで、ターミナルのプロンプトで、
前処理 : ファイル名の空白: 全/半スペースをアンダーバーにしておく
$ rename 's/\ /_/g' *
$ rename 's/ /_/g' *
次に、mp4かflvのファイル名なら、ffmpegで15秒目の画像で"ファイル名[.mp4|.flv].jpg"を作る。おまけで処理ファイル数と掛かった秒数、開始/終了時間。ffmpegに-y オプションを付けると出力ファイルが同名なら上書き。SECONDSはbashの特殊変数。
$ SECONDS=0; FROM=0; FROM=`date`; for file in *; do if [ ${file##*.} = mp4 ] || [ ${file##*.} = flv ] ; then ffmpeg -ss 35 -i $file -vframes 1 -f image2 $file.jpg; echo "files : "$((++a)); fi; time=$SECONDS; echo "times : "$time; echo "Start : "$FROM; echo "Finish : "`date`; done;
2)
Geeqie
ファイル → 複製の検索。
比較する要素: 類似性。☑ サムネイル
jpgを作ったフォルダをドラッグ(複数可)
・・・ウチの古い4コアでは1コアしか動作せず時間がかかるぅ。
3) 後はひたすら手作業。
分割ファイル、同じタイトル画像の出だしで別内容、等・・・面倒だな。
その他
・問題は多々ありますが、ギガクラスの削除が出来た。
・KDEのファイラーDolphinでサムネイルを有効化してるので、~/$HOME$/.thumnails/にサムネイルが溜まってるが、ファイル名がハッシュ番号みたいで、どこのどのファイルなのだか検討もつかない。
・Geeqieの重複抽出結果をテキストやcalc方式で出力できんのかな?
・動画ファイルの情報は、mediainfo-gui をインストールしておくと便利。VLCメディアプレイヤーのツール→コーデック情報より多くの内容を表示してくれる。
・-ss オプションは -i より先に置いたほうが処理が早い。
・サイズが大きなファイルだけ画像ファイルをつくる例。ターミナルのプロンプトに貼り付け。
for FILE in `find ./ -type f -size +200M` ; do ffmpeg -ss 150 -i $FILE -vframes 1 -f image2 $FILE.ss%3d.jpg ; done
(現ディレクトリ以下で、200M以上のファイルに対して最初から150秒目の画像で、元ファイル名.ss001.jpg、重複した場合:元ファイル名.ss002.jpg ... のファイルを作る。結構時間がかかる。)
評価後、ディレクトリをまたいで、作ったファイルを一気に消すには find . -name "*.ss001.jpg" | xargs rm