YuXin_Liu/图像压缩/conpress.sh

50 lines
1.4 KiB
Bash

#!/bin/bash
# 输入和输出文件夹路径
QUALITY=25
INPUT_FOLDER="input" # 替换为你的输入文件夹路径
OUTPUT_FOLDER="output/$QUALITY" # 替换为你的输出文件夹路径
# 调整需要的质量级别(值越低,质量越好)
# 创建输出文件夹(如果不存在)
mkdir -p "$OUTPUT_FOLDER"
# 记录开始时间
start_time=$(date +%s)
start_time_readable=$(date)
echo "Compression started at: $start_time_readable"
# 遍历输入文件夹中的所有jpg和jpeg文件
for FILE in "$INPUT_FOLDER"/*.{jpg,jpeg,JPG,JPEG}; do
if [ -f "$FILE" ]; then
FILENAME=$(basename "$FILE")
OUTPUT_FILE="$OUTPUT_FOLDER/$FILENAME"
# 使用ffmpeg压缩图像
ffmpeg -i "$FILE" -qscale:v $QUALITY "$OUTPUT_FILE" -y "$OUTPUT_FILE"
echo "Compressed: $FILE -> $OUTPUT_FILE"
fi
done
# 记录结束时间
end_time=$(date +%s)
end_time_readable=$(date)
# 计算运行时间
duration=$((end_time - start_time))
echo "Compression ended at: $end_time_readable"
echo "Total duration: $duration seconds"
# 将日志保存到文件
log_file="compression_log.txt"
echo "Compression started at: $start_time_readable" >> $log_file
echo "Compression ended at: $end_time_readable" >> $log_file
echo "Total duration: $duration seconds" >> $log_file
echo "Compression quality: $QUALITY " >> $log_file
echo "" >> $log_file # 添加一个空行以便于日志的阅读