mirror of
http://gitea.phreedom.club/localhost_frssoft/funkwlmpv
synced 2024-11-24 16:01:28 +00:00
33 lines
921 B
Bash
Executable file
33 lines
921 B
Bash
Executable file
#!/bin/bash
|
|
|
|
if [ ! -n "$1" ]; then
|
|
echo 'Usage: cache_helper.sh path/to/cache'
|
|
exit 1
|
|
fi
|
|
|
|
total_before=0
|
|
total_after=0
|
|
for i in "$1"/*/*; do
|
|
if [ $(ffprobe -hide_banner -print_format json -select_streams a:0 -show_streams "$i" | jq -r '.streams[0].bit_rate') -gt 128000 ]; then
|
|
size_before=$(stat --format=%s "$i")
|
|
total_before=$(( $total_before + $size_before ))
|
|
ffmpeg -hide_banner -loglevel error -i "$i" -vn "$i".ogg
|
|
if [ $? -eq 0 ]; then
|
|
size_after=$(stat --format=%s "$i".ogg)
|
|
total_after=$(( $total_after + $size_after ))
|
|
|
|
size_reduced=$(( $size_before - $size_after ))
|
|
echo "Reduced: $(echo $size_reduced | numfmt --to=iec)"
|
|
mv "$i".ogg "$i"
|
|
else
|
|
echo "$i convert failed"
|
|
fi
|
|
else
|
|
echo "$i already OK"
|
|
fi
|
|
done
|
|
|
|
echo "Total before: $(echo $total_before | numfmt --to=iec)"
|
|
echo "Total after: $(echo $total_after | numfmt --to=iec)"
|
|
echo "Note: only included processed tracks"
|