showcover (523B)
1 #!/bin/sh 2 # Extract embedded cover images from all audio files in a directory 3 # recursively and browse them with nsxiv-rifle. 4 # Usage: showcover [directory] 5 6 dir="${1:-.}" 7 [ ! -d "$dir" ] && { 8 echo "Not a directory: $dir" 9 exit 1 10 } 11 12 tmpdir=$(mktemp -d) 13 trap 'rm -rf "$tmpdir"' EXIT 14 15 n=0 16 find "$dir" -type f | while read -r f; do 17 ffmpeg -nostdin -y -i "$f" -an -vcodec copy "${tmpdir}/${n}.jpg" 2>/dev/null && n=$((n + 1)) 18 done 19 20 [ -z "$(ls "$tmpdir")" ] && { 21 echo "No cover images found" 22 exit 1 23 } 24 25 nsxiv-rifle "$tmpdir"