From 443c1eac0b7fe69314b1beb856cbb584b42d4834 Mon Sep 17 00:00:00 2001 From: haturatu Date: Mon, 12 Feb 2024 15:50:40 +0900 Subject: first commit --- luvthumbnail.sh | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 luvthumbnail.sh (limited to 'luvthumbnail.sh') diff --git a/luvthumbnail.sh b/luvthumbnail.sh new file mode 100644 index 0000000..600037f --- /dev/null +++ b/luvthumbnail.sh @@ -0,0 +1,44 @@ + #!/bin/bash + +# それぞれのディレクトリパス +input_dir="/media/ncp/yt/music" +output_dir="/media/ncp/yt/musicmp3" + +# 出力ディレクトリが存在しない場合は作成する +mkdir -p $output_dir + +# フォーマット指定、現状出力はmp3のみ +in="webm" +out="mp3" + +# ディレクトリ内全てに適応させる +#find "$input_dir" -type f -name "*$in" | while IFS= read -r file; do +shopt -s globstar +for file in "$input_dir"/**/*.${in}; do + # baseを指定 + base=$(basename "$file" .${in}) + + # ファイルのディレクトリ取得 + file_dir=$(dirname "$file") + # ディレクトリパスの一部を置換して新しいパスを作成 + outfile_dir="${output_dir}${file_dir#$input_dir}" + mkdir -p "$outfile_dir" + + # サムネイルのパス指定 + thumbnail="${outfile_dir}/${base}_thumbnail.jpg" + + # ビデオファイルからmp3に変換 + ffmpeg -i "$file" -vn -acodec libmp3lame -qscale:a 2 "$outfile_dir/${base}.${out}" + + # 映像ファイルからサムネイル抽出 + if ffmpeg -i "$file" -an -vframes 1 -q:v 2 "$thumbnail" -y; then + echo "Thumbnail extracted for $base" + + ffmpeg -i "$outfile_dir/${base}.${out}" -i "$thumbnail" -map 0 -map 1 -c copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" -y "$outfile_dir/${base}_with_thumbnail.${out}" + rm "${outfile_dir}/${base}}" + rm "${outfile_dir}/${base}_thumbnail.jpg" + mv "${outfile_dir}/${base}_with_thumbnail.${out}" "$outfile_dir/${base}.${out}" + else + echo "No thumbnail found for $base" + fi +done -- cgit v1.2.3