added all scripts
This commit is contained in:
76
thumb.sh
Executable file
76
thumb.sh
Executable file
@@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Ask for the thumbnail filename
|
||||
echo "=== Album Art Embedder (Recursive) ==="
|
||||
echo "Current directory: $(pwd)"
|
||||
read -p "Enter thumbnail filename in this directory (e.g., cover.jpg): " thumbnail
|
||||
|
||||
# Full path to thumbnail
|
||||
thumbnail_path="$(pwd)/$thumbnail"
|
||||
|
||||
# Check if thumbnail exists
|
||||
if [ ! -f "$thumbnail_path" ]; then
|
||||
echo "Error: Thumbnail not found at $thumbnail_path"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Ask for album artist
|
||||
read -p "Enter album artist name: " album_artist
|
||||
|
||||
# Get album name from current directory
|
||||
album_name="$(basename "$(pwd)")"
|
||||
|
||||
echo ""
|
||||
echo "Found thumbnail: $thumbnail_path"
|
||||
echo "Album: $album_name"
|
||||
echo "Album Artist: $album_artist"
|
||||
echo "Processing all mp3/mp4 files in subdirectories..."
|
||||
echo ""
|
||||
|
||||
# Counter for processed files
|
||||
count=0
|
||||
|
||||
# Find all mp3 and mp4 files in subdirectories (not current dir)
|
||||
find . -mindepth 2 -type f \( -name "*.mp3" -o -name "*.mp4" \) | while read -r file; do
|
||||
echo "Processing: $file"
|
||||
|
||||
# Get file extension
|
||||
ext="${file##*.}"
|
||||
|
||||
# Create temporary filename
|
||||
temp_file="${file}.tmp.${ext}"
|
||||
|
||||
# Add thumbnail and metadata using ffmpeg
|
||||
if [ "$ext" = "mp3" ]; then
|
||||
ffmpeg -i "$file" -i "$thumbnail_path" \
|
||||
-map 0 -map 1 \
|
||||
-c copy \
|
||||
-metadata album_artist="$album_artist" \
|
||||
-metadata album="$album_name" \
|
||||
-disposition:v:0 attached_pic \
|
||||
"$temp_file" 2>/dev/null
|
||||
else
|
||||
# For mp4 files
|
||||
ffmpeg -i "$file" -i "$thumbnail_path" \
|
||||
-map 0 -map 1 \
|
||||
-c copy \
|
||||
-metadata artist="$album_artist" \
|
||||
-metadata album="$album_name" \
|
||||
-disposition:v:0 attached_pic \
|
||||
"$temp_file" 2>/dev/null
|
||||
fi
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
mv "$temp_file" "$file"
|
||||
((count++))
|
||||
echo "✓ Done"
|
||||
else
|
||||
echo "✗ Failed"
|
||||
[ -f "$temp_file" ] && rm "$temp_file"
|
||||
fi
|
||||
echo ""
|
||||
done
|
||||
|
||||
echo "Finished! Processed $count files."
|
||||
echo "Album Artist set to: $album_artist"
|
||||
echo "Album set to: $album_name"
|
||||
Reference in New Issue
Block a user